200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > c语言课程设计的摘要 投票程序设计-C语言课程设计摘要.doc

c语言课程设计的摘要 投票程序设计-C语言课程设计摘要.doc

时间:2019-08-24 05:13:03

相关推荐

c语言课程设计的摘要 投票程序设计-C语言课程设计摘要.doc

投票程序设计-C语言课程设计摘要.doc

C 语 言 课 程 设 计

题 目: <7>投票程序

设 计 者:

专 业:

班级学号:

所属院系:机电学院

指导教师:

7月17日

1.题目与要求:投票程序

题目要求

设有代号为’a’,’b’,’c’的三个个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。请注意;若同一张票上写有两个相同代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。

例如:投票人数:5

输入投票内容:

a b c

c a b

c b a

c a a 该票无效!

c b a

三位候选人得分:

a: 12

b: 13

c: 15

祝贺c当选冠军!

1.1问题提出与要求:

需求分析

本程序中要求候选人有编号和得票数,且每张选票上要同时写上三个候选人的编号,最终输出谁是获胜者。因此可以用结构体来存储候选人的信息。唱票中要求相对应的编号分别记分为5、3、2,因此在记分程序中可以用一个条件表达式来进行统计得分。统计结果中若前两名有相同的得票数则要求重新投票。为此要求把三个侯选人的总得分进行比较,则可以用一个判断语句来判断,简单明了。

数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人得分。

2.功能实现设计:

2.1总体设计——程序流程图

流程图:

2.2详细设计:

<1>程序源代码:

#include

main()

{

int finish=0,first,seccond,i,scores[3],num;

char s1,s2,s3;

printf("*******************************************************\n");

printf("*****Welcome to use footballman voting programe! ******\n");

printf("*******************************************************\n");

while(finish==0) /*****输入模块*****/

{

for(i=0;i<3;i++) scores[i]=0;

printf("请输入投票人数: \n"); /*****有多少人投票*****/

scanf("%d",&num); /*****输入投票人数*****/

getchar();

printf("请输入投票内容(选择您所需的abc候选人次序): \n"); /*****选票的内容*****/

for(i=0;i

{

scanf("%c %c %c",&s1,&s2,&s3); /*****输入投票内容*****/

getchar();

if(s1==s2||s1==s3||s2==s3)

printf("该票无效!\n"); /*****该票无效*****/

if(s1!=s2 && s1!=s3 && s2!=s3 && (s1>='a' && s1<='c')

&& (s2>='a' && s2<='c') && (s3>='a' && s3<='c'))/*****统计模块*****/

{

scores[s1-'a']+=5;

scores[s2-'a']+=3;

scores[s3-'a']+=2;

}

}

printf("Voting results:\n"); /*****输出模块*****/

printf("a: %d\n",scores[0]); /*****结果输出*****/

printf("b: %d\n",scores[1]);

printf("c: %d\n",scores[2]);

first=0;

seccond=1;

for(i=0;i<3;i++)

{

if(scores[i]>scores[first])

{

seccond=first;

first=i;

}

else

if(scores[

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。