C++课程设计报告-学生信息管理.doc_第1页
C++课程设计报告-学生信息管理.doc_第2页
C++课程设计报告-学生信息管理.doc_第3页
C++课程设计报告-学生信息管理.doc_第4页
C++课程设计报告-学生信息管理.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

面向对象的编程技术课程设计实验报告姓名:学号:班级:指导老师:一、 课题名称学生信息管理二、 课题主题通过课程设计对学生信息进行分类管理。三、 应用程序简介1、 设计目的本课程设计根据学生的学号,姓名,性别,班级,出生时间,语文成绩,数学成绩,英语成绩,通过添加,删除,计算平均成绩,显示,查找,排序等功能合理的管理以上学生信息。2、 功能介绍添加:添加新的学生信息;删除:删除不需要的学生信息;计算平均成绩:计算各科目的平均成绩,有利于查看学生学习情况;显示:显示规定情况下的学生信息;查找:查找满足要求的学生,并显示其信息;排序:按照学生成绩排序,从而选出成绩最好的学生;3、 基本内容主要技术和运行环境主要技术包括对MFC的使用,对数据库的使用,对面向对象的编程(C+)的理解及使用。运行环境为VC+6.0四、 程序总体设计结构1、 总体设计结构图显示信息从数据库中读入信息选择功能初始化按性别显示显示平均成绩添加信息按性别显示按性别显示退出删除信息添加信息数据库中获取并计算删除在数据库中在数据库中查找增加在数据库中结束CEasyDlg2、 类层次图CDlgDELCDlgAddCAdoCDlgAvg3、 主要运行界面五、 心得体会C+其实我是不太会的,原本学的不扎实,但是由于大一暑假学过MFC的一些东西,所以总的来说没有什么大问题,就是数据库不怎么会处理,但是后来问了大神,解决了这些问题。在这次程序设计中学到了很多,让我对c+更加了解了,对c+的运用比以前好多了,虽然还是不是很流畅,所以这次程序设计让我收获颇多。附录一、 需求分析对学生信息进行分析管理如下:增加学生、显示全部学生、计算平均成绩、删除一个学生、按年级输出学生信息、按性别输出学生信息、按姓名检索学生、结束程序运行二、 总体设计MFC的代码实现:1、对所有数据进行初始化BOOL CEasyDlg:OnInitDialog()/初始化CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small iconSexFlag = 0;NameFlag = 0;m_InputName = 请输入想要查询的姓名;m_ComboBoxSex.AddString(_T(全部);m_ComboBoxSex.AddString(_T(男);m_ComboBoxSex.AddString(_T(女);m_ComboBoxSex.SetCurSel(0);m_Ado.OnInitADOConn();CString sql,t;sql.Format(select * from Student where x_Sex = 男);m_Ado.GetRecordSet(sql);m_nSumMan = 0;m_nSumWoman = 0;m_nManFlag = 0;m_nWomanFlag = 0;m_nNumMan = 1;m_nNumWoman= 1;while(!m_Ado.m_pRecordset-adoEOF)m_nSumMan +;m_Ado.m_pRecordset-MoveNext();sql.Format(select *from Student where x_Sex = 女);m_Ado.GetRecordSet(sql);while(!m_Ado.m_pRecordset-adoEOF)m_nSumWoman +;m_Ado.m_pRecordset-MoveNext();sql.Format(select * from Student );m_Ado.GetRecordSet(sql);m_nNum = m_Ado.m_pRecordset-RecordCount;m_nPos = 1;CStudent dstu;m_Age = _ttoi(m_Ado.GetCollect(x_Age);m_Chinese = _ttoi(m_Ado.GetCollect(x_Chinese);m_English = _ttoi(m_Ado.GetCollect(x_English);m_Math = _ttoi(m_Ado.GetCollect(x_Math);m_Name = m_Ado.GetCollect(x_Name);m_Num = m_Ado.GetCollect(x_Num);m_Sex = m_Ado.GetCollect(x_Sex);m_Time = m_Ado.GetCollect(x_Time);m_Grade = m_Ado.GetCollect(x_Grade);dstu.m_Age = m_Age;dstu.m_Chinese = m_Chinese;dstu.m_English = m_English;dstu.m_Grade = m_Grade;dstu.m_Math = m_Math;dstu.m_Name = m_Name;dstu.m_Num = m_Num;dstu.m_Sex = m_Sex;dstu.m_Time = m_Time;if(SexFlag != 0)m_Ado.ExitConnect();UpdateData(false);return TRUE; / return TRUE unless you set the focus to a control2、添加功能的实现void CEasyDlg:OnButtonAdd() /添加CDlgADD dadd;dadd.DoModal();void CDlgADD:OnButtonAdd() UpdateData(true);CAdo m_Ado;m_Ado.OnInitADOConn();CString sql;sql.Format(insert into Student(x_Num,x_Name,x_Sex,x_Chinese,x_Math,x_English,x_Time,x_Grade,x_Age) values (%s,%s,%s,%d,%d,%d,%s,%s,%d),m_Num,m_Name,m_Sex,m_Chinese,m_Math,m_English,m_Time,m_Grade,m_Age);m_Ado.GetRecordSet(sql);m_Ado.ExitConnect();AfxMessageBox(添加成功!);3、删除功能的实现void CEasyDlg:OnButtonDel() /删除Cdlgdel del;del.DoModal();void Cdlgdel:OnButtonOk() UpdateData(true);CAdo m_Ado;m_Ado.OnInitADOConn();CString sql;sql.Format(delete from Student where x_Name = %s,m_name);m_Ado.ExecuteSQL(sql);m_Ado.ExitConnect();AfxMessageBox(删除成功!); 4、平均成绩的计算与显示void CEasyDlg:OnButtonAve() /平均成绩CDlgAVE m_ave;m_ave.DoModal();void CDlgAVE:OnButton1() CAdo m_Ado;m_Ado.OnInitADOConn();CString sql;CString ave_Chinese,ave_Math,ave_English;int sum_Chinese = 0,sum_Math = 0,sum_English = 0;int count = 0;sql.Format(select x_Chinese,x_Math,x_English from Student);m_Ado.GetRecordSet(sql);while(!m_Ado.m_pRecordset-adoEOF)/ave_Chinese = m_Ado.GetCollect(x_Chinese);sum_Chinese += _ttoi(ave_Chinese);ave_Math = m_Ado.GetCollect(x_Math);sum_Math += _ttoi(ave_Math);ave_English = m_Ado.GetCollect(x_English);sum_English += _ttoi(ave_English);count +;m_Ado.m_pRecordset-MoveNext();sum_Chinese /= count;sum_Math /= count;sum_English /= count;m_Ado.ExitConnect();ave_Chinese.Format(%d,sum_Chinese);ave_Math.Format(%d,sum_Math);ave_English.Format(%d,sum_English);m_strChineseAVE = ave_Chinese;m_strMathAVE = ave_Math;m_strEnglishAVE = ave_English;UpdateData(false);5、下一个按钮的实现void CEasyDlg:OnButtonNext() /下一个CString tstr;int tint;if(m_nPos=m_nNum|m_nNumMan = m_nSumMan|m_nNumWoman = m_nSumWoman)AfxMessageBox(已经是最后一条!);return;if(m_nManFlag)m_nNumMan +;else if(m_nWomanFlag)m_nNumWoman +;elsem_nPos+;m_Ado.m_pRecordset-MoveNext();m_Age = _ttoi(m_Ado.GetCollect(x_Age);m_Chinese = _ttoi(m_Ado.GetCollect(x_Chinese);m_English = _ttoi(m_Ado.GetCollect(x_English);m_Math = _ttoi(m_Ado.GetCollect(x_Math);m_Name = m_Ado.GetCollect(x_Name);m_Num = m_Ado.GetCollect(x_Num);m_Sex = m_Ado.GetCollect(x_Sex);m_Time = m_Ado.GetCollect(x_Time);m_Grade = m_Ado.GetCollect(x_Grade);UpdateData(false);6、按性别显示信息void CEasyDlg:OnBUTTONShowSex() /性别显示if(m_ComboBoxSex.GetCurSel() = 0)SexFlag = 0;if(m_ComboBoxSex.GetCurSel() = 1)SexFlag = 1;if(m_ComboBoxSex.GetCurSel() = 2)SexFlag = 2;m_nPos = 1;m_nNumMan = 1;m_nNumWoman = 1;m_Ado.OnInitADOConn();CString sql,str;if(SexFlag = 0)sql.Format(select * from Student);m_nNum = m_Ado.m_pRecordset-RecordCount;m_Ado.GetRecordSet(sql);else if(SexFlag = 1)m_nNum = 0;sql.Format(select * from Student where x_Sex = 男);m_Ado.GetRecordSet(sql);m_nManFlag = 1;m_nSumMan = 0;while(!m_Ado.m_pRecordset-adoEOF)m_nSumMan +;m_Ado.m_pRecordset-MoveNext();sql.Format(select * from Student where x_Sex = 男);m_Ado.GetRecordSet(sql);else if(SexFlag = 2)m_nNum = 0;sql.Format(select * from Student where x_Sex = 女);m_Ado.GetRecordSet(sql);m_nWomanFlag = 1;m_nSumWoman = 0;while(!m_Ado.m_pRecordset-adoEOF)m_nSumWoman +;m_Ado.m_pRecordset-MoveNext();sql.Format(select * from Student where x_Sex = 女);m_Ado.GetRecordSet(sql);m_Age = _ttoi(m_Ado.GetCollect(x_Age);m_Chinese = _ttoi(m_Ado.GetCollect(x_Chinese);m_English = _ttoi(m_Ado.GetCollect(x_English);m_Math = _ttoi(m_Ado.GetCollect(x_Math);m_Name = m_Ado.GetCollect(x_Name);m_Num = m_Ado.GetCollect(x_Num);m_Sex = m_Ado.GetCollect(x_Sex);m_Time = m_Ado.GetCollect(x_Time);m_Grade = m_Ado.GetCollect(x_Grade);UpdateData(false);7、按照姓名显示信息void CEasyDlg:OnBUTTONShowPerson() /姓名索引UpdateData(true);CAdo m_Ado;m_Ado.OnInitADOConn();CString sql;sql.Format(select * from Student where x_na

温馨提示

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

评论

0/150

提交评论