电子投票平台管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合性实验报告
题目:电子投票平台管理系统
课程名称:C语言程序设计
院系名称:计算机科学与技术学院
专业班级: 09计算机(非师范)
学生姓名:***
学号: ***********
任课教师:**
一、实验目的:
C语言课程设计是计算机学院重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合起来,独立分析和解决实际问题的机会。
1. 进一步巩固和复习C程序设计的基础知识。
2. 培养学生结构化程序,模块化程序设计的方法和能力。
3. 提高学生调试程序的技巧和软件设计的能力。
4. 提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。
5. 了解软件的编制过程。
二、实验要求:
1.主要操作包括:数据输入、输出、插入、删除、查找、修改、排序等。
2. 用C语言编程实现上述实验内容的结构定义和相关功能,要求程序能够正确执行,最后提交源程序代码及实验报告。
三、系统分析
电子投票平台有两大功能是:管理员操作和游客操作。它包括功能选择;身份验证;投票人管理模块;候选人管理模块;投票区和得票结果管理六大模块。保证了不同人有自己的操作,同时又不能执行别人的操作,具有安全性,并且又有一定的实用性。
本程序包含六个功能模块:功能选择;身份验证;投票人管理模块;候选人管理模块和投票区。
①功能选择:功能选择模块为系统提供类似于菜单的功能,让用户输入功能选择项,并进入相应的功能执行程序。系统按权限分为管理员的功能选择和投票人的功能选择。分别在admin()和gust()函数中。
②身份验证:该模块判断要使用该系统的是投票人还是管理员,首先获取登录者的用户名和密码,当用户名和密码相符时,判断用户的权限并进入相应功能选择函数。当用户忘记密码时,给用户机会进行重新输入。源程序包含在denglu()中。
③候选人管理模块:候选人管理模块完成候选人的初始化、候选人信息的浏览、候选人信息修改、3个主要功能。源程序包含在chushihua();liulan();xiugai()。
④投票区管理:投票区完成该系统的主体功能。当投票人顺得登录系统后,输入要投票的候选人的姓名,即可完成投票。候选人的得票信息会随时刷新。每个投票人投票后就会失去投票的权利,避免重复投票。投票后立刻显示各个候选人的得票数。
四、程序操作说明书
①. 用户类型操作
②.输入1进行管理员操作。输入帐号和密码。进行下一步操作。
③.输入1进行候选人初始化,并输入各个候选人的资料。
④初始化完成后,返回管理员操作界面,输入2可以浏览候选人。
⑤浏览后,可以输入3修改候选人资料。然后选择相应的的资料进行修改
⑥.输入5可以返回主界面。重复操作。
⑦选择2进入投票者界面并输入帐号和密码。
⑧.输入1可以浏览候选人的资料。
⑨输入2可以进行投票,如果投票后就不能进行投票了。投票成功后会输出个候选人的得票数。
五、系统实现
表3-1 程序总框架(函数清单)表
序号文字解释函数
1 管理员界面Admin()
2 候选人初始化chushihua()
3 用户登录denglu();
4 主界面delujiemian()
5 管理员的操作guanliyuancaozuo();
6 投票者界面gust();
详细源程序#include
#include
#include
#include
#define SIZE 3
#define NUM 11
int zxcv;
void chushihua();
void liulan();
void xiugai();
struct user
{
long number;
char name[15];
char ps[8];
int power;
int n;
}us[NUM];
struct candidate
{
long number;
char name[80];
char intro[80];
int votenum;
}cd[SIZE];
void yonghucaozuo();
void denglujiemian()
{
printf("***************************\n");
printf("管理员请选择1,游客请选择2.\n");
printf("***************************\n");
}
void admin()
{
//int j;
printf("********************************\n");
printf("*********1 初始化候选人*********\n");
printf("*********2 浏览候选人 *********\n");
printf("*********3 修改候选人 *********\n");
printf("*********4 退出 *******\n");
printf("*********5 返回上一层 *********\n");
printf("********************************\n");
}
void gust()
{
printf("********************************\n");
printf("**********1 浏览候选人 *********\n");
printf("**********2 投票 *********\n");
printf("**********3 退出 *********\n");
printf("**********4 返回上一层 *********\n");
printf("********************************\n");
}
void chushihua() //初始化候选人
{
FILE *fp;
int i;
printf("请输入候选人的数据:\n");
for(i=0;i { printf("请输入第%d个候选人的数据:\n",i+1); printf("\n编号:");