欢迎来到天天文库
浏览记录
ID:42301095
大小:74.50 KB
页数:18页
时间:2019-09-12
《C语言程序设计报告—歌曲信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、.《高级语言程序设计》课程设计说明书设计题目:歌曲信息管理系统设计目录1、设计题目·····································32、主函数·······································4..1、输入模块·····································42、删除模块·····································53、浏览模块·····································64、查
2、找模块·····································65、各被调函数···································76、设计小结·····································87、源程序代码···································8..歌曲信息管理系统设计1、需求分析:用文件存储信息,因而要提供文件的输入输出操作;可对歌曲信息进行输入、删除、浏览,因而要提供文件的输入、删除和信息显示操作;查询歌曲信息要提供查
3、找操作;实现按作者分组显示功能则要提供排序功能;另外要提供键盘式选择菜单以实现功能选择。2、总体设计:整个管理系统可以被设计为数据输入模块、数据删除模块、信息浏览模块、信息查询模块和信息分组显示模块。3、详细设计数据结构采用结构体,建立歌曲信息结构体:StructSongInfo{Charname[20];//歌曲名Charauthor[20];//作者Charsinger[20];//演唱者Charpub_date[6];//发行年月(yyyymm)}SI;(1)数据输入模块把歌曲信息写入文件。(2)数据删除模块采
4、用基本的查找算法,查找歌曲信息文件,如果是要删除的歌曲,则舍弃改信息。否则重新写入文件。(3)信息浏览模块读歌曲信息文件,显示输出。(4)信息查询模块通过菜单选择查询字段:歌曲名作者演唱者。然后采用基本查找算法在歌曲信息文件中查找,如果找到,则输出;否则输出“对不起,没有您要找的歌曲信息!。”(5)信息分组显示模块选择按作者分组显示歌曲信息,用fread或fscanf把歌曲信息文件中的信息读取到临时变量中(临时变量数据结构可以采用歌曲信息结构体数组),采用排序算法(冒泡、插入、选择等)把歌曲信息按照作者排序,然后输出
5、。..一:详细设计1主函数主函数的设计提供数据输入、数据处理和数据输出以及各种函数的调用。其中各功能模块用菜单方式选择;另外,部分菜单也可以写成函数。[程序]voidmain(){voidmenu();voidfunction1();voidfunction2();voidfunction3();voidfunction4();menu();return;}2各功能模块设计(1)输入模块信息输入时直接按顺序结构(如图2)输入:voidinput(){charch;n=0;if((fp=fopen("song.txt"
6、,"a"))==NULL){printf("can'topenfilesong.txt");exit(0);}printf("Pleaseinputarecord:");for(n=0;n<=50;){printf("record%d:歌名:",n+1);gets(song[n].name);printf("时间:");gets(song[n].year);printf("作者:");gets(song[n].author);printf("歌手:");gets(song[n].singer);n
7、++;printf("继续输入吗?(y/n)");ch=getchar();getchar();..if(ch=='n')break;}fwrite(song,sizeof(song[0]),n,fp);fclose(fp);}2删除模块:用户输入要删除的信息,如输入歌曲名,根据歌曲名找到其他记录并删除。[程序]/******************删除模块*************************/voiddel(){intm,k=0;longa;charnamekey[8];printf("请输入
8、您要删除的歌曲名:");scanf("%s",namekey);if((fp=fopen("song.txt","r+"))==NULL){printf("不能打开该文件!");exit(0);}while(!feof(fp)){a=ftell(fp);fscanf(fp,"%6s%5s%5s%10s",song[n].name,son
此文档下载收益归作者所有