C语言课设之歌曲信息管理系统.doc_第1页
C语言课设之歌曲信息管理系统.doc_第2页
C语言课设之歌曲信息管理系统.doc_第3页
C语言课设之歌曲信息管理系统.doc_第4页
C语言课设之歌曲信息管理系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

C语言课程设计目 录1、题目要求2、需求分析;3、系统总框图;4、总体设计;5、列出所有定义的函数及说明;6、上机操作7、学习心得前 言 计算机科学技术的发展,不仅极大地促进了整个科学技术的发展,而且明显地加快了经济信息化和社会信息化的进程。因此,计算机教育在全国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。如今,高等教育的计算机教育发展十分迅速。十多年前,只有部分理工科专业开设计算机课程。今天,几乎所有高校的所有专业都开设了程度不同的计算机课程。人们已经认识到,计算机知识已成为当代知识分子知识结构中不可缺少的重要组成部分。而除了掌握计算机的基础知识和操作的基本能力外,掌握一门高级编程语言,并可以熟练运用它,已成为当代大学生综合能力必要组成。计算机技术发展如此迅猛,计算机应用如此广泛,需要学习的东西愈来愈多,而我们的总学时是有限的。一般来说,计算机课程学习可以分为两部分:一部分是理论课程学习,一部分是上机应用实习。根据我们专业的性质和要求,则应侧重于上机操作运用。为此,学校特意在暑期最后一星期安排了32个学时的上机实习。现将一星期的实习内容及结果分析分列如下:歌曲信息管理系统一 题目要求1. 歌曲信息包括歌曲名,作者,演唱者,发行年月等。2. 可以对歌曲信息进行输入,删除,浏览。3. 可以查询歌曲名,作者,演唱者信息。4. 可以提供按作者分组显示功能。二 需求分析根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,替换,修改数据的功能。三 总体设计根据上面的需求分析,可以将这个系统的设计分为如下五大模块:歌曲信息管理系统输入删除退出浏览查询四 详细设计打开上次保存文件进入主菜单函数显示一系列功能选项输入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* * * * * * *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请选择操作种类(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); while(1)printf(请输入歌曲作者:n);scanf(%s,dani.author);printf(请输入歌曲名称:n);scanf(%s,);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(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,)=0)c=j; fclose(fp);fp=fopen(data.txt,wb); for(j=0;jv;j+) 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,);printf(作者:%sn,danj.author);printf(歌手:%sn,danj.singer);printf(发行日期:%sn,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(struct system),1,fp)!=1) break; if(strcmp(,w)=0) printf(曲名:%sn,);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;j100;j+) if(fread(&danj,sizeof(struct system),1,fp)!=1) break; if(strcmp(danj.singer,v)=0) printf(曲名:%sn,);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); 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,);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(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(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 #

温馨提示

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

评论

0/150

提交评论