c程序班委投票选举系统
要先在文件夹中新建名字为“候选人”的文本文档且里面不要有任何内容。此程序还是有一部分漏洞的,切勿直接使用!
/* Note:Your choice is C IDE */#include#include#include#include //通过按键盘产生的对应操作getch();
#define closegr closegraph#define N 30//最多候选人数
void main_a(); //管理员界面void main_v(); //投票者者界面void addcandidate(); // 创建候选人void addUser();//创建投票者(用户)void search(); //查询候选人信息void scan();//浏览候选人信息void vote(); //投票者投票void read();//读取候选人信息void save();//存储候选人信息void sort();//整理所有投票void del();//删除候选人 从文本写入数组中读取然后置为空在传回文本void read1();//读取用户信息int total=0,c_total=0;//内存中候选人数int i=0;
typedef struct candidate//候选人数据结构体{ long number;//候选人编号 char name[20];//候选人姓名 char intro[400];//候选人简介 int vote;//候选人得票数}candidate;
typedef struct user//投票者数据结构体{ char name[20];//投票者姓名 char ps[8];//对应密码 int power;//权限 int sum;//投了几次票}user;
candidate c_man[N];user total_user[N];
void main_v()//投票者者界面{ int key;do {printf("\n***************************************************************\n");printf("********************欢迎进入班委投票界面***********************\n");printf("***************************************************************\n");printf("** 1.浏览所有候选人 2.查询候选人信息 **\n"); printf("** 3.投票 4.退出 **\n"); scanf("%d",&key);switch(key){ case 1:scan();break; case 2:search();break; case 3:vote();break; case 4:system("cls");break; default:break; } }while(key!=4);}
void vote() //投票者投票{ long candidatenum;//定义进行操作时的临时结构体变量 int over_flag=0,tf=0; int i,flag,j,k,m=0; char DataFile[20]="候选人.txt",next;// DataFile存储候选人信息的文件名,next为是否进行下一次投标操作的选项 char DataFile1[20]="用户.txt"; user TempS1; //临时存放用户信息 user TempS2; candidate TempS; //零时存放候选人信息 FILE *fp;//定义一个指向文件的指针变量fp FILE *fp1; begin: //和后面的goto begin对应 read(); // read1(); printf("请输入进行投票的用户账号:\n"); scanf("%s",&TempS2.na