欢迎来到天天文库
浏览记录
ID:6327091
大小:212.50 KB
页数:39页
时间:2018-01-10
《c语言课程设计报告-电子投票平台》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言课程设计报告——08级电子4班****3108009296一、需求分析1.设计题目:电子投票平台2.设计内容1)编程建立一个小型电子投票系统,其中包含电子投票、票数统计功能,。尽量做到提供一个简单的人机界面,系统界面友好,使用方便。2)软件的使用者分为两类,一类为管理员,可以对候选人信息进行初始化和修改,还可浏览候选人信息介绍,对于候选人所得票数,管理员可以进行排序,以便得出最终投票结果,也可以对系统的用户进行管理,创建使用者用户名和密码等。另一类为使用者为普通投票者,该类用户需要用管理员分配的用户名和密码正确登录系统,可以查询候选人信
2、息、浏览候选人信息和进行投票等,其中投票是只需做到输入自己想要投票的候选人编号即可完成投票。3.系统功能1)投票者功能A.浏览候选人信息.B.输入候选人的号码即可查询候选人信息。C.输入所选候选人的号码即可完成投票。2)管理员功能A.初始化候选人信息且创建候选人:在系统投入使用前,管理员先将需要投票选举的候选人信息录入系统中,以便投票和查看。管理员的初始化工作就是将候选人的号码、姓名和简介录入系统。B.浏览和查询候选人信息:管理员有权浏览候选人信息及其投票情况,以便随时掌握候选人的信息和对候选人信息进行修改。C.管理员可以对投票者的用户名和密
3、码进行管理,也可对投票的结果进行排序。二、详细设计1.主要功能模块a.主程序模块输出主菜单,调用其他函数实现整体功能b.封面输出模块输出欢迎信息,主要是用点阵字模来输出中文内容。c.功能选择模块根据输入的用户名{1}和密码{1},进入不同的界面d.身份验证模块验证管理员和用户(投票者)的用户名和密码是否正确,不正确可选择重新输入用户名和密码或者退出。e.投票人管理模块 该模块主要实现常规的管理功能,如投票人的初始化,即创建投票人用户名和密码。因此该模块主要用结构体类型的数组和文件的读写来完成对大量数据的管理操作。f.候选人管理模块候选人管理模
4、块和投票人管理模块类似,要对大量有一定结构的信息进行管理操作,如创建候选人,查询、浏览候选人信息。因此定义候选人信息结构体,用于存储候选人信息记录,并且将大量记录存储在硬盘文件中以便保存。用文件的读写函数辅助实现各项功能。g.投票区模块投票区模块用于完成系统的主体功能,提示投票人输入自己想要选举的候选人序号,系统立刻将该候选人对应的票数加一,并将目前的投票状况显示给投票人。要将候选人对应的票数增加,需读取候选人信息文件,将对应的候选人票数加一后再写回文件即可。h.得票结果管理模块: 得票结果管理属于管理员的权限范围,该模块共有清空投票结果、
5、得票结果按票数多少的排行浏览两大功能。能过得票结果排行浏览可得知哪位候选人选举成功。当选举结束后,可选择清空得票结果。2.主要流程图三、源程序代码1.头文件#include#include#include#include#include#defineclosegrclosegraph#defineN30voidwelcome();/*欢迎 */voidthans();/* 再见 */voidmain_a();/* 管理员主控平台 */voidm
6、ain_v();/* 用户(投票者)主控平台 */voidcreate();/* 创建候选人 */voidCreatUser();/* 创建用户 */voidsearch();/* 查询候选人信息 */voidbrowse();/* 浏览候选人信息 */voidvote();/* 用户投票 */voidread_c_man();/* 读取候选人信息 */voidc_save();/* 存储候选人信息*/ */2.候选人信息数据结构 描述候选人的编号、姓名、简介和得票数量信息,作为候选人信息记录存在文件中。typedefstructcandi
7、date{longnumber;/* 候选人号码 */charname[20];/* 候选人名称 */charintro[400];/* 候选人简介 */intvote;/* 候选人票数 */}candidate;3.系统用户数据结构描述系统用户的编号、用户名、密码和权限信息,作为一整条记录存放在文件中。typedefstructuser{charname[20];/* 用户名称 */charps[8];/* 用户密码 */intpower;/* 用户权限 */}user;4.程序清单#include#include8、ing.h>#include#include#include#defineclosegrclosegr
8、ing.h>#include#include#include#defineclosegrclosegr
此文档下载收益归作者所有