C语言课程设计-投票程序设计(共9页).doc
《C语言课程设计-投票程序设计(共9页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计-投票程序设计(共9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上投票程序1. 题目与要求:题目要求设有代号为a,b,c的三个个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。请注意;若同一张票上写有两个相同代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。例如:投票人数:5输入投票内容:a b cc a bc b ac a a 该票无效!c b a 三位候选人得分:a: 12b: 13c: 15祝贺c当选冠军!1.1问题提出与要求:需求分析本程序中要求候选人有编号
2、和得票数,且每张选票上要同时写上三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储候选人的信息。唱票中要求相对应的编号分别记分为5、3、2,因此在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若前两名有相同的得票数则要求重新投票。为此要求把三个侯选人的总得分进行比较,则可以用一个判断语句来判断,简单明了。数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人得分。2.功能实现设计:2.1总体设计程序流程图流程图:开始输入投票人数及投票内容统计相应候选人的票数并排序选票编号重复?判断前两名总票数是否相等结束重新投票NYYN输
3、出投票结果及获胜者定义结构体与相关变量该票无效2.2详细设计: 程序源代码:#include main() int finish=0,first,seccond,i,scores3,num; char s1,s2,s3; printf(*n); printf(*Welcome to use footballman voting programe! *n); printf(*n); while(finish=0) /*输入模块*/ for(i=0;i3;i+) scoresi=0; printf(请输入投票人数: n); /*有多少人投票*/ scanf(%d,&num); /*输入投票人数*/
4、 getchar(); printf(请输入投票内容(选择您所需的abc候选人次序): n); /*选票的内容*/ for(i=0;i=a & s1=a & s2=a & s3=c)/*统计模块*/ scoress1-a+=5; scoress2-a+=3; scoress3-a+=2; printf(Voting results:n); /*输出模块*/ printf(a: %dn,scores0); /*结果输出*/ printf(b: %dn,scores1); printf(c: %dn,scores2); first=0; seccond=1; for(i=0;iscoresfirs
5、t) seccond=first; first=i; else if(scoresiscoresseccond) seccond=i; if(scoresfirst!=scoresseccond) printf(祝贺 %c 当选冠军!n,first+a); finish=1; else printf(请重新投票!n); return 0;启动程序:编译、链接、运行:输入投票人数:5输入投票内容:a b cc a bc a a 该票无效!c b ac b a 成功运行!知识点集锦:什么是结构化程序设计?比较其与对象化程序设计的区别。答:结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 投票 程序设计
限制150内