




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津职业技术师范大学Tianjin University of Technology and Education面向对象程序设计课程设计报告学生电子投票平台设计专 业: 计算机科学与技术 班级学号: 计科0814-32 学生姓名: 魏花 指导教师: 刘玲 教授 二一一年六月一、 课程设计名称: 学生电子投票平台设计二、 课程设计概述:1、选题意义:学生电子投票平台设计是通过界面录入候选人的信息(姓名、编号、数学成绩、英语成绩、C+成绩),运行过后能够显示候选人的信息,并且统计总成绩和排名。接下来进行投票,投票人为候选人投票,显示投票结果,且能在进行增加候选人信息和查询候选人信息及排名情况。2、设计目的: (1)、运用C+面向对象的知识,解决学生电子投票平台设计。(2)、利用结构体、类、继承、析构函数、构造函数及对以前积累知识来设计这一学生电子投票系统。(3)、全面提高学生的程序设计能力和开发能力。3、设计基本要求(1)、功能齐全:界面操作灵活方便,至少实现以下基本功能:l 候选人为5名,投票人数最少为10人;l 候选人信息包括:编号、姓名和本学期三门课程的成绩(英语、数学、C+语言);l 程序运行时显示简单菜单,菜单内容包括:录入数据:录入候选人信息;显示数据:显示候选人信息并统计三门课程总成绩;投票;投票结果:显示票数统计结果,并按得票数排序;查询:输入编号查询某候选人信息。(2)、友好性:界面友好、输入有提示、尽量展示人性化。(3)、可读性:源程序代码清晰、有层次、主要程序段有注释。(4)、健壮性:用户输入非法数据时,系统应及时给出警告信息。4、使用工具软件:Microsoft Visual Studio 10.0三、 课程设计内容简介:1、流程图:投票候选人信息录入 所有信息显示查询2、打开Microsoft Visual Studio 10.0 ,新建“项目”,MFC下的“MFC应用程序”,输入名称“vode”,点击”确定“,选择”基于对话框“,点击”确定“。在对话框中添加三个“Group Box”,其中两个分别为“候选人信息录入”和“投票”,然后根据要求将对话框添加完整,如下图所示: 3、在头文件voteDlg.h中添加代码:CString m_num;/学生学号 afx_msg void OnBnClickedButton1();CListCtrl m_list;CString m_name;/姓名UINT m_english;/英语成绩UINT m_math;/数学成绩UINT m_cpp;/C+成绩int Stu_i;/录入信息时的标识int m_tick;/总票数int Stu1Num;/学生一票数int Stu2Num;int Stu3Num;int Stu4Num;int Stu5Num;bool WriteOver;3、在源文件vote.Dlg.cpp中添加代码如下:对controllist进行操作: 1.添加第一行m_list.InsertColumn(0,_T(学号),LVCFMT_LEFT,85,0);m_list.InsertColumn(1,_T(姓名),LVCFMT_LEFT,60,1);m_list.InsertColumn(2,_T(英语成绩),LVCFMT_LEFT,60,2);m_list.InsertColumn(3,_T(数学成绩),LVCFMT_LEFT,60,3);m_list.InsertColumn(4,_T(C+成绩),LVCFMT_LEFT,60,4);m_list.InsertColumn(5,_T(总成绩),LVCFMT_LEFT,55,5);m_list.InsertColumn(6,_T(获得票数),LVCFMT_LEFT,60,6);DWORD dwStyle=m_list.GetExtendedStyle();dwStyle|=LVS_EX_FULLROWSELECT;m_list.SetExtendedStyle(dwStyle);return TRUE; / 除非将焦点设置到控件,否则返回 TRUE点击输入信息按钮时:void CvoteDlg:OnBnClickedButton1()if(Stu_i5)UpdateData();if(m_num=_T()AfxMessageBox(_T(请输入学号!);else if(m_name=_T()AfxMessageBox(_T(请输入姓名!);elsem_list.InsertItem(Stu_i,m_num);/将学号写入列表视图(list control)m_list.SetItemText(Stu_i,1,m_name);/姓名CString str=_T();str.Format(_T(%d),m_english);m_list.SetItemText(Stu_i,2,str);/英语成绩str.Format(_T(%d),m_math);m_list.SetItemText(Stu_i,3,str);/数学成绩str.Format(_T(%d),m_cpp);m_list.SetItemText(Stu_i,4,str);/C+成绩str.Format(_T(%d),m_english+m_math+m_cpp);m_list.SetItemText(Stu_i,5,str);/总成绩m_list.SetItemText(Stu_i,6,_T(0);/当前票数(0)m_combo.InsertString(Stu_i,m_num);/SetDlgItemText(IDC_STATIC1+Stu_i,m_num);/修改投票栏学生学号m_num=m_name=_T();/将姓名学号清空m_english=m_math=m_cpp=0;/将成绩清零UpdateData(false);Stu_i+;if(Stu_i=5)WriteOver=1;/录入完毕将录入标识改为1elseAfxMessageBox(_T(五名同学信息已录入完毕!);投票:void CvoteDlg:OnBnClickedButton2()/ TODO: 在此添加控件通知处理程序代码if(WriteOver=1)Stu1Num+;m_tick+;CString str=_T();str.Format(_T(%d),Stu1Num);m_list.SetItemText(0,6,str);/学生一票数UpdateData(false);elseAfxMessageBox(_T(请先录入学生信息!);void CvoteDlg:OnBnClickedButton3()/ TODO: 在此添加控件通知处理程序代码if(WriteOver=1)Stu2Num+;m_tick+;CString str=_T();str.Format(_T(%d),Stu2Num);m_list.SetItemText(1,6,str);/学生二票数UpdateData(false);elseAfxMessageBox(_T(请先录入学生信息!);void CvoteDlg:OnBnClickedButton4()/ TODO: 在此添加控件通知处理程序代码if(WriteOver=1)Stu3Num+;m_tick+;CString str=_T();str.Format(_T(%d),Stu3Num);m_list.SetItemText(2,6,str);/学生三票数UpdateData(false);elseAfxMessageBox(_T(请先录入学生信息!);void CvoteDlg:OnBnClickedButton5()/ TODO: 在此添加控件通知处理程序代码if(WriteOver=1)Stu4Num+;m_tick+;CString str=_T();str.Format(_T(%d),Stu4Num);m_list.SetItemText(3,6,str);/学生四票数UpdateData(false);elseAfxMessageBox(_T(请先录入学生信息!);void CvoteDlg:OnBnClickedButton6()/ TODO: 在此添加控件通知处理程序代码if(WriteOver=1)Stu5Num+;m_tick+;CString str=_T();str.Format(_T(%d),Stu5Num);m_list.SetItemText(4,6,str);/学生五票数UpdateData(false);elseAfxMessageBox(_T(请先录入学生信息!);void CvoteDlg:OnBnClickedButton9()/ TODO: 在此添加控件通知处理程序代码m_tick+;UpdateData(false);查询:void CvoteDlg:OnBnClickedButton7()/ TODO: 在此添加控件通知处理程序代码CString str1,str2;m_combo.GetWindowTextW(str1);/获得组合框字符串/清空列表控件的选中状态m_list.SetFocus();for(int i=0;i5;i+)m_list.SetItemState(i,static_cast(LVIS_SELECTED),LVIS_SELECTED);/索引学号,找到与组合框字符串相同的学生,高亮显示for(int j=0;j5;j+)str2=m_list.GetItemText(j,0);if(str1=str2)/AfxMessageBox(str2);m_list.SetItemState(j,LVNI_FOCUSED|LVIS_SELECTED,LVNI_FOCUSED|LVIS_SELECTED);清空信息:void CvoteDlg:OnBnClickedButton8()/ TODO: 在此添加控件通知处理程序代码m_list.DeleteAllItems();m_combo.ResetContent();Stu_i=0;定义:CString m_num;/学生学号afx_msg void OnBnClickedButton1();CListCtrl m_list;CString m_name;/姓名UINT m_english;/英语成绩UINT m_math;/数学成绩UINT m_cpp;/C+成绩int Stu_i;/录入信息时的标识int m_tick;/总票数int Stu1Num;/学生一票数int Stu2Num;int Stu3Num;int Stu4Num;int Stu5Num;bool WriteOver;4、程序运行结果: 四、 得意之处:1、程序代码清晰,有层次性,在程序段中有相应 的注释,使程序简单化了,易懂,具有良好实用性。2、界面友好,输入有提示,显示了良好的人性化。3、界面操作灵活方便,健壮性好:用户输入非法的数据时,系统及时的给出了警告信息。4、本程序运行稳定,可读性强,源程序代码清晰、有层次。 五、创意的技术实现:1、利用MFC下的基于对话框功能构建一个对话框,然后将所需要的功能添加上去。2、将输入的信息写入到controllist中去,并且利用获得焦点的办法使当学生不满五人时不能进行投票。void CvoteDlg:OnBnClickedButton1()/static int i=0;if(Stu_i5)UpdateData();if(m_num=_T()AfxMessageBox(_T(请输入学号);else if(m_name=_T()AfxMessageBox(_T(请输入姓名);elsem_list.InsertItem(Stu_i,m_num);/将学号写入列表视图(list control)m_list.SetItemText(Stu_i,1,m_name);/姓名CString str=_T();str.Format(_T(%d),m_english);m_list.SetItemText(Stu_i,2,str);/英语成绩str.Format(_T(%d),m_math);m_list.SetItemText(Stu_i,3,str);/数学成绩str.Format(_T(%d),m_cpp);m_list.SetItemText(Stu_i,4,str);/C+成绩str.Format(_T(%d),m_english+m_math+m_cpp);m_list.SetItemText(Stu_i,5,str);/总成绩m_list.SetItemText(Stu_i,6,_T(0);/当前票数(0)m_combo.InsertString(Stu_i,m_num);/SetDlgItemText(IDC_STATIC1+Stu_i,m_num);/修改投票栏学生学号m_num=m_name=_T();/将姓名学号清空m_english=m_math=m_cpp=0;/将成绩清零UpdateData(false);Stu_i+;if(Stu_i=5)WriteOver=1;/录入完毕将录入标识修改为1elseAfxMessageBox(_T(五名学生信息已录入完毕!);六、课程设计中目前存在的问题:1、不能实现修改已有学生的信息。2、不能实现按投票数排序,只能将票数从高到低排序,但是无论将它的所有信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信行业全新合同签订与通信服务质量管理制度
- 犯罪预防策略优化-洞察及研究
- 中储粮专业考试题及答案
- 电商专业面试题及答案
- 2025-2030钻井行业市场发展分析及趋势前景与投资战略研究报告
- 冠心病病人家庭的护理
- 2025至2030中国车载卸料器行业运营态势与投资前景调查研究报告
- 光伏材料制备技术
- 专题03 中国现代史·选择题(安徽专用)5年(2021-2025)中考1年模拟《历史》真题分类汇编
- 金融服务机构客户隐私保护与业务合作保密合同
- 教科版科学二年级上册 全册整套课件
- 六年级上册数学教案-第一单元复习教案|人教新课标版
- 小学道德与法治学科教师专业素质考试试题及答案
- 全国质量奖现场汇报材料(生产过程及结果)课件
- 政策评价-卫生政策分析课件
- 短歌行(优质课一等奖).课件
- 北师大版小学数学五年级上册第一单元《练习一》同步练习带答案
- 球墨铸铁管规格尺寸理论重量表
- 饮食习惯与健康
- 华为人力资源管理纲要2.0
- 第二章 园艺设施的类型、结构、性能及应用
评论
0/150
提交评论