欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程设计投票程序系统设计.pdf

    • 资源ID:90993448       资源大小:442.65KB        全文页数:15页
    • 资源格式: PDF        下载积分:8.8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8.8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计投票程序系统设计.pdf

    C 程序设计实习报告题目:C 语言投票程序.目录目录一、课程设计题目描述与要求3二、需求与个人设计思想4三、流程图四、我的程序设计(源程序)程序运行情况五、总结与修改关于程序实行问题及可能的解决方法修改后程序运行情况修改后的程序优点心得与体会;568999121315.C C 语言投票程序语言投票程序一、课程设计题目描述与要求一、课程设计题目描述与要求要求:设有代号为 a、b、c 的足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分 5、3、2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X 当选冠军!”。例如:投票人数:5输入投票内容:a b cc a bc a a该票无效!c b ab c a三位候选人得分:a:12b:13c:15祝贺 c 当选冠军!提示:数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向;.二、需求与个人设计思想需求与个人设计思想【需求】此程序意在评出得分最高的“足球先生”,要求编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。【个人设计思想】通过结构体数组 struct candidate Cadt3来存储三位候选人的基本信息:代号、得分。在用一个一维数组来存储投票内容代表投票内容(顺序),通过循环语句 while,for和一个没有参数的 getchar 函数(字符输入函数)从终端输入投票内容,处理后得到最终三位候选人得分,比较得到最终结果,评出得分最高的一名候选人,即为“足球先生”。在过程中,当遇到一张选票上写有两个代号相同时应显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺X 当选冠军!”。三、三、流程图流程图1、整体流程图“足球先生”投票程序结构体数组引用投票内容输入数据处理数据比较名次排序输出;.图图 7 71 12、主函数流程图:开始请问共有多少人进行投票输入投票人数输入投票人数同一张票上存在相同代号统计票数显示“此票无效”存在相同票数?输出“祝贺 X 当选冠军”图图 7 72 2;.四、我的程序设计(源程序)四、我的程序设计(源程序)#includestruct candidate/定义结构体char name;/名字int score;/分数;struct candidate Cadt3=a,0,b,0,c,0;void main()int i,j,num;char vote3,s;printf(请问共有多少人投票?n);scanf(%d,&num);while(num-)for(i=0;i3;i+)s=getchar();while(s!=a&s!=b&s!=c)s=getchar();votei=s;if(vote0+vote1+vote2!=a+b+c)/判断选票上是否有重复代码printf(该票无效!n);continue;elsefor(j=0;j3;j+);.if(vote0=Cadtj.name)Cadtj.score+=5;if(vote1=Cadtj.name)Cadtj.score+=3;if(vote2=Cadtj.name)Cadtj.score+=2;printf(三位候选人得分:n);for(j=0;j3;j+)printf(%c:%dn,Cadtj.name,Cadtj.score);if(Cadt0.score=Cadt1.score|Cadt1.score=Cadt2.score|Cadt2.score=Cadt0.score)printf(please vote againe.n);elseif(Cadt0.scoreCadt1.score)Cadt0.name=Cadt1.name;if(Cadt0.scoreCadt2.score)Cadt0.name=Cadt2.name;printf(祝贺%c 当选冠军.n,Cadt0.name);程序运行情况如下:;.(1)当遇到一张选票上写有两个代号相同时成功显示“该票无效”:图图 7 73 3(2)显示最终结果:图图 7 74 4;.五、总结与修改五、总结与修改暑假期间,通过八天的 C 语言程序设计实习,我重新温习了 C 语言,更是对 C 语言有了更新的认识,更为深层次的认识。以下几点是我在实习期间遇到的问题及心得体会。【关于程序实行关于程序实行】程序运行情况的截图如图 73,74 所示,图中显示有投票人数、投票的内容、候选人最后的得分情况以及最终冠军的获得者,系统运行情况较好,但仍存在一些不足,例如:没有控制开始结束的语句,程序没有很好的体现模块化等。在以后的程序设计中要特别注意这次遇到的问题,改进不足,探索新颖的思路,力求将程序设计完美化。【问题及可能的解决方法问题及可能的解决方法】程序中最大的不足是模块化没有很好的发挥其作用,个人觉得可以通过调用函数来弥补这一不足。至于开始结束语句地解决,可以增加一个输出语句来解决。还有一个问题是,源代码中没有注释语句,虽然这次设计的程序比较简单没用到注释,但以后设计中一定要注意这方面。【修改后程序修改后程序】#include#include struct candidate/定义结构体 char name;/名字 int score;/选票得分;struct candidate Cadt3=a,0,b,0,c,0;void thanks()printf(thank you!n);void football();.int i,j,num;char vote3,s;printf(请问共有多少人投票?n);scanf(%d,&num);while(num-)for(i=0;i3;i+)s=getchar();while(s!=a&s!=b&s!=c)s=getchar();votei=s;if(vote0+vote1+vote2!=a+b+c)/判断选票是否有重复代号 else for(j=0;j3;j+)printf(该票无效!n);continue;if(vote0=Cadtj.name)Cadtj.score+=5;if(vote1=Cadtj.name)Cadtj.score+=3;if(vote2=Cadtj.name)Cadtj.score+=2;printf(三位候选人得分:n);for(j=0;j3;j+)printf(%c:%dn,Cadtj.name,Cadtj.score);.if(Cadt0.score=Cadt1.score|Cadt1.score=Cadt2.score|Cadt2.score=Cadt0.score)printf(please vote againe.n);else if(Cadt0.scoreCadt1.score)Cadt0.name=Cadt1.name;if(Cadt0.scoreCadt2.score)Cadt0.name=Cadt2.name;printf(祝贺%c 当选冠军!n,Cadt0.name);int main()int ID,ture=0;printf(n*此 程 序 为 足 球 先 生 投 票 程 序*n);while(1)printf(请选择是否继续:1 为继续,2 为退出;n);scanf(%d,&ID);getchar();switch(ID)case 1:football();break;case 2:thanks();break;default:ture=1;break;if(ture!=1)printf(*谢 谢 您 的 参 与*n);printf(n);if(ture)break;getchar();printf(n 请按任何键继续.n);getchar();.return 0;修改后程序运行情况:图图 7 75 5图图 7 76 6;.【修改后的程序优点修改后的程序优点】程序被修改后更好地实现了模块化:(1)主函数(2)thanks 函数(3)football 函数;显示是否继续进行投票输入 1 或 2,判断是不是 1 或 2根据是 1 或 2 调用各功能函数图图 7 77 7选 2,进入 thanks输出“thank you”图图 7 78 8.选 1,开始请问共有多少人进行投票输入投票人数输入投票结果同一张票上存在相同代号统计票数显示“此票无效”存在相同票数?输出“祝贺 X 当选冠军”图图 7 79 9【心得与体会心得与体会】c 语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c 语言的学习对我们尤其重要,于是学校组织我们进行了为期八天的实习。在这八天里,我们在老师的带领下进行了暑期 c 语言程序实践学习。在这之前,我们已经对 c 语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。实习前两天由于对所学的知识忘记了不少,编的程序中有很多错误,而且很多找不出原因所在,也就是说完成程序的编写,并不意味着万事大吉。原本认为万无一失的程序,实际上机运行时却不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。经过几天对书上知识如:数组、结构体数组、循环语句(forwhile)、if 语句等的复习以及老师的耐心辅导,不仅重拾以前所学知识而且对 c 语言有了更深层次的理解。当看到自己设计出来的程序运行成功时,感觉很欣慰的同;.时更痛下决心,以后一定要多看 c 语言源程序。特别时要注意程序中的算法与数据结构,毕竟学 c 的关口就是算法和数据结构。别的方面也要关注一下,诸如变量的命名、库函数的用法、结构体的定义等等。有些库函数是经常用到的。对于这些库函数的用法一定要牢牢记住。只是看是不行的,编程序是个实干的活。一个c 语言程序从编辑、编译、连接到运行,光说不练不行。刚开始学的时候可以多练习书上的习题。对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一些经典的案例程序。由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理、程序的添加修改、程序错误检查中 用 到 的 屏 蔽 操 作、程 序 的 调 试 等 基 本 操 作,更 多 的 还 是 要 靠 自 己 努 力。上机实验是学习程序设计语言必不可少的实践环节,特别是c 语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习,可以概括为学习语法规定、掌握程序设计方法、提高程序处理能力,而这些都必须通过充分的实际上机操作才能完成。通过多次上机练习,我对于语法知识有了感性的认识,加深了对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差。所以学习 c 语言不能只停留在学习它的语法规则,而是利用学到的知识编写 c 语言程序,解决实际问题。即把 c 语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c 语言、自己编写的程序是否能够正确地解题。所以,这次实习对于 c 语言初学者的我意义非凡,通过它我学到了很多在书上学不到的知识。关于养成良好的编程习惯方面 1、在比较复杂的代码后面要有注释;2、注意语句的嵌套不能过长;3、注意语句的选择。分支语句注意if 循环和 while、for 的使用。通过这次为数不多的几天计算机实践学习,我们了解了一些关于c 语言的知识,理解巩固了我们 c 语言的理论知识,对我们将来其他编程学习将会有莫大的帮助。同时它让我知道,“功夫不负有心人”,只要我努力,我就一定能做到。;

    注意事项

    本文(C语言课程设计投票程序系统设计.pdf)为本站会员(蓝****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开