c语言编程投票系统

首先,需求分析:

选民有多少票,一对一还是一对多?

因为你的问题需要不清楚,我将投票或弃权,只有一个候选人按照一人一票。

有三个功能,即:

一、初始化(此功能改为输入是信息注册模块)。

二、投票功能(我用随机数实现投票过程)。

第三,统计投票结果。

代码如下:

#包含stdio.h

#包含stdlib.h

#包含字符串. h

#包含时间. h

# defined mcde 5//候选人数量

#定义MVR 100//选民人数

typedef结构候选

{

Char nameC语言投票程序 提示输入时,可以直接输入下标,0~2。

所以你不需要判断。也可以避免输入错误。

提示输入的文字建议循环动态生成。这样便于后期扩充,比如变成五个人。

提示输入的文本可以大致写成如下形式:

将数组大小定义为常数,方便修改,比如#define SIZE 3。

Printf("请输入相应的数字为以下人群投票:");

for(I = 0;iSIZE我)

printf("%d:%s ",I,arr[i]。姓名);

这样,只要输入结构数组下标,后续的输入就可以不用判断直接进行。

如何用C语言设计投票程序? 给你写一个:

# includestdio.h

#定义M 100 //最大投票人数

#定义N ^ 3//候选人数量

结构体

{

字符代码;//代码名称

int分数;//分数

}考生[N],ST;//候选结构数组

int main()

{

char候选[M][N];//投票

int n,c = 0;//n:实际投票人数,c:有效票数。

int i,j,k,t;

char tmp[N 1];//存储投票的中间变量。

int s[N]={5,3,2 };

for(I = 0;在;我)

{

Printf("输入%d候选人的代号:",I 1);

scanf("%c ",候选项[i]。码);

fflush(stdin);//清除回车

考生[我]。得分= 0;

}

Printf("输入投票人数:");

scanf("%d ",n);

for(I = 0;在;I) //输入选票。

{

Printf("输入%d张选票:",I 1);

scanf("%s ",tmp);

候选人[I][0]= tmp[0];

候选人[I][1]= tmp[1];

候选人[I][2]= tmp[2];

if(tmp[0]= = tmp[1]| | tmp[1]= = tmp[2]| | tmp[0]= = tmp[2])

Printf("此票无效:%s\n ",tmp);

其他

{

//候选人TMP [0]加5分;

//考生TMP [1]加3分;

//候选人TMP [2]加2分;

c;

for(j = 0;jN;j)

for(k = 0;kN;k)

if(候选人[k]。code==tmp[j])

候选人[k]。score = s[j];

}

}

//按分数排序

for(I = 0;iN-1;我)

{

k = I;

for(j = I ^ 1;jN;j)

if(考生[j].scorecandidates[k]。分数)

k = j;

st =候选人[I];

候选人[I]=候选人[k];

候选人[k]= ST;

}

if(候选人[0]。分数= =考生[1]。分数)

Printf("不管前两个分数是否相同,都是%d分,所以再投一次。",候选人[0]。分数);

其他

{

Printf("考生\t分数\ n ");

for(I = 0;在;我)

printf("%c\t%d\n ",candidates[i]。代码,候选人[i]。分数);

Printf("恭喜%c夺冠!\n ",候选人[0]。码);

}

返回0;

}

有三个候选人,每个选民只能投一个人的票。要求用C语言写一个投票系统,没有结构数组。 #包含“stdio.h”

#包含" string.h "

结构人

{

char name[20];

int计数;

}leader[3]={ "张",0,"李",0,"孙",0 };

void main()

{

char leader _ name[20];

int i,j;

for(I = 1;i = 10我)

{

scanf("%s ",leader _ name);

for(j = 0;J3;j)

if(strcmp(leader_name,leader[j].name)==0)

领导[j]。数数;

}

printf("结果:\ n ");

for(I = 0;i3;我)

printf("%5s:%d\n ",leader[i]。姓名,领导[我]。计数);

}

c语言写的一个模拟投票系统 #定义PRT(j,k) printf("j的投票是% d ",k);这里如果想让J显示你想要的,只需要把J放在双引号外面,# defineprot (j,k)printf(J的票数“是%d”,k);但是这里注意你传入的j的值必须是字符串的形式。例如,如果你打电话给PRT(“杰克”,10),它将显示杰克的票数是10。经过调试,我发现hxr应该定义为hxr[2],即hxr也应该接收\0。首先你把hxr定义为一个char类型,一个char类型,你需要用%c来接受它,把它改成scanf(。另外,以后要谨慎使用scanf。用多了会发现scanf会很有问题。

相关文章

发表新评论