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会很有问题。
最后更新于 2023-10-08 16:38:38 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章