ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:163KB ,
资源ID:3727414      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3727414.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最佳歌手排行榜数据结构课实训报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最佳歌手排行榜数据结构课实训报告.docx

1、最佳歌手排行榜数据结构课实训报告数据结构实训报告题目:流行歌手排行榜一、课程设计题目:流行歌手排行榜二、问题描述:建立一个流行歌手排行榜。三、问题分析 1、输入的形式:整型数字(范围:0-100),字符型(歌手姓名及歌曲名称) 2、输出的形式:字符型 3、程序所达到的功能: (1)输入歌手信息 (2)显示歌手信息 (3)投票 (4)显示前十名 4、算法涉及的基本理论分析: (1)定义结构体singer;( 2 )switch语句;( 3 )while语句;( 4 )for语句; (5)break语句。 5、题目研究和实现的价值: 通过这个简单的程序初步认识到编程这项工作在将来的程序开发中的作用

2、和价值。四、算法设计1、概要设计各程序模块之间的层次(调用)关系:2、详细设计(1)所有函数的算法描述; 主函数程序: int main() SINGER aN; int n, choice; do choice = choiceItem(); switch (choice) case 1: n = input(a); break; case 2: browse(a, n); break; case 3: Top10(a, n); break; case 4: vote(a, n); break; while (choice!=0); printf(nnBye!); return 0; 显示主

3、菜单程序:void displayMenu() printf(n= 主菜单=n); printf(n 1.输入信息n); printf(n 2.显示信息n); printf(n 3.显示前十名n); printf(n 4.投票n); printf(n 0.返回 n); printf(n选择:);int choiceItem() int choice; char line80; do displayMenu(); gets(line); choice = atoi(line); while (choice4); return choice; 输入信息程序:int input(SINGER s)

4、char buf256; int i = 0; while(1) printf(nPlease Input No Singer_Name Song_Name n); gets(buf); if (buf0 = 0) break; sscanf( buf, %d%s%s, &si.No, si.singer_name, si.name); si+.num = 1; return i; 显示信息程序:void browse(SINGER s , int n) int i; printf(n NumtSinger_NametSong_Namen); for (i=0; in; i+) printf(

5、 %dt%st%sn, si.No, si.singer_name, si.name); 显示前十名程序:void Top10(SINGER s, int n) int i, j, k; SINGER tempN, t; for (i=0; iN; i+) tempi = si; for (i=0; in-1; i+) k = i; for (j=j+1; jn; j+) if (tempk.numtempj.num) k = j; if (k!=i) t = tempi; tempi = tempk; tempk = t; printf(n Singer_NametSong_Namen);

6、for (i=0; i10 & in; i+) printf( %stt%sn, tempi.singer_name, tempi.name); 投票程序:void vote(SINGER s , int n) int i; char buf80; printf(nEnter singerNo :); gets(buf); for (i=0; in; i+) if (si.No=atoi(buf) si.num+; printf(nVote OKn); break; if (i=n) printf(Error No.n);流程图五、算法实现#include #include #define N

7、 100typedef struct singer int No; char singer_name32; char name16; int num; SINGER;void displayMenu();int choiceItem();int input(SINGER s );void browse(SINGER s , int n);void Top10(SINGER s , int n);void vote(SINGER s , int n);int main() SINGER aN; int n, choice; do choice = choiceItem(); switch (ch

8、oice) case 1: n = input(a); break; case 2: browse(a, n); break; case 3: vote(a, n); break; case 4: Top10(a, n); break; while (choice!=0); printf(nnBye!); return 0;void displayMenu() printf(n= Menu =n); printf(n 1=录入歌手信息=n); printf(n 2=显示流行歌手排行榜=n); printf(n 3=投票=n); printf(n 4=显示人气歌手排行=n); printf(n

9、0=退出=n); printf(n请选择:);int choiceItem() int choice; char line80; do displayMenu(); gets(line); choice = atoi(line); while (choice4); return choice;int input(SINGER s) char buf256; int i = 0; while(1) printf(n请输入 序号 歌手姓名 歌曲名称 n); gets(buf); if (buf0 = 0) break; sscanf( buf, %d%s%s, &si.No, si.singer_

10、name, si.name); si+.num = 1; return i; void browse(SINGER s , int n) int i; printf(n 序号t歌手姓名t歌曲姓名n); for (i=0; in; i+) printf( %dt%5st%12sn, si.No, si.singer_name, si.name);void vote(SINGER s , int n) int i; char buf80; printf(n请输入你想投给的歌手序号 :); gets(buf); for (i=0; in; i+) if (si.No=atoi(buf) si.num

11、+; printf(nVote OKn); break; if (i=n) printf(Error No.n);void Top10(SINGER s, int n) int i,k, j = 0; SINGER tempN, t; for (i=0; iN; i+) tempi = si; for (i=0; in-1; i+) k = i; for (j=j+1; jn; j+) if (tempk.numtempj.num) k = j; if (k!=i) t = tempi; tempi = tempk; tempk = t; printf(n 歌手姓名t歌曲姓名n); for (

12、i=0; i10 & in; i+) printf( %stt%sn, tempi.singer_name, tempi.name);六、软件测试具体情况见截屏或运行程序。歌手排行榜.c日志.doc7、技术讨论根据题目要求的功能实现,首先应该要考虑整个程序的结构,继而写出整个程序界面的主菜单,根据菜单列出的各项功能,编出相应的算法其中应用到for循环,while循环语句以及switch选择分支语句,定义歌手的信息,必然要用到结构体类型,而且为了实现程序功能,还必须写出主函数以及对主函数进行调用。八、收获与体会 通过一周的实践周,我们颇有收获。在分组时我们认识到了要学会团结分工合作,任务不是个人的,而是我们每个人都应尽力去做的。同时在编译算法的时候,我们学会了运用书本上的知识以及来自互联网的各种信息,从中采取一些相关知识得以运用。当然编译时常常会出现错误,我们在一起纠正错误同时找到了一些窍门得以提高效率。在撰写实训报告时我们相互帮助分工合作。总之,在工作过程中让我们在提高专业技能的同时互相交流增进友谊。9、软件运行的部分截图及说明 1 主菜单显示截图: 2 录入歌手信息截图:3 显示流行歌手排行榜截图4 为歌手投票截图5 显示人气歌手排行榜截图6 退出截图参考文献C程序设计教程潭浩强数据结构(C语言描述)徐孝凯 贺桂英网络

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1