投票程序设计

上传人:s****a 文档编号:175645310 上传时间:2022-12-20 格式:DOCX 页数:13 大小:342.24KB
返回 下载 相关 举报
投票程序设计_第1页
第1页 / 共13页
投票程序设计_第2页
第2页 / 共13页
投票程序设计_第3页
第3页 / 共13页
点击查看更多>>
资源描述
C语言课程设计题 目: 投票程序设 计 者:业:机械设计制造及其自动化班级学号:所属院系:机电学院指导教师:2010 年7月17日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问题提出与要求:需求分析本程序中要求候选人有编号和得票数,且每张选票上要同时写上 三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储 候选人的信息。唱票中要求相对应的编号分别记分为5、3、2,因此 在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若 前两名有相同的得票数则要求重新投票。为此要求把三个侯选人的总 得分进行比较,则可以用一个判断语句来判断,简单明了。数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人得分。2.功能实现设计:2.1总体设计程序流程图流程图:2.2 详细设计:程序源代码:#include main()int finish=0,first,seccond,i,scores3,num;char s1,s2,s3;-/-* r io A- -(-* ( *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* 1 r lill I I*n);printf(*Welcome to use footballman voting programe! *n);v -/-* r io A- -(-* ( *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* 1 r lill I I*n);while(finish=0)/*输入模块*/for(i=0;i3;i+) scoresi=0;prin tf(请输入投票人数:n);/*有多少人投票*/scanf(%d,&num);/*输入投 票人 数*/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;iscoresfirst)seccond=first;first=i;elseif(scoresiscoresseccond) seccond=i;if(scoresfirst!=scoresseccond)prin tf(祝贺 %c 当选冠军!n,firs t+a); finish=1;elseprin tf(请重新投票!n);return 0;启动程序:编译、链接、运行:输入投票人数:5输入投票内容a b cc a bc a a该票无效!nE青输入投票人数use footballman voting ppograme121315駅贺 c当选冠军?Press any key to continue幘输入投票内容(选样您所需的血C候选人次序): a b ctabbaa 陵票无效?b b ab c aUoting results:aTIC:Documents and SettingsAdministrator桌面投票程序崔鸥MMMMMVJelcome to use footballman uoting progpame? m植输入投票人数:橫输入投票内容(选择您所需的砒候选人次序):a b ccabc a a 麼票无嫌 c b ab c a_成功运行!3知识点集锦: 什么是结构化程序设计?比较其与对象化程序设计的区别。 答:结构化程序的概念首先是从以往编程过程中无限制地使用转移语 句而提出的。转移语句可以使程序的控制流程强制性的转向程序的任 一处,在传统流程图中,就是用上节我们提到的很随意的流程线来 描述这种转移功能。如果一个程序中多处出现这种转移情况,将会导 致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理 解和接受的,并且容易出错。尤其是在实际软件产品的开发中,更多 的追求软件的可读性和可修改性,像这种结构和风格的程序是不允许 出现的。结构程序设计就是一种进行程序设计的原则和方法,按照这 种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的 程序。即:结构化程序设计是按照一定的原则与原理,组织和编写正 确且易读的程序的软件技术。结构化程序设计的目标在于使程序具有 一个合理结构,以保证和验证程序的正确性,从而开发出正确、合理 的程序。结构化的分析方法的基本思路是自顶向下逐层分解。分解和抽象是人 们控制问题复杂性的两种基本手段。它强调程序的功能,以函数为中 心,分层逐步展开程序设计。而面向对象程序设计强调程序的分层分 类概念,它以抽象为基础描述问题解决的大体思想,再以此为基础, 进行对象的定义与对象的展示。面向对象程序设计从所处理的数据入 手,以数据为中心而不是以服务(功能)为中心来描述系统。它把编 程问题视为一个数据集合,数据相对于从功能入手的结构化程序而 言,具有很强的稳定性。前者首先关心的是功能,而后者关心的是要 处理的数据。4实习总结:通过五天的C语言程序设计实习,我认识到了自己在C语言方面 的不足。我重新温习了C语言,更是对C语言有了更新的认识,更为 深层次的认识。以下几点是我在实习期间的心得和体会。1. 多看代码在有一定基础以后一定要多看别人的代码。就例如第四章的庖丁 解牛和第五章的举一反三,注意代码中的算法和数据结构。毕竟学C 之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的 一环(不过这些很多在我的实习报告中没有用到),绝大多数的数据 结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学 好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、 库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法 就要牢牢记住。2. 要自己动手编程序是个实干的活,光说不练不行。我们的C语言教学老师 姚宏老师就要求我们至少每周上机3个小时。刚开始学的时候可以多 练习书上的习题。对于自己不明白的地方,自己编个小程序实验一下 是最好的方法,能给自己留下深刻的印象。自己动手的过程中要不断 纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编 一些经典的案例程序。学习程序设计,虽然开始接触的无非是变量、 函数、条件语句、循环语句等基本概念,这些在课堂上都能听懂,但 要真正能进行编程运用,需要在深入理解这些概念的基础上应用,只 简单的学习语法还是远远不够的。结构,而是吃透针对这些语法、结 构的应用例子,做到举一反三,触类旁通。通过第四章的庖丁解牛和 第五章的举一反三,让我学会了如何面对大程序时着手处理,如何去 小心查错,通过不断的错误纠正,让我更深层次的了解到程序的逻辑 严密性。3. 关于养成良好的编程习惯1、在比较复杂的代码后面要有注释;2、注意语句的嵌套不能 过长;3、注意语句的选择。并不是分支语句就用 if 循环就用 while、 for。在适当的情况下switch和do while语句也是要用的。在某些 时候,switch语句比if语句更加精练明了,而do while比while 少一个循环。编程是一个字母字母敲进电脑里的,一旦敲错一个代码或符号, 程序就面临出错的危险,所以严谨细致的求学作风和工作态度对我们 非常重要。在我们的实习过程中学到的另一个是团队合作精神。我们 五个人一起敲代码,使一个庞大的纸质程序进入电脑运行,虽然部分 队员会犯一些低级错误,但大家互相帮助协作,不互相埋怨,而是积 极去解决困难,这对我们来说非常重要!通过短暂的一周C语言实习,让我收获了知识,收获了快乐!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!