C语言课程设计-投票程序设计.doc

C语言课程设计-投票程序设计.doc

ID:55469849

大小:130.50 KB

页数:9页

时间:2020-05-14

C语言课程设计-投票程序设计.doc_第1页
C语言课程设计-投票程序设计.doc_第2页
C语言课程设计-投票程序设计.doc_第3页
C语言课程设计-投票程序设计.doc_第4页
C语言课程设计-投票程序设计.doc_第5页
资源描述:

《C语言课程设计-投票程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、投票程序1.题目与要求:题目要求设有代号为’a’,’b’,’c’的三个个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。请注意;若同一张票上写有两个相同代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。例如:投票人数:5输入投票内容:abccabcbacaa该票无效!cba三位候选人得分:a:12b:13c:15祝贺c当选冠军!1.1问题提出与要求:需求分析本程序中要求候选人有编号和

2、得票数,且每张选票上要同时写上三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储候选人的信息。唱票中要求相对应的编号分别记分为5、3、2,因此在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若前两名有相同的得票数则要求重新投票。为此要求把三个侯选人的总得分进行比较,则可以用一个判断语句来判断,简单明了。数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人得分。2.功能实现设计:2.1总体设计——程序流程图流程图:开始输入投票人数及投票内容统计相应候选人的票数并排序选票编号重复?

3、判断前两名总票数是否相等结束重新投票NYYN输出投票结果及获胜者定义结构体与相关变量该票无效2.2详细设计:<1>程序源代码:#includemain(){intfinish=0,first,seccond,i,scores[3],num;chars1,s2,s3;printf("*******************************************************");printf("*****Welcometousefootballmanvotingprograme!******");printf

4、("*******************************************************");while(finish==0)/*****输入模块*****/{for(i=0;i<3;i++)scores[i]=0;printf("请输入投票人数:");/*****有多少人投票*****/scanf("%d",&num);/*****输入投票人数*****/getchar();printf("请输入投票内容(选择您所需的abc候选人次序):");/*****选票的内容*****/for(i=0;i

5、){scanf("%c%c%c",&s1,&s2,&s3);/*****输入投票内容*****/getchar();if(s1==s2

6、

7、s1==s3

8、

9、s2==s3)printf("该票无效!");/*****该票无效*****/if(s1!=s2&&s1!=s3&&s2!=s3&&(s1>='a'&&s1<='c')&&(s2>='a'&&s2<='c')&&(s3>='a'&&s3<='c'))/*****统计模块*****/{scores[s1-'a']+=5;scores[s2-'a']+=3;scores[s3-'a']+=2;}}p

10、rintf("Votingresults:");/*****输出模块*****/printf("a:%d",scores[0]);/*****结果输出*****/printf("b:%d",scores[1]);printf("c:%d",scores[2]);first=0;seccond=1;for(i=0;i<3;i++){if(scores[i]>scores[first]){seccond=first;first=i;}elseif(scores[i]>scores[seccond])seccond=i;}if(scores

11、[first]!=scores[seccond]){printf("祝贺%c当选冠军!",first+'a');finish=1;}elseprintf("请重新投票!");}return0;}<2>启动程序:编译、链接、运行:输入投票人数:5输入投票内容:abccabcaa该票无效!cbacba成功运行!3.知识点集锦:什么是结构化程序设计?比较其与对象化程序设计的区别。答:结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,就是用上节我们提到的"很随意"

12、的流程线来描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。