C学生电子投票平台系统报告

合集下载

c语言程序课程设计投票系统

c语言程序课程设计投票系统

c语言程序课程设计投票系统一、教学目标本节课的教学目标是使学生掌握C语言程序设计的基本知识,通过构建投票系统,让学生了解和掌握结构体、函数、文件操作等C语言的核心概念和编程技巧。

知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等;使学生理解结构体、文件操作在C语言中的运用。

技能目标:使学生能够运用C语言编写简单的程序;使学生能够运用结构体、函数、文件操作等知识编写中等难度的程序。

情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生的逻辑思维能力和问题解决能力。

二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等;结构体、文件操作在C语言中的应用;通过构建投票系统,使学生了解和掌握C语言的核心概念和编程技巧。

三、教学方法本节课采用讲授法、案例分析法、实验法等多种教学方法。

讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构等知识;案例分析法:通过分析实际案例,使学生了解和掌握结构体、文件操作在C语言中的应用;实验法:让学生动手编写程序,巩固所学知识,培养学生的实际编程能力。

四、教学资源教材:《C语言程序设计》;参考书:《C语言编程思想》、《C语言实践与应用》;多媒体资料:PPT课件、视频教程;实验设备:计算机、网络。

五、教学评估本节课的教学评估主要包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。

2.作业:通过评估学生提交的作业,了解学生对C语言基本语法、数据类型、运算符、控制结构等知识的掌握情况。

3.实验报告:评估学生在实验过程中的编程能力和问题解决能力,以及对结构体、文件操作等知识的应用能力。

4.考试:设计合理的考试题目,全面考察学生对C语言核心概念和编程技巧的掌握程度。

评估方式应客观、公正,能够全面反映学生的学习成果。

在评估过程中,注重学生的个体差异,给予积极的反馈和指导,激发学生的学习兴趣和自信心。

学生电子投票平台方案报告

学生电子投票平台方案报告

天津职业技术师范大学TianjinUniversity of Technology and Education《面向对象程序设计》课程设计报告学生电子投票平台设计专业:计算机科学与技术班级学号:计科0814-32学生姓名:魏花指导教师:刘玲教授二〇一一年六月一、课程设计名称:学生电子投票平台设计二、课程设计概述:1、选题意义:学生电子投票平台设计是通过界面录入候选人的信息<姓名、编号、数学成绩、英语成绩、C++成绩),运行过后能够显示候选人的信息,并且统计总成绩和排名。

接下来进行投票,投票人为候选人投票,显示投票结果,且能在进行增加候选人信息和查询候选人信息及排名情况。

2、设计目的:(1>、运用C++面向对象的知识,解决学生电子投票平台设计。

(2>、利用结构体、类、继承、析构函数、构造函数及对以前积累知识来设计这一学生电子投票系统。

(3>、全面提高学生的程序设计能力和开发能力。

3、设计基本要求(1>、功能齐全:界面操作灵活方便,至少实现以下基本功能:●候选人为5名,投票人数最少为10人;●候选人信息包括:编号、姓名和本学期三门课程的成绩<英语、数学、C++语言);●程序运行时显示简单菜单,菜单内容包括:①录入数据:录入候选人信息;②显示数据:显示候选人信息并统计三门课程总成绩;③投票;④投票结果:显示票数统计结果,并按得票数排序;⑤查询:输入编号查询某候选人信息。

(2>、友好性:界面友好、输入有提示、尽量展示人性化。

(3>、可读性:源程序代码清晰、有层次、主要程序段有注释。

(4>、健壮性:用户输入非法数据时,系统应及时给出警告信息。

4、使用工具软件:Microsoft Visual Studio 10.0三、课程设计内容简介:1、流程图:2、打开Microsoft Visual Studio 10.0 ,新建“工程”,MFC下的“MFC应用程序”,输入名称“vode”,点击”确定“,选择”基于对话框“,点击”确定“。

(完整版)在线投票系统总结报告

(完整版)在线投票系统总结报告

目的:提供给学生参与科学研究和技术开发的机会,使得学生得到科研工作的基本训练。

促进教学与科研相结合,培养学生的科研意识,团队精神和协作能力。

通过科研训练使学生逐步形成严谨的科学研究作风和学术道德品质,锻炼和提高实践能力。

要求:指导教师下达训练题目并分配任务,由学生组成研究小组(1-2人),在下面题目中自由选题,独立或合作完成训练题目,每组学生要进行调查研究、文献查阅、方案设计、撰写开题报告、方案实施、结果分析、完善设计方案、撰写总结报告等过程。

要求学生熟练掌握程序设计、数学、数据结构与算法、数据库以及软件工程等相关知识。

一、进度安排及主要内容第 1、2 学时老师下达科研训练题目分配任务,第 3、4 学时根据题目要求撰写开题报告第 5、6 学时根据题目要求和开题报告开始系统详细设计第 7、8 学时按照系统设计文档开始系统的开发第 9、10 学时继续系统的开发和测试工作、完善系统第 11、12 学时修补bug、撰写科研训练总结二、科研训练题目及要求题目名称:在线投票管理系统的设计与实现题目要求:建立一个在线的投票管理系统.目标系统的主要功能是让用户根据一个主题以及相关的投票选项,选出正确的一个或者多个选项内容。

通过互联网进行投票,不仅可以提高投票效率,而且能实时地查看投票结果。

另外需要实现后台管理功能,管理员输入正确的密码之后,进入后台管理,可以对投票主题进行管理,如:添加、删除、修改投票主题,设置当前投票主题以及设置选项为多选或单选等。

同时为了防止恶意刷票等,需要实现验证码,限制IP等必要措施。

具体要求:(1)设计出数据库,完整实现整个目标系统。

(2)界面友好、操方便;(3)进行全面的需求分析;(4)软件开发文档齐全、重要算法描述清楚。

三、研宄的目的及意义与以往的投票方式相比,电子投票的优势是其他投票方式难以望其项背的。

由于投票方式的信息化,操作更加便捷、快速、也更高效,具备更强的适应能力。

这样的新型的投票方式,没有任何的形式上的限制,不需要对投票进行记录,减少了结果的误差。

网络投票系统实训报告

网络投票系统实训报告

一、实训背景随着互联网技术的飞速发展,网络投票系统在各个领域得到了广泛应用。

为了提高我们的专业技能,加强实践能力,我们进行了网络投票系统实训。

本次实训旨在让我们深入了解网络投票系统的原理、设计和实现,提高我们在网络编程、数据库管理和网络安全等方面的综合能力。

二、实训目标1. 理解网络投票系统的基本原理和设计思路;2. 掌握网络投票系统的开发流程和关键技术;3. 提高网络编程、数据库管理和网络安全等方面的实际操作能力;4. 培养团队协作和沟通能力。

三、实训内容1. 网络投票系统需求分析根据项目需求,网络投票系统应具备以下功能:(1)用户注册与登录;(2)投票创建与管理;(3)投票结果展示;(4)投票数据统计与分析;(5)系统安全与维护。

2. 网络投票系统设计(1)系统架构设计:采用B/S(Browser/Server)架构,分为前端和后端两部分。

前端采用HTML、CSS、JavaScript等技术实现用户界面;后端采用Java、Python或PHP等编程语言实现业务逻辑处理。

(2)数据库设计:采用MySQL数据库,设计用户表、投票表、选项表、投票结果表等,用于存储用户信息、投票信息、选项信息、投票结果等数据。

(3)功能模块设计:①用户模块:实现用户注册、登录、修改个人信息等功能;②投票模块:实现投票创建、管理、查看、投票等功能;③结果展示模块:展示投票结果,包括投票数、得票率等;④数据统计与分析模块:对投票数据进行统计分析,为用户提供决策依据;⑤系统维护模块:实现系统日志记录、数据备份与恢复等功能。

3. 网络投票系统实现(1)前端开发:使用HTML、CSS、JavaScript等技术实现用户界面,实现用户注册、登录、投票等功能。

(2)后端开发:使用Java、Python或PHP等编程语言实现业务逻辑处理,包括用户管理、投票管理、结果展示、数据统计与分析等。

(3)数据库操作:使用MySQL数据库进行数据存储、查询、更新等操作。

电子投票器实验报告

电子投票器实验报告

电子投票器实验报告
电子投票器实验报告是关于使用电子设备进行投票的一种技术手段的实验研究。

为了保证投票的安全、公正和透明,以下是一个典型的电子投票器实验报告的结构示例:
一、引言:
介绍电子投票器的背景和研究目的,解释为什么电子投票器对投票过程的改进是必要的。

二、方法:
描述实验中所使用的电子投票器系统的设计和原理,包括选民身份验证、投票过程、数据存储、计票和结果验证等方面的内容。

三、实验步骤:
详细描述实验中的具体步骤,包括选民的注册、登录、投票过程和结果验证等。

四、实验结果与分析:
列举实验中获得的数据和结果,对照传统投票方式进行比较分析,探讨电子投票器的优势和局限性。

五、安全与保密性讨论:
讨论实验中采取的安全措施,包括数据加密、选民身份认证、防止操纵等方面,以保证投票的安全和保密性。

六、讨论与结论:
对实验结果进行讨论,评估电子投票器的可行性和实用性,提出改进建议,并对未来研究方向进行展望。

七、参考文献:
列出实验报告中引用的参考文献,确保实验结果的可靠性和准确性。

以上是一个普遍的电子投票器实验报告的结构示例,具体结构可以根据实际情况和要求进行调整。

希望对你有所帮助!。

(完整word版)C学生信息管理系统报告

(完整word版)C学生信息管理系统报告

《可视化程序设计》项目设计报告报告题目:《学生信息管理系统》作者所在专业:软件工程作者所在班级:B13531作者学号: 201322542作者姓名:魏志鹏指导教师姓名:杨丽娟完成时间:2015。

12。

14计算机与遥感信息技术学院(完整word版)C学生信息管理系统报告目录第1章需求分析 01。

1 项目背景和问题的提出 01.2 项目意义和主要完成内容 0第2章概要设计 (1)2.1总体功能框架 (1)2。

2功能模块图 (1)2.3业务流程图 (2)第3章详细设计 (4)3.1学生信息设计 (4)3。

2 教师信息设计 (4)3.3 管理员信息设计 (5)第4章数据库设计 (6)4。

1数据表关系 (6)4.1.1整体模块图 (6)4。

1。

2学生登录模块图 (7)4。

1。

3教师登录模块图 (7)4。

1.4管理员登录模块图 (8)图4—1—4管理员登录模块图 (9)4。

2数据字典 (9)第5章系统测试 (14)5.1登录界面 (14)5.2学生信息界面 (14)5。

3教师信息界面 (16)5.4管理员信息界面 (18)第6章核心代码 (22)6.1登录功能核心代码 (22)6.2学生功能核心代码 (22)6。

3教师功能核心代码 (24)6.4管理员功能核心代码 (25)总结 (27)(完整word版)C学生信息管理系统报告第1章需求分析1.1 项目背景和问题的提出项目背景:随着学校整体能力的提高,有一个好的管理系统对于学校各方面的发展和管理有着巨大意义。

高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境.问题的提出:为了便于学生更好的学好可视化程序设计与现实的结合,先编写学生信息管理系统来实践这个问题。

投票程序实训报告(3篇)

投票程序实训报告(3篇)

第1篇一、实训背景随着互联网的普及和信息技术的发展,电子投票系统已成为现代社会不可或缺的一部分。

为了提高投票效率和准确性,降低人为干预的风险,我们进行了一次投票程序实训,旨在设计和实现一个简单、高效、安全的投票系统。

二、实训目标1. 理解电子投票系统的基本原理和设计思路。

2. 掌握编程语言(如Python)在投票程序开发中的应用。

3. 熟悉数据库技术,实现投票数据的存储和管理。

4. 确保投票过程的安全性,防止作弊行为。

5. 完成投票系统的功能测试和性能优化。

三、实训内容1. 需求分析- 投票对象:某大学学生会选举- 投票内容:学生会主席、副主席、各部部长- 投票方式:在线投票- 投票人数:1000人- 投票时间:一周2. 系统设计- 系统架构:采用前后端分离的架构,前端负责用户界面展示和交互,后端负责数据处理和业务逻辑。

- 技术选型:前端使用HTML、CSS、JavaScript,后端使用Python和Django 框架,数据库使用MySQL。

- 功能模块:- 用户注册与登录- 投票页面展示- 投票数据处理- 投票结果统计3. 系统实现- 前端实现:设计简洁、美观的用户界面,实现用户注册、登录、投票等功能。

- 后端实现:- 使用Django框架搭建后端服务,实现用户管理、投票管理、结果统计等功能。

- 使用MySQL数据库存储用户信息、投票信息、结果数据等。

- 安全实现:- 使用HTTPS协议加密数据传输,保证数据安全。

- 使用JWT(JSON Web Token)技术实现用户身份验证和授权。

- 设置投票截止时间,防止超时投票。

4. 系统测试- 功能测试:对各个功能模块进行测试,确保功能正常。

- 性能测试:对系统进行压力测试,评估系统在高并发情况下的性能表现。

- 安全测试:对系统进行安全漏洞扫描,确保系统安全。

四、实训结果1. 成功设计和实现了投票系统,满足了实训目标。

2. 系统功能完善,包括用户注册、登录、投票、结果统计等。

c语言电子投票系统课程设计

c语言电子投票系统课程设计

c语言电子投票系统课程设计一、课程目标知识目标:1. 理解C语言中数组、函数、指针等基本概念,并能运用这些知识构建电子投票系统的数据结构。

2. 学会使用C语言进行文件读写操作,实现对投票数据的存储和读取。

3. 掌握C语言中的模块化编程,将电子投票系统的功能划分为独立模块,提高代码可读性和可维护性。

技能目标:1. 能够运用所学知识设计并实现一个简单的电子投票系统,具备投票、计票、结果显示等功能。

2. 培养学生分析问题、解决问题的能力,通过编写代码解决电子投票系统中遇到的技术难题。

3. 提高学生的团队协作能力,分组合作完成课程设计任务。

情感态度价值观目标:1. 培养学生对待编程的热情和兴趣,激发学生学习C语言的积极性。

2. 培养学生严谨、细心的编程习惯,提高代码质量。

3. 增强学生的法律意识和道德观念,认识到电子投票系统在实际应用中应遵循公平、公正、公开的原则。

课程性质:本课程设计属于实践性课程,旨在让学生将所学的C语言知识应用于实际项目中,提高编程能力和团队协作能力。

学生特点:学生已具备一定的C语言基础,具有较强的学习能力和动手能力,但对复杂系统的设计和实现尚缺乏经验。

教学要求:教师应引导学生掌握课程核心知识,注重实践操作,鼓励学生自主探究和团队协作,提高学生的编程能力和解决问题的能力。

同时,关注学生的情感态度价值观培养,使学生在课程学习中形成正确的价值观。

通过分解课程目标为具体的学习成果,为后续的教学设计和评估提供依据。

二、教学内容1. C语言基础回顾:数组、函数、指针、结构体等基本概念及其应用。

2. 文件操作:文件读写、文件存储格式,重点讲解如何将投票数据存储到文件中。

3. 模块化编程:介绍模块化编程的概念,指导学生将电子投票系统划分为用户界面、数据管理、投票处理、结果统计等模块。

4. 电子投票系统功能设计:- 投票功能:实现用户投票,包括投票选项的输入和验证。

- 计票功能:统计各选项的票数,并计算投票结果。

c语言投票管理系统课程设计

c语言投票管理系统课程设计

c语言投票管理系统课程设计一、教学目标本课程旨在通过学习C语言投票管理系统的设计与实现,让学生掌握C语言编程的基本技能,理解程序设计的基本流程,培养学生的实际编程能力和问题解决能力。

同时,通过课程的实践操作,使学生了解计算机在现代社会中的重要作用,增强学生对计算机科学的兴趣和热情。

1.掌握C语言的基本语法和数据结构。

2.理解程序设计的基本概念,如变量、函数、循环、条件语句等。

3.学习C语言在实际应用中的编程技巧。

4.能够使用C语言编写简单的程序。

5.能够独立设计和实现一个投票管理系统。

6.具备调试和优化程序的能力。

情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。

2.培养学生对编程的兴趣,激发学生进一步学习计算机科学的动力。

3.培养学生对现代科技的认识,理解计算机在现代社会中的重要作用。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、程序设计的基本概念和方法。

具体包括以下几个方面:1.C语言的基本语法:数据类型、变量、运算符、表达式等。

2.数据结构:数组、指针、结构体等。

3.程序设计的基本概念:变量、函数、循环、条件语句等。

4.投票管理系统的设计与实现:需求分析、系统设计、编码实现、测试与优化等。

教学大纲将按照以下顺序进行:1.C语言的基本语法和数据结构。

2.程序设计的基本概念和方法。

3.投票管理系统的设计与实现。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

1.讲授法:通过讲解C语言的基本语法、数据结构和程序设计的基本概念,使学生掌握理论知识。

2.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的编程技巧。

3.实验法:让学生动手编写代码,实现投票管理系统,培养学生的实际编程能力。

4.小组讨论法:分组进行讨论,培养学生的团队合作意识和沟通能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材。

学生成绩管理系统c程序设计报告分析

学生成绩管理系统c程序设计报告分析

内蒙古科技大学本科生课程设计说明书题目: C 语言课程设计——学生成绩管理系统学生姓名: ****学号: ********专业:计算机科学与技术班级: 11 级-3 班指导教师: **2012年 12月 26日内蒙古科技大学课程设计任务书课程名称 C 语言课程设计设计题目学生成绩管理系统指导教师** 时间——2012.12.312013.1.4一、教学要求1.巩固和加深学生对 C语言课程的基本知识的理解和掌握2.掌握 C语言编程和程序调试的基本技能3.利用 C语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用 C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。

某班学生成绩管理,包括以下功能:从键盘输入包括学号、姓名、各门课程成绩( 不少于 5 门) ,并将其保存在磁盘文件里打开文件后,计算每个人的总分和平均分,排序并保存具有单项查询或多项查询的功能(即按照给定的关键字, 如姓名找出满足条件的纪录)具有插入、删除和修改功能具有输出文件数据信息的功能三、设计要求及成果1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多 3 人)协作完成一个题目)2.写出详细设计说明(至少包括功能实现分析和模块流程图)3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少 3 个函数,每人至少 200 行代码,不包括注释和花括号)4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天选择课程设计题目,分析课题的要求第二天编程第三天编程及调试第四天写课程设计报告第五天提交课程设计报告(打印稿及电子稿)五、评分标准1.根据平时上机考勤、表现和进度,教师将每天点名和检查2.根据课程设计完成情况,必须有可运行的软件。

3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。

投票系统程序设计报告

投票系统程序设计报告

程序设计技术课程设计报告题目:投票系统设计班级计算机姓名学号完成日期一、课题主要内容(内容简介,包括实现的功能)本设计目的在于实现使用在线投票加评论的方式调查网民对自己网站的满意度。

游客在打开投票页面,首先需要注册登录然后才可以进行投票和评论,还可以查看投票结果;管理员登录直接进入管理员界面,管理员的权限是查看投票结果,增删投票选项以及修改注册人的信息。

二、课题主要采用技术(列出所采用的技术,如、多层开发、MVC、Ajax、Linq,并分别简单介绍所用何处和主要应用方法)数据库开发:此技术是本系统的重点,几乎所有的功能都离不开SQL Server2005中的UserInfo表和Vote表。

用户注册需要将信息录入UserInfo表,登录时又要从这个表中调出姓名和密码进行判断,用户意见和评论也是后来插入此表的;V ote表主要用来储存投票选项和人数的,查看投票结果就是显示V ote 表中的数据。

实现这种功能的方法则是得力于控件与数据库的绑定,这样才实现了信息的同步。

2.Web控件:(1)Label控件:每个页面都用到了,通过设置Text属性来显示相关的文本内容。

(2)Button控件:每一个页面都用到了这个控件,投票、登录、注册等等都是通过此控件的Click事件来实现。

(3)TextBox控件:它为用户提供了一种向Web页面中输入信息,包括文本、数字和日期的方法。

例如,投票页面的评论框,登录、注册信息的输入都是通过TextBox控件完成的。

(4)RadioButtonList控件:它为用户提供了创建一组单选按钮的方法,这些按钮可以通过与数据绑定而动态生成。

在投票页面,投票选项就是用这个控件绑定V ote表实现动态显示。

(5)GridView控件:以表格的形式显示数据源中的数据,支持排序、更新和删除、分页、行选择等功能。

本程序主要用到了更新和删除功能,即在管理员页面添加了编辑列,对用户信息实现更新和删除。

c选票系统课程设计

c选票系统课程设计

c 选票系统课程设计一、课程目标知识目标:1. 理解选票系统的基本概念,掌握其组成要素和运作原理;2. 学习并掌握选票系统的设计方法和步骤,能运用相关技术构建简单的选票系统;3. 了解我国选票制度的历史发展和现状,认识到选票系统在民主政治中的重要性。

技能目标:1. 培养学生运用信息技术解决实际问题的能力,学会设计、搭建和测试选票系统;2. 提高学生的团队协作能力和沟通能力,能在小组合作中共同完成选票系统的设计和实施;3. 培养学生的创新思维和动手能力,能够针对具体问题提出有创意的解决方案。

情感态度价值观目标:1. 培养学生对社会公共事务的关注和参与意识,增强其社会责任感;2. 培养学生尊重民主、法治、公平、正义的价值观,提高其公民素养;3. 引导学生认识到信息技术在现代社会中的重要作用,激发其学习信息技术的兴趣和热情。

本课程旨在结合学生年级特点,通过选票系统设计与实践,使学生在掌握相关知识和技术的同时,提高其综合运用能力和社会责任感。

课程注重培养学生的创新精神和团队协作能力,为我国民主政治建设培养具备实践能力的青年人才。

二、教学内容1. 选票系统基本概念:选票、选票系统、投票方式、计票方法等;教材章节:第一章“选举与投票”2. 选票系统设计原理:系统需求分析、系统设计、硬件与软件选型、数据安全等;教材章节:第二章“选票系统设计原理”3. 选票系统构建方法:系统架构、模块划分、编程语言选择、系统测试等;教材章节:第三章“选票系统构建方法”4. 我国选票制度:历史发展、现状、相关法律法规、实际案例分析等;教材章节:第四章“我国选票制度”5. 选票系统实践:小组合作设计并搭建简单的选票系统,进行测试与优化;教材章节:第五章“选票系统实践”6. 选票系统相关技术:加密技术、网络安全、数据存储与处理等;教材章节:第六章“选票系统相关技术”教学内容按照教材章节顺序进行,注重理论与实践相结合。

在教学过程中,教师将引导学生逐步掌握选票系统相关知识,培养学生动手实践能力,提高其信息技术素养。

C++学生电子投票平台系统程序

C++学生电子投票平台系统程序

#include<iostream>using namespace std;#include<string>class Houxuan{int num; //编号(biān hào)string name; // 姓名(xìngmíng)int eg; // 英语(yīnɡ yǔ)成绩int ma; // 数学(shùxué)成绩int cp; // C++成绩(chéngjì)int sum; //总成绩int pov; // 候选人的票数public:int num1(){return num;} //调用编号int pov1(){return pov;} //调用票数string name1(){return name;} // 调用姓名void Hou (int n, string na, int e,int m, int c,int p){num=n;name=na;eg=e;ma=m;cp=c;sum=e+m+c;pov=p;}//赋值void po(int m){pov=m;}//统计票数void show(); //显示候选人录入信息void showcj(); //统计候选人三门课程总成绩void showdp(); // 显示候选人票数void showqb(); //显示候选人全部信息};Houxuan a[5]; //定义数组对象a[5]void Houxuan::show () //类外定义函数show (){cout<<"\n\t\t 编号:"<<num;cout<<"名字:"<<name;cout<<"英语:"<<eg;cout<<" 数学:"<<ma;cout<<" C++:"<<cp<<endl;}void Houxuan::showcj ()//类外定义函数showcj (){cout<<"\n\t\t 编号:"<<num;cout<<" 名字:"<<name;cout<<" 总成绩:"<<sum<<endl;}void Houxuan::showdp ()//类外定义函数showdp (){cout<<"\n\t\t 编号:"<<num;cout<<"名字:"<<name;cout<<"票数:"<<pov<<endl;}void Houxuan::showqb ()//类外定义(dìngyì)函数showqb (){cout<<"\n\t\t 编号(biān hào):"<<num;cout<<" 名字(míng zi):"<<name;cout<<" 英语(yīnɡ yǔ):"<<eg;cout<<" 数学(shùxué):"<<ma;cout<<" C++:"<<cp;cout<<" 总成绩:"<<sum;cout<<"票数:"<<pov<<endl;}void main(){void display(char);cout<<"\n\n\t\t"<<"**************学生电子投票系统**********"<<"\n";cout<<"\n\t\t\t **系统菜单**\n";cout<<"\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<"\n * *"<<"\n <<"\n *<<"\n<<"\n<<"\n<<"\n<<"\n<<"\n<<"\n<<"\n * 系统录入信息: *"步骤一、录入数据:录入候选人信息*"* 步骤二、为候选人投票*"* 系统功能列表: *"* 1. 显示候选人录入信息*"* 2. 统计候选人三门课程总成绩*" * 3. 显示票数统计结果*"* 4. 按得票数为候选人排序*"* 5. 显示候选人全部信息*"* 6. 输入编号查询候选人全部信息*"<<"\n * *"<<"\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";char c1[10],c[10];int i=0,ii=0;cout<<"\n\t\t\t ***已进入系统***\n";cout<<"\n\t 是否继续?Y 是,N 否. 请输入: ";cin>>c;for(ii;;ii++)//防止用户为C 输入Y 与N 的以外的其他字符,使用数组是为了防止用户输入多个非法字符{if(c[1]!='\0'||(c[0]!='Y'&&c[0]!='N')){if(c[1]!='\0'){cout<<"\n\t 错误!: 输入指令过多,请输入单个指令: ";}elsecout<<"\n\t 错误(cuòwù)!: 无法识别指令,请重新(chóngxīn)输入: ";cin>>c;continue;}elsebreak;}if(c[0]=='Y'){cout<<"\n\t\t\t ***系统操作(cāozuò)指南***\n";cout<<"\n\t * * * * * * * * * * * * * * * * * * * * * * *"<<"\n\t * *"<<"\n\t * 一. 输入(shūrù)功能序号进行相关操作*"<<"\n\t * 二. 输入(shūrù)大写字母N 即可退出系统*"<<"\n\t * 三. 输入完成后按回车键继续*"<<"\n\t * *"<<"\n\t * 例如: *"<<"\n\t * 用户输入2 即可实现2 功能*"<<"\n\t * *"<<"\n\t * * * * * * * * * * * * * * * * * * * * * * *";int n,e,m,c,j;string na;//录入候选人信息cout<<"\n\t\t 录入候选人信息\n";cout<<"\n\t\t 提示:挨次输入编号,姓名,英语成绩,数学成绩,C++成绩\n";for(int i=0;i<5 ;i++) // 循环5 次为5 个候选人录入信息{cout<<"\n\t\t 请为第"<<i+1<<"候选人录入信息:";cin>>n>>na>>e>>m>>c;a[i].Hou (n,na,e,m,c,0); //调用Hou 函数为a[5]进行赋值}//为候选人投票cout<<"\n\t\t 为候选人投票\n";cout<<"\n\t\t 请输入投票的人数:";int renshu;int b[5]={0,0,0,0,0}; //b[5]用来记录5 个人票数cin>>renshu;cout<<"\n\t\t 提示:投票人输入编号即可进行投票\n";for( i=0;i<renshu;i++){int n;cout<<"\t\t 第"<<i+1<<"号投票人进行投票:";cin>>n;for(ii=0;;ii++){if(n!=a[0].num1()&&n!=a[1].num1()&&n!=a[2].num1()&&n!=a[3].num1() &&n!=a[4].num1()){ //判断输入的编号(biān hào)是否真确cout<<"\t 错误(cuòwù)!:投票(tóu piào)失败。

c语言课程设计电子投票平台

c语言课程设计电子投票平台

c语言课程设计电子投票平台一、教学目标本课程的目标是使学生掌握C语言的基本语法、数据结构和算法,能够运用C 语言设计并实现一个电子投票平台。

具体的学习目标包括:1.理解C语言的基本语法和编程规范。

2.掌握常用的数据结构和算法。

3.了解电子投票系统的基本原理和流程。

4.能够使用C语言编写简单的程序。

5.能够运用数据结构和算法解决实际问题。

6.能够独立设计并实现一个电子投票平台。

情感态度价值观目标:1.培养学生的编程兴趣和自信心。

2.培养学生的问题解决能力和团队合作精神。

3.培养学生的创新意识和责任感。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构和算法,以及电子投票平台的设计和实现。

具体的教学大纲如下:1.C语言的基本语法:变量、数据类型、运算符、控制语句、函数等。

2.数据结构:数组、链表、栈、队列、树、图等。

3.算法:排序算法、查找算法、递归算法等。

4.电子投票平台的设计和实现:需求分析、系统设计、模块实现、测试与调试等。

三、教学方法本课程的教学方法主要包括讲授法、讨论法、案例分析法和实验法。

具体的教学方法如下:1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和数据结构。

2.讨论法:通过小组讨论和问题解答,激发学生的思考和问题解决能力。

3.案例分析法:通过分析真实的电子投票案例,使学生了解电子投票平台的设计和实现过程。

4.实验法:通过编程实验和项目实践,培养学生的实际编程能力和团队合作精神。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体的教学资源如下:1.教材:选择一本适合学生水平的C语言教材,用于学习和参考。

2.参考书:提供一些相关的参考书籍,供学生深入学习和拓展知识。

3.多媒体资料:制作一些教学视频和演示文稿,用于辅助教学和复习。

4.实验设备:准备一些计算机和开发环境,供学生进行编程实验和项目实践。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。

C语言课程设计报告电子投票系统

C语言课程设计报告电子投票系统

0语書篠程殺针報告电子投票系统学院计算机学院 __________________专业 __________________________年级 __________________________姓名___________________________学号 ___________________教师_____________________________年月曰广东工业大学计算机学院制一.设计题目电子投票系统二课程设计目的了解软件工程中的一些系统分析,模块分析,代码设讼的概念,利用WIN-TC实现学生成绩管理系统的录入、查询、删除、统计等基本操作,使用单链表结构实现学生成绩管理,了解数据库管理的基本功能,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。

通过对系统的分析和设计,进一步巩固C语言的学习,以提高对开发环境的进一步认识和综合编程能力。

三.系统功能本系统程序功能:(1)投票者功能a.浏览所有候选人资料b.查询要了解的候选人的信息c.在了解候选人之后进行投票(2)管理员功能a.创建新的候选人资料b.创建新的用户资料c.查询要了解的候选人资料d.浏览所有的候选人资料e.对候选人票数进行统计并排序四・系统功能模块结构图本程序利用单链表存储结构完成对学生成绩的动态管理,其基本功能模块如下图所示:特点是用一组任意的存储单元存储线形表的数据元素。

链表的最大的优点是对表的添加、删除、查找、排序等操作比较方便,因此采用链表来存储候选人,投票人相关信息。

且对结点的定义如下:ttypedef struct candidate//候选人数据结构体{long number://候选人编号char name[20] ;//候选人姓名char intro[400] ;//候选人简介int vote;//候选人得票数}candidate;typedef struct user//投票者数据结构体{char name[20]://投票者姓名char ps[8] ;//对应密码int power; //权限}user;2.main ()主函数主函数是程序入口,采用模块化设计。

学生综合测评系统C设计报告

学生综合测评系统C设计报告

上海电力学院《高级程序设计C++》课程设计题目:学生综合测评系统院系:计算机科学与技术学院专业年级:计算机科学与技术学生姓名:学号:指导教师:2013年 1月目录目录..................................................................错误 ! 不决义书签。

1.需求解析 ................................................错误 ! 不决义书签。

2.大纲设计 ................................................错误 ! 不决义书签。

3.详细设计 ................................................错误 ! 不决义书签。

4.用户使用手册 ........................................错误 ! 不决义书签。

环境设置 ..........................................................错误 !不决义书签。

操作步骤 ..........................................................错误 !不决义书签。

5.程序创新点 ............................................错误 ! 不决义书签。

6.使用的主要技术 ....................................错误 ! 不决义书签。

7.总结 .......................................................错误 ! 不决义书签。

附录..................................................................错误 ! 不决义书签。

学生信息管理系统c课设报告

学生信息管理系统c课设报告

前言-----------------------------------------------------------2 概要设计-------------------------------------------------------3 详细设计-------------------------------------------------------4 原程序清单和执行结果-------------------------------------------61.源程序--------------------------------------------------62.执行结果-----------------------------------------------34 用户使用说明---------------------------------------------------36 调试与测试-----------------------------------------------------36 总结与体会-----------------------------------------------------36 参考资料-------------------------------------------------------36学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统;它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况;在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等;诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率;随着科学技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用;作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点;例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等;这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规化管理的重要条件;因此,开发这样一套管理软件成为很有必要的事情;概要设计1、功能模块图2void Delete; 实现数据删除功能void Total; 实现数据统计功能void Save; 实现数据保存功能void Read; 可从文件中将记录读取到该类的数组中;然后定义了一个主菜单函数和三个分菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作;主函数是一个程序必不可少的,在主函数中,使用一个switch语句来选择调用主菜单中的各个功能函数;详细设计1、程序中函数及数据介绍class Person 学生类class zhongxuesheng 中学生类class daxuesheng 大学生类class xiaoxuesheng 小学生类class xiao_Manage 小学生管理类class zhong_Manage 中学生管理类class da_Manage 大学生管理类void xiaoMenu 小学生管理菜单函数void zhongMenu 中学生管理菜单函数void daMenu 大学生管理菜单函数int main 主函数2、函数功能介绍显示函数显示保存的数据添加函数此函数实现的功能主要是,添加一个学生的信息,也就是说调用一次这个函数只能添加一个学生的信息;在此函数中也使用文件处理的方式,但使用的是以追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面;删除函数此函数实现的功能主要是,删除一个学生的信息;在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,用户再根据提示信息输入想要删除第几个人的信息,关闭文件;再以写的方式打开文件,以一个if条件语句控制,再重新将学生信息写入文件除了打算删除的那个学生的信息,由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据;修改函数此函数实现的功能主要是,修改一个学生的信息;此函数的设计方法和删除函数的设计思想相类似,应用的思想都是将学生信息重新写入文件的方法,将原有数据覆盖;查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查询和按姓名查询;使用if语句来选择查询条件;按学号查询根据提示信息输入学号后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的学号和输入的学号相等,则输出该学生的信息,由于学生的学号是唯一固定的,所以并使用break语句跳出循环;当无查询结果时,会输出一条提示信息“无此人信息”;按姓名查询根据提示信息输入姓名后,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的姓名和输入的姓名一样,则输出该学生的信息,由于学生的姓名有可能重复出现,所以不能使用break语句跳出循环,应该从第一个学生开始检索直到最后一名学生;当无查询结果时,会输出一条提示信息“无此人信息”;显示函数此函数实现的功能主要是,显示所有学生的信息;先是从文件中读取学生信息,然后在输出到显示窗口中;用一个for循环语句,来把所有学生的信息都输出;退出系统当输入“0”时,就能退出系统,这是通过while语句来控制实现的;保存函数将输入程序的数据保存到文件中统计函数根据选择的统计方式,然后使用一个for循环语句,从第一个学生开始检索,如果该学生的信息和选择统计方式一样,则计数变量自增,应该从第一个学生开始检索直到最后一名学生;最后输出结果源程序清单和执行结果1、源程序include<iostream>include<string>include<fstream>include<iomanip> 2.女"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switchchoice2{case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误;"<<endl;break;}cout<<"请输入学生年龄"<<endl;cin>>age;cout<<"请输入学生班级"<<endl;cin>>banji;cout<<"选择地址"<<endl;cout<<setw10<<"1.上海路"<<setw10<<"2.北京东路"<<setw10<<"3.北京西路"<<setw10<<"4.顺外路"<<setw10<<"5.南京东路"<<setw10<<"6.南京西路"<<setw10<<"7.解放东路"<<setw10<<"8.解放西路"<<setw10<<"9.青山湖大道"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switchchoice1{case 1:depart="上海路";break;case 2:depart="北京东路";break;case 3:depart="北京西路";break;case 4:depart="顺外路";break;case 5:depart="南京东路";break;case 6:depart="南京西路";break;case 7:depart="解放东路";break;case 8:depart="解放西路";break;case 9:depart="青山湖大道";break;default:cout<<"输入错误;"<<endl;break;}cout<<"地理成绩 "<<endl;cin>>spec;cout<<"历史成绩"<<endl;cin>>title;cout<<"语文成绩 "<<endl;cin>>yuwen;cout<<"数学成绩"<<endl;cin>>shuxue;cout<<"英语成绩 "<<endl;cin>>yingyu;}void Output{ cout<<setw10<<"学号"<<setw10<<"姓名"<<setw10<<"性别"<<setw10<<"年龄"<<setw10<<"班级"<<endl;cout<<setw10<<num<<setw10<<name<<setw10<<sex<<setw10<<age<<setw10<<banji<<endl;cout<<setw10<<"地址"<<setw10<<"地理"<<setw10<<"历史"<<setw10<<"语文"<<setw10<<"数学"<<setw10<<"英语"<<endl;cout<<setw10<<depart<<setw10<<spec<<setw10<<title<<setw10<<yuwen<<setw10<<shuxue<<setw10<<yingyu<<endl;}};class daxuesheng:virtual public Person 2.女"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switchchoice2{case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误;"<<endl;break;}cout<<"输入年龄"<<endl;cin>>age;cout<<"请输入学生班级"<<endl;cin>>banji;cout<<"选择地址"<<endl;cout<<setw10<<"1.上海路"<<setw10<<"2.北京东路"<<setw10<<"3.北京西路"<<setw10<<"4.顺外路"<<setw10<<"5.南京东路"<<setw10<<"6.南京西路"<<setw10<<"7.解放东路"<<setw10<<"8.解放西路"<<setw10<<"9.青山湖大道"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switchchoice1{case 1:zzmm="上海路";break;case 2:zzmm="北京东路";break;case 3:zzmm="北京西路";break;case 4:zzmm="顺外路";break;case 5:zzmm="南京东路";break;case 6:zzmm="南京西路";break;case 7:zzmm="解放东路";break;case 8:zzmm="解放西路";break;case 9:zzmm="青山湖大道";break;default:cout<<"输入错误;"<<endl;break;}cout<<"输入专业"<<endl;cin>>zc;cout<<"地理成绩 "<<endl;cin>>dili;cout<<"历史成绩"<<endl;cin>>lishi;cout<<"语文成绩 "<<endl;cin>>yuwen;cout<<"数学成绩"<<endl;cin>>shuxue;cout<<"英语成绩 "<<endl;cin>>yingyu;cout<<"联系电话 "<<endl;cin>>lianxi;}void Output{cout<<setw10<<"学号"<<setw10<<"姓名"<<setw10<<"性别"<<setw10<<"年龄"<<endl;cout<<setw10<<num<<setw10<<name<<setw10<<sex<<setw10<<age<<endl;cout<<setw10<<"班级"<<setw10<<"地址"<<setw10<<"专业"<<setw10<<"地理"<<setw10<<"历史"<<endl;cout<<setw10<<banji<<setw10<<zzmm<<setw10<<zc<<setw10<<dili<<setw10<<lishi<<endl;cout<<setw10<<"语文"<<setw10<<"数学"<<setw10<<"英语"<<setw10<<"联系电话"<<endl;cout<<setw10<<yuwen<<setw10<<shuxue<<setw10<<yingyu<<setw12<<lianxi<<endl;}};class xiaoxuesheng:virtual public Person 2.女"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switchchoice2{case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误;"<<endl;break;}cout<<"输入年龄"<<endl;cin>>age;cout<<"输入班级"<<endl;cin>>banji;cout<<"语文成绩"<<endl;cin>>yuwen;cout<<"英语成绩"<<endl;cin>>yingyu;cout<<"数学成绩"<<endl;cin>>shuxue;}void Output{cout<<setw10<<"职工编号"<<setw10<<"姓名"<<setw10<<"性别"<<setw10<<"年龄"<<setw10<<"班级"<<setw10<<"语文"<<setw10<<"英语"<<setw10<<"数学"<<endl;cout<<setw10<<num<<setw10<<name<<setw10<<sex<<setw10<<age<<setw10<<banji<<setw10<<yuwen<<setw10<<yingyu<<setw10<<yingyu<<endl;}};class xiao_ManageetNumutput;}}void xiao_Manage::Search编号查找 2.按姓名查找."<<endl;cin>>choice;switchchoice{case 1:{cout<<"请输入要查找的编号:"<<endl;int num;cin>>num;forint i=0;i<top;i++{ifzhongi.GetNum==num{zhongi.Output;return;}}cout<<"查无此人"<<endl;}break;case 2:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;forint i=0;i<top;i++{ifzhongi.GetName==name{zhongi.Output;}}for i=0;i<top;i++ifzhongi.GetName==namereturn;cout<<"查无此人"<<endl;}break;default :cout<<"无此选项请重试"<<endl;break;}}void xiao_Manage::EditetNum==num{cout<<"请对这位教师的信息进行修改:"<<endl;zhongi.Input;cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}void xiao_Manage::Deleteum{cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;} ;break;case 2:{cout<<"请输入姓名:";string name;cin>>name;forint i=0;i<top;i++{ifname=={cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;}; break;default:cout<<"没有此项,失败:"<<endl;break;}}void xiao_Manage::Totalex=="男" a++;ifzhongi.sex=="女" b++;}cout<<"男性人数为"<<a<<endl;cout<<"女性人数为"<<b<<endl;}break;default:cout<<"输入错误;请重新输入"<<endl;break;}}void xiao_Manage::Saveum<<" "<<<<" "<<zhongi.sex<<" "<<zhongi.age<<" "<<zhongi.yuwen<<" "<<zhongi.yingyu<<endl;um>>>>zhongi.sex>>zhongi.age>>zhongi.yuwen>>zhongi.yingyuutput;i++;top++;};};class zhong_Manage{zhongxuesheng zhongTMAX; etNum{cout<<"该编号的人员已存在"<<endl;return;}zhongtop=t;top=top+1;cout<<"添加成功"<<endl;}void zhong_Manage::Show{iftop==0{cout<<"无数据"<<endl;return;}forint i=0;i<top;i++zhongi.Output;}void zhong_Manage::Search{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int choice;cout<<"请选择查找方式:1.按编号查找 2.按姓名查找."<<endl;cin>>choice;switchchoice{case 1:{cout<<"请输入要查找的编号:"<<endl;int num;cin>>num;forint i=0;i<top;i++{ifzhongi.GetNum==num{zhongi.Output;return;}}cout<<"查无此人"<<endl;}break;case 2:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;forint i=0;i<top;i++{ifzhongi.GetName==name{zhongi.Output;}}for i=0;i<top;i++ifzhongi.GetName==namereturn;cout<<"查无此人"<<endl;}break;default :cout<<"无此选项请重试"<<endl;break;}}void zhong_Manage::Edit{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int num;cout<<"请输入要查找的教编号:"<<endl;cin>>num;forint i=0;i<top;i++{ifzhongi.GetNum==num{cout<<"请对该生信息进行修改:"<<endl;zhongi.Input;cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}void zhong_Manage::Delete{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl;int choice;cin>>choice;switchchoice{case 1:{cout<<"请输入编号:";int num;cin>>num;forint i=0;i<top;i++{ifnum==zhongi.num{cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;} ;break;case 2:{cout<<"请输入姓名:";string name;cin>>name;forint i=0;i<top;i++{ifname=={cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;}; break;default:cout<<"没有此项,失败:"<<endl;break;}}void zhong_Manage::Total{cout<<"1 按人数统计 2 按性别统计 3 按地址统计 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switchchoice{case 1:cout<<"中学生人数为:"<<top<<endl;break;case 2:{int a=0,b=0;forint i=0;i<top;i++{ifzhongi.sex=="男" a++;ifzhongi.sex=="女" b++;}cout<<"男生人数为"<<a<<endl;cout<<"女生人数为"<<b<<endl;}break;case 3:{int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;epart=="上海路" a1++;ifzhongi.depart=="北京东路" a2++;ifzhongi.depart=="北京西路" a3++;ifzhongi.depart=="顺外路" a4++;ifzhongi.depart=="南京东路" a5++;ifzhongi.depart=="南京西路" a6++;ifzhongi.depart=="解放东路" a7++;ifzhongi.depart=="解放西路" a8++;ifzhongi.depart=="青山湖大道" a9++;}cout<<"上海路人数为"<<a1<<endl;cout<<"北京东路人数为"<<a2<<endl;cout<<"北京西路人数为"<<a3<<endl;cout<<"顺外路人数为"<<a4<<endl;cout<<"南京东路人数为"<<a5<<endl;cout<<"南京西路人数为"<<a6<<endl;cout<<"解放东路人数为"<<a7<<endl;cout<<"解放西路人数为"<<a8<<endl;cout<<"青山湖大道人数为"<<a9<<endl;}break;default:cout<<"输入错误;请重新输入"<<endl;break;}}void zhong_Manage::Save{ofstream out"D:\\",ios::out;ifout{cout<<"打开失败"<<endl;return;}cout<<"打开成功"<<endl;forint i=0;i<top;i++{out<<zhongi.num<<" "<<<<" "<<zhongi.sex<<" "<<zhongi.age<<" "<<zhongi.depart<<" "<<zhongi.spec<<" "<<zhongi.title<<endl;}cout<<"写入成功"<<endl;;}void zhong_Manage::Read{ifstream in"D:\\",ios::in;ifin{cout<<"打开失败"<<endl;return;}int i=0;whilein>>zhongi.num>>>>zhongi.sex>>zhongi.age>>zhongi.depart>>zhongi.spec>>zhongi.title{zhongi.Output;i++;top++;};};class da_Manage{daxuesheng zhongTMAX; etNum{cout<<"该编号的人员已存在"<<endl;return;}zhongtop=t;top=top+1;cout<<"添加成功"<<endl;}void da_Manage::Show{iftop==0{cout<<"无数据"<<endl;return;}forint i=0;i<top;i++zhongi.Output;}void da_Manage::Search{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int choice;cout<<"请选择查找方式:1.按编号查找 2.按姓名查找."<<endl;cin>>choice;{case 1:{cout<<"请输入要查找的编号:"<<endl;int num;cin>>num;forint i=0;i<top;i++{ifzhongi.GetNum==num{zhongi.Output;return;}}cout<<"查无此人"<<endl;}break;case 2:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;forint i=0;i<top;i++{ifzhongi.GetName==name{zhongi.Output;}}for i=0;i<top;i++ifzhongi.GetName==namereturn;cout<<"查无此人"<<endl;}break;default :cout<<"无此选项请重试"<<endl;break;}}void da_Manage::Delete{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl;int choice;switchchoice{case 1:{cout<<"请输入编号:";int num;cin>>num;forint i=0;i<top;i++{ifnum==zhongi.num{cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;} ;break;case 2:{cout<<"请输入姓名:";string name;cin>>name;forint i=0;i<top;i++{ifname=={cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++zhongj=zhongj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;}; break;default:cout<<"没有此项,失败:"<<endl;break;}}void da_Manage::Edit{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int num;cout<<"请输入要查找的学号:"<<endl;cin>>num;forint i=0;i<top;i++{ifzhongi.GetNum==num{cout<<"请修改该生信息:"<<endl;zhongi.Input;cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}void da_Manage::Total{cout<<"1 按人数统计 2 按性别统计 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switchchoice{case 1:cout<<"大学生人数为:"<<top<<endl;break;case 2:{int a=0,b=0;forint i=0;i<top;i++{ifzhongi.sex=="男" a++;ifzhongi.sex=="女" b++;}cout<<"男性人数为"<<a<<endl;cout<<"女性人数为"<<b<<endl;}break;default:cout<<"输入错误;请重新输入"<<endl;break;}}void da_Manage::Save{ofstream out"D:\\",ios::out;ifout{cout<<"打开失败"<<endl;return;}cout<<"打开成功"<<endl;forint i=0;i<top;i++{out<<zhongi.num<<" "<<<<" "<<zhongi.sex<<" "<<zhongi.age<<" "<<zhongi.zzmm<<" "<<zhongi.zc<<endl;}cout<<"写入成功"<<endl;;}void da_Manage::Read{ifstream in"D:\\",ios::in;ifin{cout<<"打开失败"<<endl;return;}int i=0;whilein>>zhongi.num>>>>zhongi.sex>>zhongi.age>>zhongi.zzmm>>zhongi.zc{zhongi.Output;i++;top++;};};void xiaoMenu;void zhongMenu;void daMenu;int main{cout<<" 欢迎进入高校人员信息管理系统"<<endl;int choice;do{cout<<" 主菜单\n"<<endl;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<"|| ||"<<endl; cout<<"|| ||"<<endl; cout<<"|| ||"<<endl;cout<<"|| 1=>小学生信息管理 ||"<<endl;cout<<"|| 2=>中学生信息管理 ||"<<endl;cout<<"|| 3=>大学生信息管理 ||"<<endl;cout<<"|| 0=>退出系统 ||"<<endl;cout<<"|| ||"<<endl;cout<<"|| ||"<<endl;cout<<"|| ||"<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;cout<<"\n请输入您的选择:";cin>>choice;switchchoice{case 1:xiaoMenu;break;case 2:zhongMenu;break;case 3:daMenu;break;case 0:cout<<"\n您已安全退出系统."<<endl;break;default:cout<<"\n没有此选项.请重选."<<endl;break;}}whilechoice=0;cout<<"\n 欢迎您下次再使用本系统"<<endl;return 0;}void xiaoMenu{xiao_Manage t;int choice;whilechoice=0{cout<<" 小学生\n"<<endl;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<"|| ||"<<endl; cout<<"|| 1=>添加信息 ||"<<endl; cout<<"|| 2=>查找信息 ||"<<endl;cout<<"|| 3=>修改信息 ||"<<endl;cout<<"|| 4=>删除信息 ||"<<endl;cout<<"|| 5=>显示信息 ||"<<endl;cout<<"|| 6=>保存信息 ||"<<endl;cout<<"|| 7=>读取信息 ||"<<endl;cout<<"|| 8=>统计信息 ||"<<endl;cout<<"|| 0=>退出 ||"<<endl;cout<<"|| ||"<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;cout<<"\n输入您操作的选项:";cin>>choice;switchchoice{case 1:;break;case 2:;break;case 3:;break;case 4:;break;case 5:;break;case 6:;break;case 7:;break;case 8:;break;case 0:cout<<"退出成功"<<endl;break;default:cout<<"无此选项请重试"<<endl;break;}}}void zhongMenu{zhong_Manage t;int choice;whilechoice=0{cout<<" 中学生\n"<<endl;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<"|| ||"<<endl; cout<<"|| 1=>添加信息 ||"<<endl; cout<<"|| 2=>查找信息 ||"<<endl;cout<<"|| 3=>修改信息 ||"<<endl;cout<<"|| 4=>删除信息 ||"<<endl;cout<<"|| 5=>显示信息 ||"<<endl;cout<<"|| 6=>保存信息 ||"<<endl;cout<<"|| 7=>读取信息 ||"<<endl;cout<<"|| 8=>统计信息 ||"<<endl;cout<<"|| 0=>退出 ||"<<endl;cout<<"|| ||"<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;cout<<"\n输入您操作的选项:";cin>>choice;switchchoice{case 1:;break;case 2:;break;case 3:;break;case 4:;break;case 5:;break;case 6:;break;case 7:;break;case 8:;break;case 0:cout<<"退出成功"<<endl;break;default:cout<<"无此选项请重试"<<endl;break;}}}void daMenu{da_Manage t;int choice;whilechoice=0{cout<<" 大学生\n"<<endl;cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"<<endl;cout<<"|| ||"<<endl;cout<<"|| 1=>添加信息 ||"<<endl;cout<<"|| 2=>查找信息 ||"<<endl;cout<<"|| 3=>修改信息 ||"<<endl;cout<<"|| 4=>删除信息 ||"<<endl;cout<<"|| 5=>显示信息 ||"<<endl;cout<<"|| 6=>保存信息 ||"<<endl;cout<<"|| 7=>读取信息 ||"<<endl;cout<<"|| 8=>统计信息 ||"<<endl;cout<<"|| 0=>退出 ||"<<endl;cout<<"|| ||"<<endl;cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<endl;cout<<"\n输入您操作的选项:";cin>>choice;switchchoice{case 1:;break;case 2:;break;case 3:;break;case 4:;break;case 5:;break;case 6:;break;case 7:;break;case 8:;break;case 0:cout<<"退出成功"<<endl;break;default:cout<<"无此选项请重试"<<endl;break;}}}2、执行结果用户使用说明由于时间有点匆忙,故本程序未过多做人性化设计,请用户严格按照程序提示操作,并记得按回车键调试与测试首先,是对文件的处理不够熟练,通过看书和搜集一些资料解决了这个问题;其次,是在编写程序的过程中出现了一些语法错误,后通过调试逐一解决;总结与体会这两周的C++课程设计,时间上说长不长,说短也不短,却让我学到了很多,第一点就是:C++很难,似乎是学不完的,你觉得自己了解一点,是总会发现还有很多自己所不懂的东西,还。

《电子投票平台》课程设计报告范例

《电子投票平台》课程设计报告范例

《电子投票平台》课程设计报告范例1、需求分析在《电子投票平台》的需求分析环节中,会对该软件开发的意图、应用目标、作用范围和有关该软件开发的背景材料进行详细的分析。

《电子投票平台》作为一个用来进行投票统计的应用软件,在对其进行需求分析的过程中,需要充分考虑系统的可用性和有效性,联系实际应用,从而得到合理的需求分析的结论。

1.1系统概述该软件为用户提供一个在Windows系统上运行的电子投票、票数统计平台,其使用者分为两类:(1) 管理员。

管理员可以对候选人信息进行初始化和修改,还可以浏览候选人信息介绍。

对于候选人所得票数,管理员可以进行排序,以便的出最终投票结果,当投票流程结束后还可以清空候选人得票信息。

除了投票业务流程的功能外,管理员还可以对使用该系统的用户进行管理,具体对投票系统使用者的管理操作有创建用户信息文件,使用可必须知晓自己的用户名和密码,并正确登录,以此来保证安全性。

还可以对用户信息进行增加、删除、修改和查询等管理操作。

(2) 普通投票者。

这类用户需要用管理员分配的用户名和密码正确登录系统,然后能够进行的操作有浏览候选人介绍、查询候选人介绍、投票。

其中的投票操作,用户只要输入自己想要投票的候选人编号即可完成投票,保证了系统的简单易用。

1.2系统运行环境(1)硬件环境◆处理器:Intel Pentium 166或更高◆内存:32MB以上◆硬盘空间:2G以上◆显卡:SVGA显示适配器(2)软件环境◆操作系统:Windows98/Me/2000/XP/win7◆1.3功能需求描述电子投票平台是用来进行投票统计的应用软件,在投票之前需要进行身份验证。

投票人经过验证后可以用浏览和查询的方式了结候选人的介绍信息,根据候选人的介绍信息决定将选票投向那位候选人。

(1) 投票人主要功能需求如下:◆投票人的投票方式:在系统提示符下输入要选举的候选人编号,即可完成投票。

◆投票人了解候选人的方式:浏览候选人列表、输入候选人编号查询候选人介绍。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VC++课程设计报告
2016年
12月
1问题描述
学生电子投票平台设计是通过界面录入候选人的信息(姓名、编号、数学成绩、英语成绩、C++成绩),运行过后能够显示候选人的信息,并且统计总成绩和排名。

接下来进行投票,投票人为候选人投票,显示投票结果,且能在进行增加候选人信息和查询候选人信息及排名情况。

(1)、运用C++面向对象的知识,解决学生电子投票平台设计。

(2)、利用结构体、类、继承、析构函数、构造函数及对以前积累知识来设计这一学生电子投票系统。

(3)、全面提高学生的程序设计能力和开发能力。

2基本要求
课 程: C++课程设计 系 别: 计算机系 班 级: 学 号:
姓 名:
选题名称: 学生电子投票平台 起止时间: 指导教师:
1)功能齐全:界面操作灵活方便,至少实现以下基本功能:
●候选人为5名,投票人数最少为10人;
●候选人信息包括:编号、姓名和本学期三门课程的成绩(英语、数学、C++程序设计
语言);
●程序运行时显示简单菜单,菜单内容包括:
①录入数据:录入候选人信息;
②显示数据:显示候选人信息并统计三门课程总成绩;
③投票;
④投票结果:显示票数统计结果,并按得票数排序;
⑤查询:输入编号查询某候选人信息。

2) 友好性:界面友好、输入有提示、尽量展示人性化。

3) 可读性:源程序代码清晰、有层次、主要程序段有注释。

4) 健壮性:用户输入非法数据时,系统应及时给出警告信息。

5) 在规定的时间内完成课程设计任务
6) 完成课程设计报告
3需求分析
1主要任务
录入5个候选人的信息(编号,姓名,英语成绩,数学成绩,C++成绩),至少10人为这5个候选人进行投票。

统计候选人总成绩以及票数,可以对票数进行排序。

输入编号可以查询候选人的详细信息。

2.输入与输出
输入:该系统的输入主要分成2个部分,第一个部分即系统录入信息的过程,其中又分成2个部分,即录入数据和投票;第二的部分是系统功能的查询,通过输入序号来实现不同的查询。

输出:当用户输入真确的指令时,输出结果;当用户输入错的指令时会提示错误(例如:“无法识别指令,请重新输入:”),然后让用户重新输入指令。

3.程序功能
1)录入候选人信息
2)为候选人进行多人次的投票
3)显示所有候选人信息
4)统计候选人三门课程总成绩
5)显示票数统计结果
6)按得票数为候选人排序
7)显示候选人全部信息
8)输入编号查询候选人全部信息
4.测试数据
当投票时输入错误的编号是,即出现“错误!:投票失败。

”“第"<<i+1<<"号投票人重新进行投票:”来提示用户重新输入指令。

如下图所示:
当用户输入过多字符指令时,会输出“错误!: 输入指令过多,请输入单个指令:”来提示用户重新输入指令。

如下图所示:
当用户输入非法指令,即该指令不在输入范围之内,则输出“错误!: 系统无此指令,请重新输入:”来提示用户重新输入正确指令。

如下图所示:
当用户输入错误的编号的时候会出现:“错误!:无此编号。

”“请重新输入候选人编号:”:来提示用户重新输入指令。

如下图所示:
4 概要设计
程序的流程图如下所示:
在主函数通过一个判断语句让用户选择进入与退出系统,然后在候选人进行信息的录入并且存储,同时对这些候选人进行投票操作,最终通过调用一个fun函数来进行各类信息的调用与查询。

主函数主要功能:输出系统菜单、输入候选人的信息、投票、输入指令、输出指令错误提示、调用display函数、输出退出系统提示。

display函数主要功能:接收主函数指令、判断运行功能、输出功能结果。

5 详细设计
本程序主要有3个部分所组成:类,主函数,display函数。

1.类的设计
定义一个类“Houxuan”,私有部分有编号,姓名,英语,数学,C++,总成绩,票数这些变量;公有部分通过9个函数来实现赋值,统计,排序,显示等功能;最后定义一个数组变量a[5],即为存储5个候选人的各种信息。

如图为类的主要代码:
2.主函数的设计
主函数主要功能有菜单功能显示,录入候选人信息,为候选人投票,防错误提示及调用fun()函数的功能。

1)录入候选人信息
通过调用类中的 Hou()函数来为候选人进行信息的录入。

主要代码如下所示:
2)为候选人投票
通过一个循环来为5个候选人进行投票,同时通过循环来保证输入的编号是否正确。

主要代码如下:
3)防错误提示
定义两个字符数组c[10]、c1[10],用以接收用户输入的指令。

本系统所使用的指令均为单字符,即当c[1]或c1[1]不为’\0’,则提示用户重新输入指令。

主要防错误处理源程序如下图所示
函数
display()函数接收从主函数传过来的指令(即:c1[0]),即void display(char x),display()函数的主要功能为判断指令,并输出运行结果。

1)接受指令
当用户输入正确的功能指令时,即存储在c1[0]中的指令,则进入循环调用fun()函数,部分源程序如下图所示:
当用户输入N时,即退出系统,源程序如下图:
2)功能
(1)显示候选人录入信息
(2)统计候选人三门课程总成绩
(3)显示票数统计结果
(4)为统计完的票数进行编号排序(部分代码)
(5)显示候选人全部信息
(6)输入编号查询候选人全部信息
6设计调试分析
设计问题:无法对类中的票数进行排序
解决办法:
逐一进行比较,找出票数最高的,记录循环序号后并输出;然后再比较找出第2个人,当它的循环序号与第一个循环序号相同时即跳过比较;按此类推进行排序。

部分程序如下:
调试问题:用户输入多个字符会且第一个字符不是系统字符时,会导致系统进去无限循环。

解决办法:
使用字符数字接收用户指令,当数组第二个元素不为‘\0’时即表示用户输入多个字符,应重新输入,当且仅当用户输入单字符且是系统指令时(即数组第一个元素为系统指令,第二个元素为’\0’)方可继续运行。

未解决问题:
防错误系统不完善:当输入类型为int型时,如果用户输入的类型不是int型,系统则会进入死循环。

票数排序时当2人票数相同时,没有规定排序方式(按照编号排序)。

设计回顾与分析:
本程序的设计主要难点不在于能够完成各个功能,而是在于各个输入信息的防错误处理以及对各种功能的循环调用。

能够全面协调各个模块之间调用关系,并且用户能够简单化的使用该系统,此才是本系统的重要之处。

7 用户使用说明
1)运行程序后,会自动进入系统。

2)系统提示用户进行输入,即:“是否继续? Y 是,N 否.请输入:”输入Y继续操作,输入N退出系统。

3)输入Y后,系统会显示系统操作指南,系统并且会提示用户录入候选人信息并进行投票。

4)当完成(3)后,系统会提示用户输入指令,即:“请输入编号1-6进行查询(输入N退出系统):”
来进行各项查询功能。

5)输入N退出系统。

8 测试结果
1.程序菜单显示,输入”Y”继续运行程序显示菜单指南
2.录入候选人信息
3.为候选人进行投票完成录入功能
4. 显示候选人录入信息(输入1)
5. 统计候选人三门课程总成绩(输入2)
6. 显示票数统计结果(输入3)
7.按得票数为候选人排序(输入4)
8. 显示候选人全部信息(输入5)
9. 输入编号查询候选人全部信息(输入6-106-101)
10.退出系统(输入N)
9 课程设计总结
这次课程设计横跨了2个星期,在这断断续续的几天之中,发现了自身很多不足之处,自己对知识点的理解漏洞百出,也有许多重来没有听说过的东西,从而让我明白知识扎实的重要性,理解实践能力的重要性!因为基础知识的不扎实让我在这次课程设计中走了许多弯路,不过我认为是值得的,它大大的补充了我知识不足的那一面,我始终相信付出必有收获。

这次的课程设计,可以说是苦乐交加。

在程序设计过程中,不仅检验、巩固了我所学的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

它为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生运用所学知识解决实际问题的能力。

课程设计这类实践训练是我们迈向社会,从事职业工作前一个必不少的过程。

通过这次系统的设计,我在多方面都有所提高。

首先,整体与局部的把握,在系统设计前,需要整体思考系统所包含的信息及其实现的功能,在设计过程中,再思考局部功能实现的完整性与整个程序的结合。

其次,在实现各种功能时,通过查阅课本、资料,实践,对字符串的使用更加熟悉、了解,能够熟练运用字符串,而且加强了对类中参数传值的使用,巩固了类定义,函数成员使用等知识,并通过条件语句实现不同的人设置不同的操作课程设计使我对c++课程又进行了系统的复习,独立思考的能力也有了提高。

这次C++程序设计画上了圆满的句号,最后感谢老师和同学的帮助,让我顺利的完成任务。

10 参考文献
[1] 谭浩强. C++程序设计(第2版). 北京:清华大学出版社,2011.。

相关文档
最新文档