学生电子投票平台设计报告_第1页
学生电子投票平台设计报告_第2页
学生电子投票平台设计报告_第3页
学生电子投票平台设计报告_第4页
学生电子投票平台设计报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津职业技术师范大学Tianjin《面向对象程序设计》课程设计报告学生电子投票平台设计专业:计算机科学与技术班级学号:计科0814-32学生姓名:魏花指导教师:刘玲教授二〇一一年六月课程设计名称:学生电子投票平台设计课程设计概述:1、选题意义:学生电子投票平台设计是通过界面录入候选人的信息〔姓名、编号、数学成绩、英语成绩、C++成绩〕,运行过后能够显示候选人的信息,并且统计总成绩和排名。接下来进行投票,投票人为候选人投票,显示投票结果,且能在进行增加候选人信息和查询候选人信息及排名情况。2、设计目的:(1)、运用C++面向对象的知识,解决学生电子投票平台设计。(2)、利用结构体、类、继承、析构函数、构造函数及对以前积累知识来设计这一学生电子投票系统。(3)、全面提高学生的程序设计能力和开发能力。3、设计根本要求(1)、功能齐全:界面操作灵活方便,至少实现以下根本功能:候选人为5名,投票人数最少为10人;候选人信息包括:编号、姓名和本学期三门课程的成绩〔英语、数学、C++语言〕;程序运行时显示简单菜单,菜单内容包括:录入数据:录入候选人信息;显示数据:显示候选人信息并统计三门课程总成绩;投票;投票结果:显示票数统计结果,并按得票数排序;⑤查询:输入编号查询某候选人信息。(2)、友好性:界面友好、输入有提示、尽量展示人性化。(3)、可读性:源程序代码清晰、有层次、主要程序段有注释。(4)、健壮性:用户输入非法数据时,系统应及时给出警告信息。4、使用工具软件:MicrosoftVisualStudio10.0课程设计内容简介:1、流程图:投票候选人信息录入投票候选人信息录入所有信息显示查询所有信息显示查询2、翻开MicrosoftVisualStudio10.0,新建“工程〞,MFC下的“MFC应用程序〞,输入名称“vode〞,点击〞确定“,选择〞基于对话框“,点击〞确定“。在对话框中添加三个“GroupBox〞,其中两个分别为“候选人信息录入〞和“投票〞,然后根据要求将对话框添加完整,如下列图所示:3、在头文件voteDlg.h中添加代码:CStringm_num;//学生学号 afx_msgvoidOnBnClickedButton1(); CListCtrlm_list; CStringm_name;//姓名 UINTm_english;//英语成绩 UINTm_math;//数学成绩 UINTm_cpp;//C++成绩intStu_i;//录入信息时的标识intm_tick;//总票数intStu1Num;//学生一票数intStu2Num;intStu3Num;intStu4Num;intStu5Num;boolWriteOver;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); DWORDdwStyle=m_list.GetExtendedStyle(); dwStyle|=LVS_EX_FULLROWSELECT; m_list.SetExtendedStyle(dwStyle); returnTRUE;//除非将焦点设置到控件,否那么返回TRUE}点击输入信息按钮时:voidCvoteDlg::OnBnClickedButton1(){ if(Stu_i<5) { UpdateData(); if(m_num==_T("")) { AfxMessageBox(_T("请输入学号!")); } elseif(m_name==_T("")) { AfxMessageBox(_T("请输入姓名!")); } else { m_list.InsertItem(Stu_i,m_num);//将学号写入列表视图〔listcontrol〕 m_list.SetItemText(Stu_i,1,m_name);//姓名 CStringstr=_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;//录入完毕将录入标识改为1 } } } else { AfxMessageBox(_T("五名同学信息已录入完毕!")); }}投票:voidCvoteDlg::OnBnClickedButton2(){ //TODO:在此添加控件通知处理程序代码 if(WriteOver==1) { Stu1Num++; m_tick++; CStringstr=_T(""); str.Format(_T("%d"),Stu1Num); m_list.SetItemText(0,6,str);//学生一票数 UpdateData(false); } else { AfxMessageBox(_T("请先录入学生信息!")); }}voidCvoteDlg::OnBnClickedButton3(){ //TODO:在此添加控件通知处理程序代码 if(WriteOver==1) { Stu2Num++; m_tick++; CStringstr=_T(""); str.Format(_T("%d"),Stu2Num); m_list.SetItemText(1,6,str);//学生二票数 UpdateData(false); } else { AfxMessageBox(_T("请先录入学生信息!")); }}voidCvoteDlg::OnBnClickedButton4(){ //TODO:在此添加控件通知处理程序代码 if(WriteOver==1) { Stu3Num++; m_tick++; CStringstr=_T(""); str.Format(_T("%d"),Stu3Num); m_list.SetItemText(2,6,str);//学生三票数 UpdateData(false); } else { AfxMessageBox(_T("请先录入学生信息!")); }}voidCvoteDlg::OnBnClickedButton5(){ //TODO:在此添加控件通知处理程序代码 if(WriteOver==1) { Stu4Num++; m_tick++; CStringstr=_T(""); str.Format(_T("%d"),Stu4Num); m_list.SetItemText(3,6,str);//学生四票数 UpdateData(false); } else { AfxMessageBox(_T("请先录入学生信息!")); }}voidCvoteDlg::OnBnClickedButton6(){ //TODO:在此添加控件通知处理程序代码 if(WriteOver==1) { Stu5Num++; m_tick++; CStringstr=_T(""); str.Format(_T("%d"),Stu5Num); m_list.SetItemText(4,6,str);//学生五票数 UpdateData(false); } else { AfxMessageBox(_T("请先录入学生信息!")); }}voidCvoteDlg::OnBnClickedButton9(){ //TODO:在此添加控件通知处理程序代码 m_tick++; UpdateData(false); }查询:voidCvoteDlg::OnBnClickedButton7(){ //TODO:在此添加控件通知处理程序代码' CStringstr1,str2; m_combo.GetWindowTextW(str1);//获得组合框字符串//清空列表控件的选中状态m_list.SetFocus(); for(inti=0;i<5;i++)m_list.SetItemState(i,static_cast<UINT>(~LVIS_SELECTED),LVIS_SELECTED); //索引学号,找到与组合框字符串相同的学生,高亮显示for(intj=0;j<5;j++) { str2=m_list.GetItemText(j,0); if(str1==str2) //AfxMessageBox(str2); m_list.SetItemState(j,LVNI_FOCUSED|LVIS_SELECTED,LVNI_FOCUSED|LVIS_SELECTED);}}清空信息:voidCvoteDlg::OnBnClickedButton8(){ //TODO:在此添加控件通知处理程序代码 m_list.DeleteAllItems(); m_combo.ResetContent(); Stu_i=0;}定义: CStringm_num;//学生学号 afx_msgvoidOnBnClickedButton1(); CListCtrlm_list; CStringm_name;//姓名 UINTm_english;//英语成绩 UINTm_math;//数学成绩 UINTm_cpp;//C++成绩 intStu_i;//录入信息时的标识 intm_tick;//总票数 intStu1Num;//学生一票数 intStu2Num; intStu3Num; intStu4Num; intStu5Num; boolWriteOver;4、程序运行结果:得意之处:1、程序代码清晰,有层次性,在程序段中有相应的注释,使程序简单化了,易懂,具有良好实用性。2、界面友好,输入有提示,显示了良好的人性化。3、界面操作灵活方便,健壮性好:用户输入非法的数据时,系统及时的给出了警告信息。4、本程序运行稳定,可读性强,源程序代码清晰、有层次。五、创意的技术实现:1、利用MFC下的基于对话框功能构建一个对话框,然后将所需要的功能添加上去。2、将输入的信息写入到controllist中去,并且利用获得焦点的方法使当学生不满五人时不能进行投票。voidCvoteDlg::OnBnClickedButton1(){//staticinti=0;if(Stu_i<5) { UpdateData();if(m_num==_T("")) { AfxMessageBox(_T("请输入学号")); }elseif(m_name==_T("")) { AfxMessageBox(_T("请输入姓名")); }else { m_list.InsertItem(Stu_i,m_num);//将学号写入列表视图〔listcontrol〕 m_list.SetItemText(Stu_i,1,m_name);//姓名 CStringstr=_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.InsertStri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论