C语言专业课程设计投票程序专业系统设计.docVIP

  • 4
  • 0
  • 约1.06万字
  • 约 19页
  • 2020-10-25 发布于江苏
  • 举报

C语言专业课程设计投票程序专业系统设计.doc

中 国 地 质 大 学 本科生课程论文封面 课程名称 C语言课程设计 老师姓名 邵老师 本科生姓名 常堃 本科生学号 20XX1001079 本科生专业 应用化学 所在院系 材化学院 类别: C.本科生 日期: 20XX 年 7 月 6 日 课程设计评语 对课程论文评语: 平时成绩: 课程论文成绩: 总 成 绩: 评阅人署名: 注:1、无评阅人署名成绩无效; 2、必需用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必需在上面评分表中标出,并计算入总成绩。 目 录 TOC \o 1-3 \h \z \u 课程设计评语 2 目 录 3 1.课程论文题目 4 2.程序设计思绪 4 3.功效模块图 5 4.数据结构设计 5 5.算法设计 6 6.程序代码 13 7.程序运行结果 22 8.编程中碰到困难及处理方法 25 9.总结心得及良好提议 26 10.致谢 26 1.课程论文题目 投票程序 [要求] 设有代号为‘a’,‘b’,‘c’三个足球先生候选人,依据投票者在选票上对她们编号填写次序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计她们得分,并输出哪位当选足球先生。 注意:若同一张票上写有两个相同代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,不然显示三位候选人得分并输入“祝贺X当选冠军”。 比如:投票人数:5 请参与投票人开始投票: abc cab caa 此票无效 cba bca 三位候选人得分: a:12 b:13 c:15 祝贺c当选冠军? [提醒] 数据结构可用结构体数组,结构体组员包含代号、得分。或采取二维数组,行方向对应一张投票,列方向对应各候选人得分。 2.程序设计思绪 依据题目要求,首先要输入投票者人数,再输入投票者选票,而选票不是全部有效,若同一张票上写有两个相同代号,则此票无效,所以要将有效选票选出来,然后对选票进行统计得分,最终来比较得分,若有得分相同,则重新来选,最终得分最多获胜,最终成为足球先生。? 不过此程序还不够完善,能够增加以下程序,增强其功效: 1.统计废票数目,方便废票太多,影响选举公正。 2.若出现a,b,c以外投票,应该将该票记为无效。 3.若出现最终前两名得分相同,应该还能够运行程序,使其重新投票,重新计票,直至最终选出足球先生。 3.功效模块图 足球先生评选程序 足球先生评选程序 输入选票信息 输出结果 统计选票 输入选票信息:输入对足球先生候选人选票 输出结果:输出最终足球先生取得者 统计选票:对选票进行统计 4.数据结构设计 要输入投票人数,将其定义为re,选票信息能够用一个p[100][3]数组来存放,re来控制投票信息数组行数。 最开始定义一个全局变量m=3,来表示候选者人数。这么来控制数列数,达成控制输入目标。 每输入一行,就开始判定是否一张票上写有两个相同代号,或是出现‘a’,‘b’,‘c’以外投票结果,假如出现这种情况,就将票作废,并统计作废票数。定义变量v统计作废票数。判定完成后,若出现废票,就将其中票府赋值为‘0’。 返回投票人数re,留到后续函数使用。 5.算法设计 主函数: 主函数只提供输入、处理和输出部分函数调用: 【程序】 #includestdio.h #includemath.h int start(char p[][3]);???????????????? /****输入函数****/ void count(int a,char p[][3],int pp[]);?????? /***统计函数***/ int result(int a,int b,int c);??????? ????????/***输出函数***/ int m;????? /*****全局变量 *****/ void main()?????????????????? /*****主函数*****/ {????? ?????? ? int a; ???????? m=3;? ????? int pp[3]={0,0,0};?? ???? do ?????? ?{ ????????????? ?char p[100][3]={{0}}; ???? /******p[100][3]赋初值,清空******/ ????????? a=start(p); ????????? count(a,p,pp);???? ????????? /******计算得分******/ ??????

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档