欢迎来到天天文库
浏览记录
ID:9381727
大小:153.00 KB
页数:15页
时间:2018-04-29
《c语言课程设计--c语言投票程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C程序设计实习报告题目:C语言投票程序学院:专业:姓名:班级学号指导教师:2010年07月17日目录一、课程设计题目描述与要求……………………………………3二、需求与个人设计思想……………………………………4三、流程图……………………………………5四、我的程序设计(源程序)……………………………………6程序运行情况……………………………………8五、总结与修改……………………………………9关于程序实行……………………………………9问题及可能的解决方法……………………………………9修改后程序运行情况……………………………………12修改后的程序优点…………………………
2、…………13心得与体会……………………………………15C语言投票程序一、课程设计题目描述与要求要求:设有代号为a、b、c的足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5、3、2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X当选冠军!”。例如:投票人数:5输入投票内容:abccabcaa该票无效!cbabca三位候选人得分:a:12b:13c:15祝贺c当选冠军!提示:数据结构可用
3、结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向二、需求与个人设计思想【需求】此程序意在评出得分最高的“足球先生”,要求编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。【个人设计思想】通过结构体数组structcandidateCadt[3]来存储三位候选人的基本信息:代号、得分。在用一个一维数组来存储投票内容——代表投票内容(顺序),通过循环语句while,for和一个没有参数的getchar函数(字符输入函数)从终端输入投票内容,处理后得到最终三位候选人得分,比较得到最终结果,评出得分最高的一名候
4、选人,即为“足球先生”。在过程中,当遇到一张选票上写有两个代号相同时应显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X当选冠军!”。三、流程图1、整体流程图“足球先生”投票程序名次排序输出数据比较数据处理投票内容输入结构体数组引用图7—12、主函数流程图:请问共有多少人进行投票输入投票人数开始同一张票上存在相同代号统计票数显示“此票无效”存在相同票数?输出“祝贺X当选冠军”输入投票人数图7—2四、我的程序设计(源程序)#includestructcandidate//定义结构体{charname;/
5、/名字intscore;//分数};structcandidateCadt[3]={{'a',0},{'b',0},{'c',0}};voidmain(){inti,j,num;charvote[3],s;printf("请问共有多少人投票?");scanf("%d",&num);while(num--){for(i=0;i<3;i++){s=getchar();while(s!='a'&&s!='b'&&s!='c')s=getchar();vote[i]=s;}if(vote[0]+vote[1]+vote[2]!='a'+'b'+'c')//判断选票上
6、是否有重复代码{printf("该票无效!");continue;}elsefor(j=0;j<3;j++){if(vote[0]==Cadt[j].name)Cadt[j].score+=5;if(vote[1]==Cadt[j].name)Cadt[j].score+=3;if(vote[2]==Cadt[j].name)Cadt[j].score+=2;}}printf("三位候选人得分:");for(j=0;j<3;j++)printf("%c:%d",Cadt[j].name,Cadt[j].score);if(Cadt[0].score=
7、=Cadt[1].score
8、
9、Cadt[1].score==Cadt[2].score
10、
11、Cadt[2].score==Cadt[0].score)printf("pleasevoteagaine.");elseif(Cadt[0].score12、号相同时成功显示“该票无
12、号相同时成功显示“该票无
此文档下载收益归作者所有