电子投票系统C语言课程设计_广东工业大学

上传人:xmg****18 文档编号:242472742 上传时间:2022-01-19 格式:DOC 页数:16 大小:74KB
返回 下载 相关 举报
电子投票系统C语言课程设计_广东工业大学_第1页
第1页 / 共16页
电子投票系统C语言课程设计_广东工业大学_第2页
第2页 / 共16页
电子投票系统C语言课程设计_广东工业大学_第3页
第3页 / 共16页
电子投票系统C语言课程设计_广东工业大学_第4页
第4页 / 共16页
电子投票系统C语言课程设计_广东工业大学_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《电子投票系统C语言课程设计_广东工业大学》由会员分享,可在线阅读,更多相关《电子投票系统C语言课程设计_广东工业大学(16页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告一、需求分析:1、 设计题目:电子投票系统2、设计内容及要求:1通过编程建立一个小型电子投票系统,其中包含电子投票、票数统计功能。尽量做到提供一个简单的人机界面,系统界面友好,使用方便。2软件的使用者分为两类,一类为管理员,可以对候选人信息进行初始化和修改,还可浏览候选人信息介绍,可对候选人的票数进行排序以及对系统的用户进行管理,创建使用者用户名和密码等。另一类为使用者普通投票者,该类用户需要用管理员分配的用户名和密码正确登录系统,可以查询候选人介绍、投票等。投票是只需做到输入自己想要投票的候选人编号即可完成投票3、系统功能分析:本系统程序功能:1投票者功能a.浏览所有候选人资料b

2、.查询要了解的候选人的信息c.在了解候选人之后进行投票2管理员功能a.创建新的候选人资料b.创建新的用户资料c.查询要了解的候选人资料d.浏览所有的候选人资料e.对候选人票数进行统计并排序二、具体设计1、功能模块 1开始运行与结束运行界面模块开始运行显示有电子投票系统字样的界面,结束运行时则输出显示感谢参与、再见字样的界面。2功能选择模块根据输入的用户名和密码,分别进入管理员界面和投票者界面3身份验证模块验证管理员和投票者的用户名和密码是否正确,不正确可选择重新输入用户名和密码或者退出。4投票人管理模块实现对投票人的管理功能,如创建投票人用户名和密码。主要用结构体类型的数组和文件的读写来完成数

3、据的管理操作。 5候选人管理模块同投票人管理模块类似,要实现对大量有一定结构的信息进行管理的操作,如创建候选人,查询、浏览候选人信息。因此定义候选人信息结构体,用于存储候选人信息记录,并且将大量记录存储在硬盘文件中以便保存。用文件的读写函数实现各项功能。 6投票区模块投票区模块用于完成系统的主体功能,提示投票人输入自己想要选举的候选人序号,系统立刻将该候选人对应的票数加一,并将目前的投票状况显示给投票人。因此该部分只需读取候选人信息文件,将对应的候选人票数加一后再写回文件并显示即可。7票数管理模块:该模块具有对候选人票数进行排行和浏览两大功能。2、程序流程图三、源程序代码#include#in

4、clude#include#include#include#define closegr closegraph#define N 30void welcome;/*欢迎 */void thans; /* 再见 */void main_a; /* 管理员主控平台 */void main_v; /* 用户投票者主控平台 */void create; /* 创建候选人 */void CreatUser;/* 创建用户 */void search; /* 查询候选人信息 */void browse; /* 浏览候选人信息 */void vote; /* 用户投票 */void read_c_man;/

5、* 读取候选人信息 */void c_save; /* 存储候选人信息*/int total=0,c_total=0;int i=0;/*候选人信息数据结构描述候选人的编号、姓名、简介和得票数量信息,作为候选人信息记录存在文件中*/typedef struct candidate long number; char name20; char intro400; int vote;candidate;/*系统用户数据结构描述系统用户编号、用户名、密码和权限信息,作为一整条记录存放在文件中*/typedef struct user char name20; char ps8; int power;

6、user;candidate c_manN;user total_userN;void read_c_man char DataFile20=候选人.txt; FILE * fp=NULL; c_total=0; fp=fopen; if printf; perror; getch; exit; whilefread&c_manc_total,sizeof,1,fp!=NULL c_total+; fclose;void c_save FILE *fp=NULL; char DataFile20=候选人.txt;/* 存储投票人信息的文件名 */ fp=fopen; fori=0;i iffw

7、rite&c_mani,sizeof,1,fp!=1 printf; perror; getch; exit; void byebye thans;void vote long candidatenum;/* 定义进行操作时的临时结构体变量 */ int i,flag; char DataFile20=候选人.txt,next; /* DataFile存储候选人信息的文件名,next为是否进行下一次投标操作的选项 */ candidate TempS; FILE *fp;begin: flag=0;/*flag用来标志是否找对应编号,即投票是否成功*/ read_c_man; printf;

8、scanf; printf; fori=0;i if flag=1; c_mani.vote+; if printf; fp=fopen; /* 如果当前文件不存在,提示打开文件失败 */ if printf; perror; getch; exit; fori=0;i fwrite&c_mani,sizeof,1,fp; fclose; else printf; printf; getch; return; /* 显示投票后的情况 */ fp=fopen; if printf; perror; getch; exit; printf; printf; /*将文件中的数据读入结构体数组*/ w

9、hilefread&TempS,sizeof,1,fp!=NULL if printf; fclose; printfn继续吗?是/否: ; fflush; next=getchar; putchar; ifgoto begin; /*创建用户信息*/void CreatUser FILE *fp=NULL; char DataFile20=用户.txt;/* 存储投票人信息的文件名 */ user TempS; int over_flag=0; char c; /*读入原始数据,用于检查输入是否有重复*/ fp=fopen; if printf; perror; getch; exit; whilefread&total_usertotal,sizeof,1,fp!=NULL total+; fclosefp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号