《C语言课设之歌曲信息管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课设之歌曲信息管理系统.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言课程设计目 录1、题目要求2、需求分析;3、系统总框图;4、总体设计;5、列出所有定义的函数及说明;6、上机操作7、学习心得前 言 计算机科学技术的发展,不仅极大地促进了整个科学技术的发展,而且明显地加快了经济信息化和社会信息化的进程。因此,计算机教育在全国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。如今,高等教育的计算机教育发展十分迅速。十多年前,只有部分理工科专业开设计算机课程。今天,几乎所有高校的所有专业都开设了程度不同的计算机课程。人们已经认识到,计算机知识已成为当代知识分子知识结构中不可缺少的重要组成部分。而除了掌握计算机的基础知识和操作的基本能力外,掌握一
2、门高级编程语言,并可以熟练运用它,已成为当代大学生综合能力必要组成。计算机技术发展如此迅猛,计算机应用如此广泛,需要学习的东西愈来愈多,而我们的总学时是有限的。一般来说,计算机课程学习可以分为两部分:一部分是理论课程学习,一部分是上机应用实习。根据我们专业的性质和要求,则应侧重于上机操作运用。为此,学校特意在暑期最后一星期安排了32个学时的上机实习。现将一星期的实习内容及结果分析分列如下:歌曲信息管理系统一 题目要求1. 歌曲信息包括歌曲名,作者,演唱者,发行年月等。2. 可以对歌曲信息进行输入,删除,浏览。3. 可以查询歌曲名,作者,演唱者信息。4. 可以提供按作者分组显示功能。5. 用文件
3、存储信息.二 需求分析根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,替换,修改数据的功能。三 总体设计根据上面的需求分析,可以将这个系统的设计分为如下五大模块:歌曲信息管理系统输入删除退出浏览查询四 详细设计打开上次保存文件进入主菜单函数进入主菜单函数显示一系列功能选项输入n,判断n是否是0-6根据n的值调用各功能模块函数是否具体程序:1.Main函数main()int a;while(1) printf(tt=n); printf(tt -5407328 20071004192 戴敏泽n);printf(tt*n);printf(tt* * * *
4、 * * *n);printf(tt* * * * * * * *n);printf(tt* * * * * * * *n);printf(tt* * * * * * * *n); printf(tt* * * * * * *n);printf(tt* * * * * *n);printf(tt*=系统菜单=*nn); printf(ttt(1).歌曲输入n); printf(ttt(2).歌曲删除n); printf(ttt(3).歌曲浏览n); printf(ttt(4).歌曲查询n); printf(ttt(0).退出n); printf(tt*n); printf(nttt请选择操作种
5、类(0-4):);scanf(%d,&a);if(a=0) break;switch(a)case 1:enter();break;case 2:delete();break;case 3:browse();break;case 4:search();break;2. 输入函数 void enter()int j;char c2;FILE *fp; if(fp=fopen(data.txt,w)=NULL)printf(Can not open the file!n);exit(0);for(j=0;ji;j+) fwrite(&danj,sizeof(struct system),1,fp)
6、; while(1)printf(请输入歌曲作者:n);scanf(%s,dani.author);printf(请输入歌曲名称:n);scanf(%s,dani.name);printf(请输入歌手:n);scanf(%s,dani.singer);printf(请输入发行日期:n);scanf(%s,dani.time);if(fwrite(&dani+,sizeof(struct system),1,fp)!=1)printf(文件书写错误!n);else printf(操作成功!n);printf(是否继续输入?( Yesy/Non) n);scanf(%s,c);if(strcmp(
7、c,n)=0)break; fclose(fp);3. 删除函数 void delete() int j,v,c;char w20; FILE *fp;printf(请输入你想要删除的歌曲名称:);scanf(%s,w); fp=fopen(data.txt,rb); for(j=0;j100;j+) if(fread(&danj,sizeof(struct system),1,fp)!=1) break;v=j;for(j=0;jv;j+) if(strcmp(w,danj.name)=0)c=j; fclose(fp);fp=fopen(data.txt,wb); for(j=0;jv;j
8、+) if(j!=c) fwrite(&danj,sizeof(struct system),1,fp); fclose(fp);printf(删除成功!n);i-;4. 浏览函数 void browse() int j; FILE *fp; fp=fopen(data.txt,rb); for(j=0;j100;j+) if(fread(&danj,sizeof(struct system),1,fp)=1)printf(曲名:%sn,danj.name);printf(作者:%sn,danj.author);printf(歌手:%sn,danj.singer);printf(发行日期:%s
9、n,danj.time);printf(-n);else break; fclose(fp);5. 查询函数 void search() int flag,j,x;char w20;FILE *fp;char v20; printf(1)按作者n); printf(2)按歌手n);printf(3)按曲名n);printf(请选择操作方式:n);scanf(%d,&x); if(x=3) flag=0;printf(请输入歌曲名称:); scanf(%s,&w); fp=fopen(data.txt,rb); for(j=0;j100;j+) if(fread(&danj,sizeof(str
10、uct system),1,fp)!=1) break; if(strcmp(danj.name,w)=0) printf(曲名:%sn,danj.name);printf(作者:%sn,danj.author);printf(歌手:%sn,danj.singer);printf(发行日期:%sn,danj.time);printf(-n);flag=1; if(flag=0)printf(未找到歌曲!n); fclose(fp);else if(x=2) flag=0;printf(请输入歌手:); scanf(%s,&v); fp=fopen(data.txt,rb); for(j=0;j
11、100;j+) if(fread(&danj,sizeof(struct system),1,fp)!=1) break; if(strcmp(danj.singer,v)=0) printf(曲名:%sn,danj.name);printf(作者:%sn,danj.author);printf(歌手:%sn,danj.singer);printf(发行日期:%sn,danj.time);printf(-n);flag=1; if(flag=0)printf(未找到歌曲!n); fclose(fp); else if(x=1) flag=0;printf(请输入作者:); scanf(%s,w
12、); fp=fopen(data.txt,rb); for(j=0;j100;j+) if(fread(&danj,sizeof(struct system),1,fp)!=1) break; if(strcmp(danj.author,w)=0) printf(曲名:%sn,danj.name);printf(作者:%sn,danj.author);printf(歌手:%sn,danj.singer);printf(发行日期:%sn,danj.time);printf(-n);flag=1; if(flag=0)printf(未找到歌曲!n); fclose(fp);else printf(
13、Error!n); main()int a;while(1) printf(tt=n); printf(tt -5407328 20071004192 戴敏泽n);printf(tt*n);printf(tt* * * * * * *n);printf(tt* * * * * * * *n);printf(tt* * * * * * * *n);printf(tt* * * * * * * *n); printf(tt* * * * * * *n);printf(tt* * * * * *n);printf(tt*=系统菜单=*nn); printf(ttt(1).歌曲输入n); printf
14、(ttt(2).歌曲删除n); printf(ttt(3).歌曲浏览n); printf(ttt(4).歌曲查询n); printf(ttt(0).退出n); printf(tt*n); printf(nttt请选择操作种类(0-4):);scanf(%d,&a);if(a=0) break;switch(a)case 1:enter();break;case 2:delete();break;case 3:browse();break;case 4:search();break;五具体补充说明1.首先定义一个结构体#include #include #include #include int
15、 i=0;struct system char author20;char singer20;char time20;char name20; dan100; 2.其次定义主函数,并且构造四大模块函数输入歌曲信息对歌曲信息进行编辑修改浏览歌曲信息查询歌曲信息3.保存模块流程图 提示是否保存是否保存保存退出是否六上机操作1 主菜单函数2 输入模块3删除模块4浏览模块 5查询模块19 模询块块模模模函操操退保保保否否是存保是存程模存信曲信曲修修行信曲息曲查息歌改编进曲息函块四且函定. 0 0= . 构个一说充 ; : ;) : = )& )(种请 )* ( )出) )查歌( ) 浏曲( ) 删.
16、) 输歌( ) *=菜=* ) * * * * ) * * ( * * ) * * ) * * * * * )* * * ) * ) 敏 00 0- ) =询息来 =( ( ) ) ;!到找 00 = )- ) . %日 ) . : ) . ,:作 ) 名( )= ( ; ), ( & )+0 ;(; ; ( ;作输 0= )( ) ;歌 0= ( )-( ) . %期发 ) . ,%歌 ) %作 ) . %名 )= . ; ) & )+00 ; ( ; ;)歌入 0 )= ) ;!歌未 0= = ) -( ) %期发 ) , %歌( ) . ) %名( )0 . ; ) ) , ( )+;0
17、 ;,. ( = ;), ;称入请( 0 ) ;) ) 式操择 ) 曲)( ) 手 ( ;)者按( ; , ) 函) )-( ) . 期发 ) :手 ) . ,: ) . ,%名 = )+ ;(; . ( =; ;) 函-) 功删 ) ; , & ) ();=; ( ) ;=0= . ( )+;= =) ()+;=* ) * * * ) * * * * * * ( ) * * * * ( ) * * * * ) * * * ) * ) 0 - ) =统查曲来欢= ( 函 序函块各调-是是,选列否是数模用的 是断,输选列函函函单函菜进数 菜文保件文次设查浏退删输系管询览退删输统理息求要目块模析下分的这可析的设能的改换,具文还等输入件以储形文据求分息储能示分按息者,曲览,输信等年发者者曲包要系管下如分结容实习机时 了期最在校,。操机应则要业们。用上部一学是分部两习程计,。限时们我愈西学需此应计迅如发成组能生大为它练以,编级掌力本的知基计掌而成要缺中识子代成知算到已。课计度设都有的乎,。机开专工部年多分十教的教一素基素人 已能机算视备在计因进息社化经加显,的技整促极,的技言 心习操操上明及的定所计体图框统