C语言课程设计投票程序系统设计.pdf
《C语言课程设计投票程序系统设计.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计投票程序系统设计.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 程序设计实习报告题目:C 语言投票程序.目录目录一、课程设计题目描述与要求3二、需求与个人设计思想4三、流程图四、我的程序设计(源程序)程序运行情况五、总结与修改关于程序实行问题及可能的解决方法修改后程序运行情况修改后的程序优点心得与体会;568999121315.C C 语言投票程序语言投票程序一、课程设计题目描述与要求一、课程设计题目描述与要求要求:设有代号为 a、b、c 的足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分 5、3、2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若
2、最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X 当选冠军!”。例如:投票人数:5输入投票内容:a b cc a bc a a该票无效!c b ab c a三位候选人得分:a:12b:13c:15祝贺 c 当选冠军!提示:数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向;.二、需求与个人设计思想需求与个人设计思想【需求】此程序意在评出得分最高的“足球先生”,要求编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。【个人设计思想】通过结构体数组 struct candidate Cadt3来存储三位候
3、选人的基本信息:代号、得分。在用一个一维数组来存储投票内容代表投票内容(顺序),通过循环语句 while,for和一个没有参数的 getchar 函数(字符输入函数)从终端输入投票内容,处理后得到最终三位候选人得分,比较得到最终结果,评出得分最高的一名候选人,即为“足球先生”。在过程中,当遇到一张选票上写有两个代号相同时应显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X 当选冠军!”。三、三、流程图流程图1、整体流程图“足球先生”投票程序结构体数组引用投票内容输入数据处理数据比较名次排序输出;.图图 7 71 12、主函数流程图:开始请问共有多少人
4、进行投票输入投票人数输入投票人数同一张票上存在相同代号统计票数显示“此票无效”存在相同票数?输出“祝贺 X 当选冠军”图图 7 72 2;.四、我的程序设计(源程序)四、我的程序设计(源程序)#includestruct candidate/定义结构体char name;/名字int score;/分数;struct candidate Cadt3=a,0,b,0,c,0;void main()int i,j,num;char vote3,s;printf(请问共有多少人投票?n);scanf(%d,&num);while(num-)for(i=0;i3;i+)s=getchar();whil
5、e(s!=a&s!=b&s!=c)s=getchar();votei=s;if(vote0+vote1+vote2!=a+b+c)/判断选票上是否有重复代码printf(该票无效!n);continue;elsefor(j=0;j3;j+);.if(vote0=Cadtj.name)Cadtj.score+=5;if(vote1=Cadtj.name)Cadtj.score+=3;if(vote2=Cadtj.name)Cadtj.score+=2;printf(三位候选人得分:n);for(j=0;j3;j+)printf(%c:%dn,Cadtj.name,Cadtj.score);if(
6、Cadt0.score=Cadt1.score|Cadt1.score=Cadt2.score|Cadt2.score=Cadt0.score)printf(please vote againe.n);elseif(Cadt0.scoreCadt1.score)Cadt0.name=Cadt1.name;if(Cadt0.scoreCadt2.score)Cadt0.name=Cadt2.name;printf(祝贺%c 当选冠军.n,Cadt0.name);程序运行情况如下:;.(1)当遇到一张选票上写有两个代号相同时成功显示“该票无效”:图图 7 73 3(2)显示最终结果:图图 7 74
7、 4;.五、总结与修改五、总结与修改暑假期间,通过八天的 C 语言程序设计实习,我重新温习了 C 语言,更是对 C 语言有了更新的认识,更为深层次的认识。以下几点是我在实习期间遇到的问题及心得体会。【关于程序实行关于程序实行】程序运行情况的截图如图 73,74 所示,图中显示有投票人数、投票的内容、候选人最后的得分情况以及最终冠军的获得者,系统运行情况较好,但仍存在一些不足,例如:没有控制开始结束的语句,程序没有很好的体现模块化等。在以后的程序设计中要特别注意这次遇到的问题,改进不足,探索新颖的思路,力求将程序设计完美化。【问题及可能的解决方法问题及可能的解决方法】程序中最大的不足是模块化没有
8、很好的发挥其作用,个人觉得可以通过调用函数来弥补这一不足。至于开始结束语句地解决,可以增加一个输出语句来解决。还有一个问题是,源代码中没有注释语句,虽然这次设计的程序比较简单没用到注释,但以后设计中一定要注意这方面。【修改后程序修改后程序】#include#include struct candidate/定义结构体 char name;/名字 int score;/选票得分;struct candidate Cadt3=a,0,b,0,c,0;void thanks()printf(thank you!n);void football();.int i,j,num;char vote3,s;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 投票 程序 系统 设计
限制150内