C语言课程设计报告电子投票系统 该设计报告的主要目的是了解软件工程中的一些系统分析、模块分析、代码设计的概念,利用 WIN-TC 实现学生成绩管理系统的录入、查询、删除、统计等基本操作,使用单链表结构实现学生成绩管理,了解数据库管理的基本功能,掌握 C 语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。 本系统程序功能包括投票者功能和管理员功能。投票者功能包括浏览所有候选人资料、查询要了解的候选人信息、在了解候选人之后进行投票。管理员功能包括创建新的候选人资料、创建新的用户资料、查询要了解的候选人资料、浏览所有的候选人资料、对候选人票数进行统计并排序。 系统功能模块结构图如图 1所示。本程序利用单链表存储结构完成对学生成绩的动态管理。主要模块包括数据结构、main()主函数、main_a()管理员界面、main_v()投票者界面、addcandidate()创建候选人、addUser()创建用户、read()读取候选人信息、scan()浏览候选人信息、search()查询候选人信息、sort()整理所有投票、vote()投票者投票等。 在设计中,我们使用链表来存储候选人和投票者相关信息。链表的优点是对表的添加、删除、查找、排序等操作比较方便。我们定义了两个结构体:candidate 和 user,分别用来存储候选人和投票者的信息。 在 main()主函数中,我们使用模块化设计,创建用户文档,进行账号密码验证,并根据账户不同调用不同的函数进入不同的界面,执行不同的功能。在 main_a()管理员界面和 main_v()投票者界面中,我们使用 switch 语句来选择不同的功能,包括浏览候选人、添加投票人、查找候选人、添加候选人、查找候选人、查看投票结果等。 在 addcandidate()和 adduser()函数中,我们使用 for 语句和 if 语句来检查编号、姓名是否重复。在确认不再创建新候选人或用户信息后输出所有候选人或用户信息。 在 read()函数中,我们打开候选人文档,提取文档内内容。在 scan()函数中,我们先调用 read()函数读取候选人信息,然后利用 for 语句输出。在 search()函数中,我们先调用 read()函数读取候选人信息,然后利用 for 语句查找与输入编号一致的候选人信息并输出。在 sort()函数中,我们先调用 read()函数读取候选人信息,然后利用 for 语句,使用选择法对投票数进行排序,并输出。在 vote()函数中,我们先调用 read()函数读取候选人信息,然后输入候选人相应编号,利用 for 语句,将对应候选人的投票数+1,并返回到文档中,输出投票结果。 本设计报告的主要目的是了解软件工程中的一些系统分析、模块分析、代码设计的概念,利用 WIN-TC 实现学生成绩管理系统的录入、查询、删除、统计等基本操作,使用单链表结构实现学生成绩管理,掌握 C 语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。
剩余18页未读,继续阅读
- 粉丝: 376
- 资源: 8万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- new_bird_c-c语言入门
- christmasTree-圣诞树html网页代码
- working-shell脚本入门——流程控制
- hadoop_install-sqoop数据导入
- ThinkCMF-mysql安装
- BigData-Notes-sqoop的安装与配置
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c