资源简介
功能概述
(1) 设置候选人的总个数。
(2) 记录各候选人的名字(为每个候选人自动生成一个编号)
(3) 显示候选人的编号和名称
(4) 设置要选举的人数
(5) 输入选票信息,若选票中候选人的个数大于要选举的人数,则作为无效票。
(6) 统计总的选票数,有效票数,无效票数,每个候选人的得票数。
(7) 输出获选人的姓名和得票数。
扩展功能要求:
(1) 对候选人的得票数进行排序输出。
(2) 把选票信息、统计信息存入到不同文件中。
(3) 把文件中的信息导入到程序中
代码片段和文件信息
#include
#include
#include
#include
typedef struct
{
int num; //编号
char name[20]; //名字
int flag; //票数
}Student;
void welcome() //欢迎界面
{
printf(“\t\t\t\t\t ----------------------\n“);
printf(“\t\t\t\t\t\t|欢迎使用班干选举系统|\n“);
printf(“\t\t\t\t\t ----------------------\n“);
printf(“\n“);
printf(“\t 本班干选举系统仅支持选举一个职位多选一功能,如需选举多个职位,请选举完毕后关闭重启程序重新输入。\n“);
printf(“\n“);
}
void input(Student stud[]int n) //录入功能
{
int i;
printf(“\n“);
printf(“现在开始录入候选人信息!\n“);
printf(“\n“);
srand((unsigned)time(NULL));
for(i=0;i {
stud[i].num=rand()%100+1; //产生随机数
printf(“编号:%d\t“stud[i].num);
printf(“候选人姓名:“);
scanf(“%s“&stud[i].name);
stud[i].flag=0;
printf(“得票数:%d\n“stud[i].flag);
printf(“\n“);
}
}
void vote(Student stud[]int nint m) //投票功能
{
int ijnum;
int error=0effect=0total=0; //error为无效票数,effect为有效票数,total为总票数
FILE *fq;
printf(“现在开始投票!\n“);
for(i=1;i<=m;i++)
{
printf(“投票人%d\n“i);
printf(“请输入您要投票给同学的编号:“);
scanf(“%d“&num);
for(j=0;j {
if(num==stud[j].num)
{
stud[j].flag +=1;
effect+=1; //统计有效票数
break;
}
}
printf(“\n“);
}
total=m; //统计总投票数
error=total-effect;
if((fq=fopen(“count.txt““w+“))==NULL) //新建count文件
{
printf(“文件打开失败!\n“);
return;
}
fprintf(fq“%d,%d,%d“effecterrortotal);
//将有效、无效、总票数情况写入count文件
fclose(fq);
printf(“本次投票结束!\n“);
printf(“\n“);
}
void sort(Student stud[]int nint m) //排序功能
{
FILE *fp;
int ijk;
Student temp; //中间变量
if((fp=fopen(“result.dat““w“))==NULL) //新建result文件
{
printf(“文件打开失败!\n“);
return;
}
for(i=0;i {
k=i;
for(j=i+1;j if(stud[j].flag>stud[k].flag)
k=j;
temp=st
相关资源
- 并发式聊天室C语言
- 用C语言实现NFA到DFA的转换过程
- 动态分区分配方式,C语言实现的
- C语言综合 里面含有八皇后问题,蓝
- 二叉排序树C语言版的!.c
- C语言实现telnet
-
ba
se64编码与解码源程序 C语言实现 - 人工智能专家系统C语言版
- C语言 机房收费管理系统
- 成熟 免费adpcm音频C语言 编解码
- 用C语言写的最坏适应算法
- 51单片机产生PWM的程序和怎样控制直流
- C语言程序设计学生成绩管理系统
- c语言程序设计关于教师工作量管理系
- AES详细源码C语言实现带注释
- 城市最短路径查询C语言
- c语言课程设计通讯录管理系统设计报
- 无线遥控锁解码
- 《嵌入式Linux C语言应用程序设计》读
- 数字图像处理 邻域平均法 C语言
- 谭浩强 C语言程序设计第三版视频教程
- 西工大 2011年 C语言 POJ实验习题
- C语言期末考试全部知识点复习资料
- c语言写的图像插值算法
- 选区划分C语言编写
- 条码CODE128C语言算法
- C语言 华容道源代码
- 基于多线程的Linux聊天室系统
- 算法与数据结构_C语言版_答案(1-8章
- 全国计算机二级c语言历年真题完整版
评论
共有 条评论