C语言程序设计报告-歌曲信息管理系统_第1页
C语言程序设计报告-歌曲信息管理系统_第2页
C语言程序设计报告-歌曲信息管理系统_第3页
C语言程序设计报告-歌曲信息管理系统_第4页
C语言程序设计报告-歌曲信息管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计级言序计课设说书、目录设题 、主数 、输模 4页脚内容课程设计、删模 、浏模 6、查模 6、各调数 7、设小 8、源序码 歌信管系设1、求析用文件存储信息,因而要提供文件的输入出操作;可对歌曲信息进行输入、删除、浏 览,而要提文件的输入、删除和信息显示操作;查询歌曲信息要提供查找操作;实现按 作者分组显功能则要提供排序功能;另外要提供键盘式选择菜单以实 现功能选择。页脚内容课程设计2、体计整个管理系统可以被设计为数据输入模块数据删除模块、信息浏览模 块、信息查询模块和信息分组显示模块。3、细计数据结构采用结构体,建立歌曲信息结构体:Struct SongInfo Char name20

2、; 歌曲名Char author20; 作Char singer20; 演者Char pub_date6; 发年月yyyymm)SI;(1) 数据输入模块 把歌曲信息写入文件。(2) 数据删除模块 采用基本的查找算法,查找歌曲信息文件,如果是要删除的歌曲 则舍弃改信息。否则 重新写入文件。(3) 信息浏览模块 读歌曲信息文件,显示输出。(4) 信息查询模块 通过菜单选择查询字段:歌曲名 作 演者。 然采用基本查找 算法在歌曲信息 文件查找,果找到,则输出;否则输不起,没有您要找的歌曲信 息 (5) 信息分组显示模块 选按作者分组显示歌曲信息 fread 或 fscanf 把曲信息文件中的信息读

3、取到临时 变(临时变量数据结构可以采用歌曲信息结构体数组) 采 用排序算法(冒泡、插入、 选等)把歌曲信息按照作者排序,然后输出。页脚内容课程设计一: 详细设计1主函数主函数的设计提供数据输入、数据处理和数据输出以及各种函数的调用。其中各功能模块用菜单方式选择;另外,部分菜单也可以写成函数。 程序void main()void menu();void function1();void function2();void function3();void function4();menu();return;2(1)输入模块信息输入时直接按顺序结构(如图 )输入: void input() char

4、 ch;n=0;if(fp=fopen(song.txt,a)=NULL)printf(cant open song.txt);exit(0);页脚内容课程设计printf(Please a record:);for(n=0;n=50;)printf(nrecord %d:n 歌名:,n+1);gets();printf(n 时间);gets(songn.year);printf(n 作者);gets(songn.author);printf(n 歌手);gets(songn.singer);n+;printf(继续输入吗 (y/n)n);ch=getchar();getc

5、har();if(ch=n)break;fwrite(song,sizeof(song0),n,fp);fclose(fp);2 删除模块:用户输入要删除的信息,如输入歌曲名 ,根据歌曲名找到其他记录并删除。 程序/*删除模块*/void del()页脚内容课程设计int m,k=0;long a;char namekey8;printf(n 请输入您要删除的歌曲名);scanf(%s,namekey);if(fp=fopen(song.txt,r+)=NULL)printf(n 不能打开该文件!exit(0);while(!feof(fp)a=ftell(fp);fscanf(fp,%6s

6、%5s %5s %10sn,,songn.year,songn.author,songn.singer);if(strcmp(namekey,)=0)k=1;break;if(k=1)printf(n 已查到,记录为);printf(n%6s %5s %5s %10sn,,songn.year,songn.author,songn.singer);printf(n 确实要删除按 1;不删除,按 0);页脚内容课程设计scanf(%d,&m);if(m=1)fseek(fp,a,0);fprintf(fp,%s %s %s %sn, ,

7、 , , ); elseprintf(n 对不起,查无此人。fclose(fp);3浏览模块:在用户按下菜单后直接显示出所有歌曲信息。 void xianshi() n=0;if(fp=fopen(song.txt,rb)=NULL)printf(cant open file song.txt); exit(0);printf(歌名t作者t歌手时间n);while(fread(&songn,sizeof(songn),1,fp)=1)printf(%6s %5s %10s %5sn,,songn.author,songn.singer,songn.year);页脚内容课程设

8、计n+;fclose(fp);4查找模块:用户输入要查找的歌曲名或歌曲的任意信息,按菜单键。void searchname() int a=0; ch; n=0;if(fp=fopen(song.txt,rb)=NULL)printf(can open the file.n );exit(0);while(fread(&songn,sizeof(songn),1,fp)=1)n+;a=n;printf(用什么方式询?printf(1.歌名 2.时间 3.歌手n);ch=getchar();getchar();switch(ch)case 1:printf( 输入你要查的歌名:n);gets(n

9、umstr);for(n=0;na;)页脚内容课程设计if(!strcmp(numstr,)break;n+;break;case 2:printf(输入你要查歌曲时间n); gets(numstr);for(n=0;na;)if(atol(numstr)=songn.year)break;n+;break;case 3:printf(输入你要查歌手n); gets(numstr);for(n=0;na;)if(!strcmp(numstr,songn.singer)break;n+;break;printf(歌名作者歌手时间 n);页脚内容课程设计printf(%6s %

10、5s %5s %10sn,,songn.year,songn.author,songn.singer);fclose(fp);6 各种被调函数(1)insert 函数:数据的插入,用于个人的信息的补录,包括姓名、工作单位、 电话号码和 email 地址。(2)del 函数:用于通讯录中个人信息的删除。(3)change 函数:用于通讯录中个人信息的修改,输入人名,对人名所对应的 机构体内容进行修改(包括姓名、工作单位、电话号码和 email 信息 (4)searchname 函数:用于输入姓名查找个人信息。如果通讯录中没有此人信 息,显示“查无此人(5)searchnum

11、函数:用于输入电话号码查询个人信息。如果通讯录中没此人 信息,显示“查无此人(6)show 函数:用于个人全部信息的显示。(7)income 函数:用于所有原始个人信息的录入(包括姓名、电话号码、工作 单位和 email 地址设计小结 本程序大体参考与网上信息,说实话,这程序我无法完成,但又必须做即使不会或者做不完美但是也要尽力去做做这个程序是要我们能 够使用所学的内容,这次设计,让我重新掌握了 语言,而且还得到了用 C 语言解决实际问题的宝贵经验也从中学到了很多东西让我懂得了做什么事都要有耐心要有对什么事都认真仔细的品质让我学会了很多以前不懂的东西使我更 加意识到实践的重要性!页脚内容课程设计三 :原程 int i=0; singer20; time20; name20; int j; c2; 页脚内容课程设计 not the input the input the input the input the wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论