资源描述:
《c++课程设计投票程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、河南城建学院课程设计各专业全套优秀毕业论文图纸《C/C++程序设计》课程设计课程设计题目:投票程序系别:计算机科学与工程专业:信息管理与信息系统小组成员:XXX设计者:XXX指导教师:XXX批语:河南城建学院河南城建学院课程设计2014年12月25日河南城建学院课程设计设计题目:投票程序1一、设计要求和分工11、设计要求12、设计目标2二、数据结构设计2数据结构设计描述2三、变量的定义和作用4四、系统各模块(函数)的组成,功能61、输入模块:62、统计模块:63、输出功能:7五、各功能模块的算法
2、处理流程图及相关说明81、输入模块的算法处理流程图及相关说明:82、统计模块的算法处理流程图及相关说明:82、输出模块的算法处理流程图及相关说明:9六、程序设计过程中遇到的问题及解决过程101、问题一及解决过程:102、问题二及解决过程:103、问题三及解决过程:11七、课程设计总结或体会111、总结112、体会12附录:源程序12参考文献14设计题目:投票程序一、设计要求和分工1、设计要求要求在设计过程中,充分发挥自己的独立工作能力及创造能力,对每个问题都应进行分析、比较,并提出自己的见解,反
3、对盲从,杜绝抄袭。在设计过程中必须做到:1.随时复习教科书、听课笔记及习题;2.做好准备工作,充分发挥自己的主观能动性和创造性,及时查阅相关资料;3.认真编程;4.按预定计划及时完成任务。14河南城建学院课程设计2、设计目标设有代号为’a’,’b’,’c’的三位亚洲小姐候选人,根据投票者在选票上对他们代号的填写顺序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选亚洲小姐。请注意:若同一张票上写有两个相同代号,或者投票者在选票上填写的代号不是’a’,’b’,
4、’c’的三位亚洲小姐候选人的代号,则显示“此票无效”;对候选人按照他们的得分排序,然后比较前两名候选人得分是否相同。如果相同,则显示“重新投票”;否则显示三个候选者得分并输出“祝贺X当选冠军”,X为最高分候选者。例如:投票人数:6 输入投票内容: a b cc a bc b a c a a 该票无效!r c a 该票无效!c b a 三位候选人得分: a: 12 b: 13 c: 15 “祝贺X当选冠军”,X为最高分候选者。二、数据结构设计数据结构设计描述开始定义结构体、相关
5、变量和常量输入投票人数和投票内容14河南城建学院课程设计选票代号是否重复是否含有其他人NY该票无效统计相应候选人的票数并排序输出投票结果YN判断前两名总票数是否相等重新投票输出获胜者结束14河南城建学院课程设计三、变量的定义和作用#include#include//以上两个是包含库。structhxr{intcode;intscore;//定义代号、得分两个整型数据。}hxr[3];//定义一个结构体存放候选人数据。main()//入口函数。{inti=0,j
6、=0,k,temp=0,end=0;charx,y,z;//定义接收投票的变量。structhxrhxr[3];//用hxr定义结构体数组。printf("请输入投票总人数:");scanf("%d",&k);//将投票人数放入标量k。printf("请输入投票:");getchar();//拦截scanf的最后一个回车。while(end==0)//while语句进行循环判定,if出现出现前两名并列第一时,返回while语句重新投票else输出冠军结束程序。{for(i=0;i<3;i
7、++){hxr[i].code=i;hxr[i].score=0;//初始化结构体数组。}for(i=1;i<=k;i++){scanf("%c%c%c",&x,&y,&z);//将投票按照x,y,z的顺序输入。getchar();//拦截回车,否则最后一个字符输入完毕按回车之后,回车的输入没有东西接收,就会变成下次循环的第一个字符scanf就会接收,那么二次循环的第一个字符就智能读到回车了,所以第一次结尾用getchar()拦截回车.if((x!=y&&x!=z&&y!=z)&&(x=='a'
8、
9、
10、14河南城建学院课程设计x=='b'
11、
12、x=='c')&&(y=='a'
13、
14、y=='b'
15、
16、y=='c')&&(z=='a'
17、
18、z=='b'
19、
20、z=='c'))//只有所投票中3位候选人各出现一次且所投票必须是a,b,c以内的字母此票才有效,不符合执行if下面的prinft语句。{hxr[0].score+=(x=='a'?5:(y=='a'?3:2));hxr[1].score+=(x=='b'?5:(y=='b'?3:2));hxr[2].score+=(x=='c'?5:(y=='c'