QQ音乐管理系统.docx
- 文档编号:4090669
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:28
- 大小:188.18KB
QQ音乐管理系统.docx
《QQ音乐管理系统.docx》由会员分享,可在线阅读,更多相关《QQ音乐管理系统.docx(28页珍藏版)》请在冰点文库上搜索。
QQ音乐管理系统
设计总说明
本课程设计是在学习了C++和C语言等有关课程后,通过实际的操作来熟悉相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。
音乐管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
音乐管理系统的开发运用,实现了音乐管理的自动化,本系统根据实际情况开发,用于对音乐信息的管理,来实现对用户的服务。
系统完成了日常的娱乐中对用户的数字化管理。
较为系统地对试听列表、音乐信息和分类信息进行管理。
查询、增添、删除都变的非常简便,减少了管理的工作量。
基于用户数量众多,为了数据的安全性,系统将音乐数据保存在文件夹中,以VisualC++设计前台对系统进行设计。
因为音乐管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。
C++作为前台是将源程序中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。
所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。
关键词:
音乐管理系统;VisualC++;MFC
第1章绪论
1.1选题背景
当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体——Internet,它打破了地域时间限制,改变了人们的工作和生活方式,,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化.计算机在管理中应用的普及,利用计算机实现各种管理势在必行,那我们现在如何管理与我们联系的人的信息呢?
有多种方式,比如说,有储存歌曲到手机上的,有记录歌词等信息到笔记本上的,还有用名片夹存放名片的,也有记录在WORD文档中或打印出来的,等等很多种形式。
对于存储音乐到手机上的方式,比较方便,随时随地可以听,不过只能通过手机保存,没有其他的备份,如果手机丢了就得再从新下载;对于记录歌词信息到本子上的方式,第一也可能丢失本子,第二是查找起来比较困难,需要人工查找,而且更新时不容易,需要涂改以前记录的信息,第三格式比较死板,不利于跟随用户的需求扩展;对于用名片夹存放名片的形式也是查找起来不方便,有丢失的危险;对于记录到WORD文档或打印出来的,也是扩展性不强,查找起来不方便。
如此多的方式我们都感觉有一定的缺陷,我们通过界面编程和数据库技术相结合,界面操作使使用和维护音乐管理更加简单、方便,MFC的使用可以使数据的保存更加安全,而且数据库也可以对数据进行导入、导出、打印等功能的实现更加方便。
1.2目的和意义
当今时代,是一个信息的时代,对数据的维护,成为一个越来越复杂的问题,如何使数据的保存和维护不成为一种负担呢?
MFC界面编程使数据的维护效率大大提高和降低维护成本。
一个班级、一个学校、一个公司等,对人员基本信息的维护,都是一个庞大的工作。
本系统中的歌曲添加、歌曲评论、歌曲删除等功能,使得管理员对歌曲信息的维护更加简单,使得用户对自己的歌曲信息维护和查询更加方便。
数据库的使用让数据的大量传输、备份更高效,数据的安全性更高。
第2章课程设计说明书正文
2.1总体设计方案
2.1.1功能设计框图
图2.1音乐管理系统功能设计框图
2.1.2方案的论证
制作一个小型的音乐管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的登录和退出。
系统的设计要求用到C++面向对象的程序设计,要求用到类来实现,同时每一个功能用到一个函数。
基本功能:
歌曲基本信息(歌曲名称,歌手,专辑,分类信息,年代,等)
歌曲统计(试听列表,年冠军,周冠军,满意程度等)
扩展功能:
歌曲信息的添加、查询、与删除
歌曲信息的读取与存储
系统特点:
系统要能够对相应的数据进行很好的测试,系统的统计有对每一首的总评价,系统数据的录入除可以手工录入外,还可以采用文件的录入;系统统计歌曲的基本信息较全面,程序中查找运用了多种查找方式即歌曲名称查找,歌手查找,专辑查找,分类信息查找,年代查找。
2.2程序设计与分析
程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。
程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。
专业的程序设计人员常被称为程序员。
2.2.1语言的分类
程序设计语言的基本成分有:
①数据成分,用于描述程序所涉及的数据;②运算成分,用以描述程序中所包含的运算;③控制成分,用以描述程序中所包含的控制;④传输成分,用以表达程序中数据的传输。
程序设计语言计算机IT按照语言级别可以分为低级语言和高级语言。
低级语言有机器语言和汇编语言。
低级语言与特定的机器有关、功效高,但使用复杂、繁琐、费时、易出差错。
机器语言是表示成数码形式的机器基本指令集,或者是操作码经过符号化的基本指令集。
汇编语言是机器语言中地址部分符号化的结果,或进一步包括宏构造。
高级语言的表示方法要比低级语言更接近于待解问题的表示方法,其特点是在一定程度上与具体机器无关,易学、易用、易维护。
程序设计语言按照用户的要求有过程式语言和非过程式语言之分。
过程式语言的主要特征是,用户可以指明一列可顺序执行的运算,以表示相应的计算过程。
按照应用范围,有通用语言与专用语言之分。
目标单一的语言称为专用语言。
按照使用方式,有交互式语言和非交互式语言之分。
具有反映人机交互作用的语言成分的语言成为交互式语言。
不反映人机交互作用的语言称为非交互式语言。
按照成分性质,有顺序语言、并发语言和分布语言之分。
只含顺序成分的语言称为顺序语言C语言就是其中之一。
含有并发成分的语言称为并发语言。
程序设计语言是软件的重要方面,其发展趋势是模块化、简明化、形式化、并行化和可视化。
程序设计语言还分为面向对象和面向过程,面向对象的例如:
C++。
面向过程的例如:
C语言
2.2.2登录模板
图2.2登录界面
//Dialog1.cpp:
implementationfile
//
#include"stdafx.h"
#include"扣扣音乐管理系统,.h"
#include"Dialog1.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CDialog1dialog
CDialog1:
:
CDialog1(CWnd*pParent/*=NULL*/)
:
CDialog(CDialog1:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(CDialog1)
//NOTE:
theClassWizardwilladdmemberinitializationhere
//}}AFX_DATA_INIT
}
voidCDialog1:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDialog1)
//NOTE:
theClassWizardwilladdDDXandDDVcallshere
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDialog1,CDialog)
//{{AFX_MSG_MAP(CDialog1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CDialog1messagehandlers
voidCDialog1:
:
OnOK()
{
//TODO:
Addextravalidationhere
//CDialog:
:
OnOK();
}
2.2.3主窗体模板
图2.3主界面
//扣扣音乐管理系统,Dlg.cpp:
implementationfile
//
#include"stdafx.h"
#include"扣扣音乐管理系统,.h"
#include"扣扣音乐管理系统,Dlg.h"
#include"Dialog1.h"
#include"koko.h"
#include"fstream.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
//#include"CDialog1.h"
/////////////////////////////////////////////////////////////////////////////
//CMyDlgdialog
CMyDlg:
:
CMyDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CMyDlg:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(CMyDlg)
m_cc=FALSE;
m_dd=FALSE;
m_ee=FALSE;
//}}AFX_DATA_INIT
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
voidCMyDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMyDlg,CDialog)
//{{AFX_MSG_MAP(CMyDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_CANCELMODE()
ON_BN_CLICKED(IDC_BUTTON1,OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CMyDlgmessagehandlers
BOOLCMyDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);//Setbigicon
SetIcon(m_hIcon,FALSE);//Setsmallicon
//TODO:
Addextrainitializationhere
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
}
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
voidCMyDlg:
:
OnPaint()
{
if(IsIconic())
{
CPaintDCdc(this);//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
}
else
{
CDialog:
:
OnPaint();
}
}
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCMyDlg:
:
OnQueryDragIcon()
{
return(HCURSOR)m_hIcon;
}
voidCMyDlg:
:
OnOK()
{
//TODO:
Addextravalidationhere
CDialog:
:
OnOK();
//CDialog1dlg1;
//if(dlg1.DoModal()==IDOK)
//AfxMessageBox("点击登录系统按钮");
//e//lse
//AfxMessageBox("点击退出系统按钮");
}
voidCMyDlg:
:
OnCancelMode()
{
CDialog:
:
OnCancelMode();
//TODO:
Addyourmessagehandlercodehere
}
voidCMyDlg:
:
OnButton1()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
kokog;
g.DoModal();
}
voidCMyDlg:
:
OnCheck3()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMyDlg:
:
OnButton5()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
}
2.2.4添加及查询模板
图2.4功能界面
//koko.cpp:
implementationfile
//
#include"stdafx.h"
#include"扣扣音乐管理系统,.h"
#include"koko.h"
#include"Dialog4.h"
#include"Dialog3.h"
#include"fstream.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
#include"m_bao.h"
/////////////////////////////////////////////////////////////////////////////
//kokodialog
koko:
:
koko(CWnd*pParent/*=NULL*/)
:
CDialog(koko:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(koko)
m_edit1=_T("");
m_edit2=_T("");
m_edit3=_T("");
m_edit4=_T("");
m_edit5=_T("");
//}}AFX_DATA_INIT
}
voidkoko:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(koko)
DDX_Control(pDX,IDC_LIST2,m_list2);
DDX_Text(pDX,IDC_EDIT1,m_edit1);
DDX_Text(pDX,IDC_EDIT2,m_edit2);
DDX_Text(pDX,IDC_EDIT3,m_edit3);
DDX_Text(pDX,IDC_EDIT4,m_edit4);
DDX_Text(pDX,IDC_EDIT5,m_edit5);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(koko,CDialog)
//{{AFX_MSG_MAP(koko)
ON_WM_CANCELMODE()
ON_WM_CAPTURECHANGED()
ON_NOTIFY(NM_CLICK,IDC_LIST2,OnClickList2)
ON_BN_CLICKED(IDC_BUTTON1,OnButton1)
ON_BN_CLICKED(IDC_BUTTON2,OnButton2)
ON_BN_CLICKED(IDC_BUTTON4,OnButton4)
ON_BN_CLICKED(IDC_BUTTON3,OnButton3)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//kokomessagehandlers
BOOLkoko:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//TODO:
Addextrainitializationhere
m_list2.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);
m_list2.InsertColumn(0,"歌曲名称",LVCFMT_LEFT,100,0);
m_list2.InsertColumn(1,"歌手",LVCFMT_LEFT,100,1);
m_list2.InsertColumn(2,"专辑",LVCFMT_LEFT,100,2);
m_list2.InsertColumn(3,"分类信息",LVCFMT_LEFT,100,3);
m_list2.InsertColumn(4,"年代",LVCFMT_LEFT,100,4);
m_list2.DeleteAllItems();
m_list2.InsertItem(0,"冬天的秘密",0);
m_list2.SetItemText(0,1,"周传雄");
m_list2.SetItemText(0,2,"恋人创世纪");
m_list2.SetItemText(0,3,"流行");
m_list2.SetItemText(0,4,"2002");
m_list2.InsertItem(1,"分手快乐",0);
m_list2.SetItemText(1,1,"梁静茹");
m_list2.SetItemText(1,2,"情歌101");
m_list2.SetItemText(1,3,"Other");
m_list2.SetItemText(1,4,"2001");
m_list2.InsertItem(2,"你不知道的事",0);
m_list2.SetItemText(2,1,"王力宏");
m_list2.SetItemText(2,2,"火力全开");
m_list2.SetItemText(2,3,"Other");
m_list2.SetItemText(2,4,"2009");
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
}
voidkoko:
:
OnCancelMode()
{
CDialog:
:
OnCancelMode();
//TODO:
Addyourmessagehandlercodehere
}
voidkoko:
:
OnCaptureChanged(CWnd*pWnd)
{
//TODO:
Addyourmessagehandlercodehere
CDialog:
:
OnCaptureChanged(pWnd);
}
voidkoko:
:
OnClickList2(NMHDR*pNMHDR,LRESULT*pResult)
{
//TODO:
Addyourcontrolnotificationhandlercodehere
*pResult=0;
}
voidkoko:
:
OnButton1()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData(true);
m_baoa;
a.DoModal();
}
voidkoko:
:
OnButton4()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QQ 音乐 管理 系统