C语言课程设计C语言投票程序.docx
- 文档编号:4378336
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:143KB
C语言课程设计C语言投票程序.docx
《C语言课程设计C语言投票程序.docx》由会员分享,可在线阅读,更多相关《C语言课程设计C语言投票程序.docx(12页珍藏版)》请在冰豆网上搜索。
C语言课程设计C语言投票程序
C程序设计实习报告
题目:
C语言投票程序
学院:
专业:
姓名:
班级学号
指导教师:
2020年07月17日
一、课程设计题目描述与要求……………………………………3
二、需求与个人设计思想……………………………………4
三、流程图……………………………………5
四、我的程序设计(源程序)……………………………………6
程序运行情形……………………………………8
五、总结与修改……………………………………9
关于程序实行……………………………………9
问题及可能的解决方式……………………………………9
修改后程序运行情形……………………………………12
修改后的程序优势……………………………………13
心得与体会……………………………………15
C语言投票程序
一、课程设计题目描述与要求
要求:
设有代号为a、b、c的足球先生候选人,依照投票者在选票上对他们编号的填写顺序别离记分五、3、2。
请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位被选足球先生。
注意:
假设同一张票上写有两个相同的代号,那么显示“此票无效”,假设最终前两名得分相同应显示“从头投票”,不然先是三个候选者得分并输出“祝贺X被选冠军!
”。
例如:
投票人数:
5
输入投票内容:
abc
cab
caa该票无效!
cba
bca
三位候选人得分:
a:
12
b:
13
c:
15
祝贺c被选冠军!
提示:
数据结构可用结构体数组,结构体成员包括代号、得分。
或采纳二维数组,行方向对应一张投票,列方向
二、需求与个人设计思想
【需求】
此程序意在评出得分最高的“足球先生”,要求编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位被选足球先生。
【个人设计思想】
通过结构体数组structcandidateCadt[3]来存储三位候选人的大体信息:
代号、得分。
在用一个一维数组来存储投票内容——代表投票内容(顺序),通过循环语句while,for和一个没有参数的getchar函数(字符输入函数)从终端输入投票内容,处置后取得最终三位候选人得分,比较取得最终结果,评出得分最高的一名候选人,即为“足球先生”。
在进程中,当碰到一张选票上写有两个代号相同时应显示“此票无效”,假设最终前两名得分相同应显示“从头投票”,不然先是三个候选者得分并输出“祝贺X被选冠军!
”。
三、流程图
1、整体流程图
图7—1
2、主函数流程图:
图7—2
四、我的程序设计(源程序)
#include<>
structcandidateame)
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("三位候选人得分:
\n");
for(j=0;j<3;j++)
printf("%c:
%d\n",Cadt[j].name,Cadt[j].score);
if(Cadt[0].score==Cadt[1].score||Cadt[1].score==Cadt[2].score||Cadt[2].score==Cadt[0].score)
printf("pleasevoteagaine.\n");
else
if(Cadt[0].score Cadt[0].name=Cadt[1].name; if(Cadt[0].score Cadt[0].name=Cadt[2].name; printf("祝贺%c被选冠军.\n",Cadt[0].name); } 程序运行情形如下: (1)当碰到一张选票上写有两个代号相同时成功显示“该票无效”: 图7—3 (2)显示最终结果: 图7—4 五、总结与修改 暑假期间,通过八天的C语言程序设计实习,我从头温习了C语言,更是对C语言有了更新的熟悉,更为深层次的熟悉。 以下几点是我在实习期间碰到的问题及心得体会。 【关于程序实行】 程序运行情形的截图如图7—3,7—4所示,图中显示有投票人数、投票的内容、候选人最后的得分情形和最终冠军的取得者,系统运行情形较好,但仍存在一些不足,例如: 没有操纵开始终止的语句,程序没有专门好的表现模块化等。 在以后的程序设计中要专门注意这次碰到的问题,改良不足,探讨新颖的思路,力求将程序设计完美化。 【问题及可能的解决方式】 程序中最大的不足是模块化没有专门好的发挥其作用,个人感觉能够通过挪用函数来弥补这一不足。 至于开始终止语句地解决,能够增加一个输出语句来解决。 还有一个问题是,源代码中没有注释语句,尽管这次设计的程序比较简单没用到注释,但以后设计中必然要注意这方面。 【修改后程序】 #include<> #include<> structcandidateame) 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("三位候选人得分: \n"); for(j=0;j<3;j++) printf("%c: %d\n",Cadt[j].name,Cadt[j].score); if(Cadt[0].score==Cadt[1].score||Cadt[1].score==Cadt[2].score||Cadt[2].score==Cadt[0].score) printf("pleasevoteagaine.\n"); else if(Cadt[0].score Cadt[0].name=Cadt[1].name; if(Cadt[0].score Cadt[0].name=Cadt[2].name; printf("祝贺%c被选冠军! \n",Cadt[0].name); } intmain() { intID,ture=0; printf("\n****************************此程序为足球先生投票程序****************************\n"); while (1) { printf("请选择是不是继续: 1为继续,2为退出;\n"); scanf("%d",&ID); getchar(); switch(ID) { case1: football();break; case2: thanks();break; default: ture=1;break; } if(ture! =1)printf("**********************************谢谢您的参与**********************************\n"); printf("\n"); if(ture)break; getchar(); printf("\n请按任何键继续......\n"); getchar(); } return0; } 修改后程序运行情形: 图7—5 图7—6 【修改后的程序优势】 程序被修改后更好地实现了模块化: (1)主函数 图7—7 (2)thanks函数 图7—8 (3)football函数 图7—9 【心得与体会】 c语言作为一种运算机的语言,咱们学习它,有助于咱们更好的了解运算机,与运算机进行交流,因此,c语言的学习对咱们尤其重要,于是学校组织咱们进行了为期八天的实习。 在这八天里,咱们在教师的率领下进行了暑期c语言程序实践学习。 在这之前,咱们已经对c语言这门课程学习了一个学期,对其有了必然的了解,可是也仅仅是停留在了解的范围,对里面的好多东西仍是很陌生,更多的在运用起来的时候仍是感到很棘手,毕竟,万事开头难嘛。 实习前两天由于对所学的知识忘记了很多,编的程序中有很多错误,而且很多找不出缘故所在,也确实是说完成程序的编写,并不意味着万事大吉。 本来以为万无一失的程序,事实上机运行时却不断显现麻烦。 如编译程序检测出一大堆错误。 有时程序本身不存在语法错误,也能够顺利运行,可是运行结果显然是错误的。 通过几天对书上知识如: 数组、结构体数组、循环语句(for\while)、if语句等的温习和教师的耐心辅导,不仅重拾以前所学知识而且对c语言有了更深层次的明白得。 当看到自己设计出来的程序运行成功时,感觉很欣慰的同时更痛下决心,以后必然要多看c语言源程序。 专门时要注意程序中的算法与数据结构,毕竟学c的关口确实是算法和数据结构。 别的方面也要关注一下,诸如变量的命名、库函数的用法、结构体的概念等等。 有些库函数是常经常使用到的。 关于这些库函数的用法必然要牢牢记住。 只是看是不行的,编程序是个实干的活。 一个c语言程序从编辑、编译、连接到运行,光说不练不行。 刚开始学的时候能够多练习书上的习题。 关于自己不明白的地址,自己编个小程序实验一下是最好的方式,能给自己留下深刻的印象。 自己动手的进程中要不断纠正自己不行的编程适应和熟悉错误。 有必然的基础以后能够尝试编一些经典的案例程序。 由于时刻的关系,咱们的这次实践课程教师并无给咱们详细的介绍,只是给咱们简单的介绍了几个比较重要的实际操作。 包括了程序模块处置、程序的添加修改、程序错误检查顶用到的屏蔽操作、程序的调试等大体操作,更多的仍是要靠自己尽力。 上机实验是学习程序设计语言必不可少的实践环节,专门是c语言灵活、简练,更需要通过编程的实践来真正把握它。 关于程序设计语言的学习,能够归纳为学习语法规定、把握程序设计方式、提高程序处置能力,而这些都必需通过充分的事实上机操作才能完成。 通过量次上机练习,我关于语法知识有了感性的熟悉,加深了对它的明白得,在明白得的基础上就会自但是然地把握c语言的语法规定。 关于一些内容自己以为在课堂上听懂了,但上机实践中会发觉原先明白得的误差。 因此学习c语言不能只停留在学习它的语法规那么,而是利用学到的知识编写c语言程序,解决实际问题。 即把c语言作为工具,描述解决实际问题的步骤,由运算机帮忙咱们解题。 只有通过上机才能查验自己是不是把握c语言、自己编写的程序是不是能够正确地解题。 因此,这次实习关于c语言初学者的我意义非凡,通过它我学到了很多在书上学不到的知识。 关于养成良好的编程适应方面一、在比较复杂的代码后面要有注释;二、注意语句的嵌套不能太长;3、注意语句的选择。 分支语句注意if循环和while、for的利用。 通过这次为数不多的几天运算机实践学习,咱们了解了一些关于c语言的知识,明白得巩固了咱们c语言的理论知识,对咱们以后其他编程学习将会有莫大的帮忙。 同时它让我明白,“功夫不负有心人”,只要我尽力,我就必然能做到。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 投票 程序