1 / 10
文档名称:

c语言投票程序.doc

格式:doc   大小:129KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言投票程序.doc

上传人:2112770869 2018/10/15 文件大小:129 KB

下载得到文件列表

c语言投票程序.doc

文档介绍

文档介绍:本科生C语言课程设计论文
课程名称投票程序
教师姓名
本科生姓名
本科生学号
本科生专业
所在院系机电学院
类别:
日期: 2012年6月
课程设计评语
对课程论文的评语:
平时成绩:
课程论文成绩:
总成绩:
评阅人签名:
注:1、无评阅人签名成绩无效;
2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
目录
课程设计评语 2
目录 3
4
4
4
5
6
7
7
8
8
(一)题目要求及提示
[要求]设有代号a,b,c的三个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别计分5,3,2。请变成从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。
若同一张票上写有两个相同的代号,则显示“此票无效”,
若最终前两名得分相同应显示“重新投票”,否则显示三个候选人得分并输出“祝贺X当选冠军”。
[提示]数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人的得分。棋盘位置用二维数组代表,初始状态每一位置均为“”(空)。其分隔线(即棋盘线)可用- -或||来分隔。需要对每张选票上的候选人顺序进行分析,并统计每个人的得分,进行比较,得出结果。
程序设计思路
本程序中要求候选人有编号和得票数,且每张选票上要同时写上三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储候选人的信息。唱票中要求相对应的编号分别记分为5、3、2,因此在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若前两名有相同的得票数则要求重新投票。为此要求把三个后选人的总得分进行比较,则可以用一个判断语句来判断,简单明了。定义结构体存放候选人的信息,包括编号和得分。输入投票总人数和投票结果,然后根据人数和投票结果进行统计得分,把选票中有相同编号的去掉,只统计没有相同编号的票数。然后对最终的分数进行比较,若存在前两名的得分情况一样,则需要重新投票,否则输出谁是获胜者。
(三)功能模块图
开始
定义结构体与相关变量
输入投票人数投票结果
判断选票中
是否有重复编号
选票无效
统计相应候选人的票数
判断前两名
总票数是否相等
重新投票
输出获胜者
结束
Y
N
N
Y
(四)程序代码
#include<>
main()
{
int a[3]={0},n,i,j,m=0,p;
char c[3];
start: printf("投票人数:");
scanf("%d",&n);
printf("输入投票内容:");
getchar();
for(i=1;i<=n;i++)
{ gets(c);
if(c[0]==c[1]||c[1]==c[2]||c[0]==c[2])
{
printf("该票无效\n");continue;}
if(c[0]=='a')a[0]+=5;
else if(c[0]=='b')