




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与工程学院报告书专 业:计算机科学与技术课程 名称:VC+实训题 目:学生信息管理系统班 级:设 计 者:完 成 时 间:总 成 绩教师签名学生信息管理系统一 系统总体方案系统基本实现了对学生信息的查询,添加,修改,删除,保存功能。二 设计思路和主要步骤思路主要是设计一个单文档用来实现主界面,然后在菜单栏添加一个菜单项,下面包含录入学生基本信息,查询学生基本信息,和修改学生基本信息等多项子菜单,每项子菜单都对应一个对话框对数据进行处理。在主对话框中添加列表控件用来显示学生的基本信息,以方便学生信息的修改,具体修改哪一项。对于学生信息的录入,查询,修改,删除都用按钮控件,并为每个按钮添加
2、消息响应函数用来处理学生的信息操作。接下来就是要把学生的基本信息能够保存下来,因此要用到文件的操作,fstream可以满足要求。综上所述,必须先掌握按钮控件,列表控件,新对话框的构建,编辑控件和消息的响应与处理原理!三 各功能模块和流程图1.功能模块实现 主界面 对话框一 对话框2 对话框3四 设计代码1.主体框架代码:int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct)if (CFrameWnd:OnCreate(lpCreateStruct) = -1)return -1;if (!m_wndToolBar.CreateEx(this
3、, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY|CBRS_SIZE_DYNAMIC)|!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)TRACE0(Failed to create toolbarn);return -1; / fail to createIf(!m_wndStatusBar.Create(this)|!m_wndStatusBar.SetIndicators(indicators,sizeof(indicato
4、rs)/sizeof(UINT)TRACE0(Failed to create status barn);return -1; / fail to createm_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);return 0;void CMainFrame:OnMenuitemadd() CMyDlgAdd dlg1;dlg1.DoModal();void CMainFrame:OnMenuitemmodify() CMyDlgModif
5、y dlg2;dlg2.DoModal();void CMainFrame:OnMenuitemseek() CMyDlgSeek dlg3;dlg3.DoModal();2.录入消息对话框的消息映射:HBRUSH CMyDlgAdd:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor);if(nCtlColor = CTLCOLOR_BTN | nCtlColor = CTLCOLOR_STATIC)pDC-SetTextColor(RGB(
6、0,0,255);pDC-SetBkMode(TRANSPARENT);pDC-SetTextColor(RGB(0,0,255);pDC-SetBkMode(TRANSPARENT);return hbr;void CMyDlgAdd:OnPaint() CPaintDC dc(this); / device context for paintingLOGFONT lf;memset(&lf,0,sizeof(LOGFONT);lf.lfHeight=28;lf.lfCharSet=GB2312_CHARSET;strcpy(LPSTR)&(lf.lfFaceName),华文新魏);CFon
7、t cf;cf.CreateFontIndirect(&lf);m_Title.SetFont(&cf);void CMyDlgAdd:OnOK() UpdateData();struct Record *re=per;fstream file;CFile file1;file.open(record.txt,ios:in|ios:out|ios:app); int nIndex=m_Speciality.GetCurSel();int i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);const int size=sizeof(struct Rec
8、ord);if(re)-id=0|(re)-name=0|re-speciality=0|re-grade=0|i=0)MessageBox(输入不完整,不能提交!);else strcpy(re)-id,m_Num);strcpy(re)-name,m_Name);CString str;int y,m,d;y=m_Birth.GetYear();m=m_Birth.GetMonth();d=m_Birth.GetDay();str.Format(%d-%d-%d,y,m,d);strcpy(re-date,str);if(i=IDC_RADIO1) strcpy(re-sex,男);if(
9、i=IDC_RADIO2) strcpy(re-sex,女);if(nIndex=0) strcpy(re-speciality,计算机);if(nIndex=1) strcpy(re-speciality,数学);strcpy(re-grade,m_Grade);fileid name sex speciality grade dateendl;file.close();CDialog:OnOK(); MessageBox(添加成功!,MB_OK,MB_ICONASTERISK);2.学生信息修改对话框消息映射:BOOL CMyDlgModify:OnInitDialog() CDialog
10、:OnInitDialog();UpdateData(false);const int nColumns=6;m_list1.InsertColumn(0,学号); m_list1.InsertColumn(1,姓名);m_list1.InsertColumn(2,性别);m_list1.InsertColumn(3,专业);m_list1.InsertColumn(4,年级);m_list1.InsertColumn(5,出生日期); CRect rect4;m_list1.GetClientRect(rect4); for(int i=0;per.sexper
11、.specialityper.gradeper.date;m_list1.InsertItem(j,per.id);m_list1.SetItemText(j,1,);m_list1.SetItemText(j,2,per.sex);m_list1.SetItemText(j,3,per.speciality);m_list1.SetItemText(j,4,per.grade);m_list1.SetItemText(j,5,per.date);strcpy(per.id,);strcpy(,);strcpy(per.sex,);strcpy(per.spec
12、iality,);strcpy(per.grade,);strcpy(per.date,);file.close();ListView_SetExtendedListViewStyle(m_list1.m_hWnd,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); /设置可以选整行return TRUE; void CMyDlgModify:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) UpdateData(); struct Record per;memset(&per,0,sizeof(struct Record)
13、;CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_LIST1); ASSERT(pListCtrl != NULL);POSITION pos = m_list1.GetFirstSelectedItemPosition(); if(pos!=NULL)nItem = m_list1.GetNextSelectedItem(pos);m_Id=m_list1.GetItemText(nItem,0);m_Name=m_list1.GetItemText(nItem,1);if(m_list1.GetItemText(nItem,2)=男)
14、CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);elseCheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO2);m_Speciality=m_list1.GetItemText(nItem,3);m_Grade=m_list1.GetItemText(nItem,4);m_Date=m_list1.GetItemText(nItem,5);m_Num.Format(%d,nItem+1);UpdateData(false);*pResult = 0;void CMyDlgModify:OnOK(
15、) if(IDNO = MessageBox(确定要修改吗?,提问,MB_YESNO|MB_ICONQUESTION)return ;UpdateData();fstream file1,file2;struct Record per;file1.open(record.txt,ios:in);file2.open(record1.txt,ios:out);if(!file1|!file2)MessageBox(Open error!);return ;int n =0 , m = 0;while(!file1.eof()n+ ;per.sexper.sp
16、ecialityper.gradeper.date;n-;m = n ;file1.close();file1.open(record.txt,ios:in);int nIndex = m_list1.GetSelectionMark();char id20=0;strcpy(id,m_list1.GetItemText(nIndex,0);memset(&per,0,sizeof(struct Record);while(n)per.sexper.specialityper.gradeper.date;if(strcmp(per.id,id) != 0
17、)file2per.id per.sex per.speciality per.grade per.dateendl;else/要修改的记录strcpy(per.id,m_Id);strcpy(,m_Name);int i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);if(i=IDC_RADIO1)strcpy(per.sex,男);if(i=IDC_RADIO2)strcpy(per.sex,女);strcpy(per.speciality,m_Speciality);strcpy(per.grade,m_Gra
18、de);strcpy(per.date,m_Date);file2per.id per.sex per.speciality per.grade per.dateendl;n-;file1.close();file2.close();remove(record.txt);rename(record1.txt,record.txt);m_Num= ;m_Name= ;m_Speciality= ;m_Grade= ;UpdateData(FALSE);RefreshData(m);void CMyDlgModify:RefreshData(int m )struct Recor
19、d per;fstream file;file.open(record.txt,ios:in);memset(&per,0,sizeof(struct Record);m_list1.DeleteAllItems();m_list1.SetRedraw(FALSE);int i = 0 ;while( i per.sexper.specialityper.gradeper.date;m_list1.InsertItem(i,per.id); m_list1.SetItemText(i,1,);m_list1.SetItemText(i,2,per.s
20、ex);m_list1.SetItemText(i,3,per.speciality);m_list1.SetItemText(i,4,per.grade);m_list1.SetItemText(i,5,per.date);i+;file.close();m_list1.SetRedraw(TRUE);4.学生信息查找代码:void CMyDlgSeek:OnButton1() UpdateData();fstream file1,file2;struct Record per;file1.open(record.txt,ios:in);file2.open(record1.txt,ios:
21、out);if(!file1|!file2)MessageBox(Open error!);return ;int n =0;while(!file1.eof()n+ ;per.sexper.specialityper.gradeper.date;n-;file1.close();file1.open(record.txt,ios:in);char id20=0;strcpy(id,m_Num);memset(&per,0,sizeof(struct Record);while(n)per.sexper.specialityper.gradeper.date;if(strcmp(per.id,id) != 0 )file2per.id
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游专业笔试题及答案
- 机械专业高考试题及答案
- 济南专业试题及答案
- 安徽省九师联盟2026届高三9月开学联考化学(含答案)
- 水利机电专业试题及答案
- 历史转专业试题及答案
- 路基前期旳施工方案
- 未来城市交通发展规划分析
- 关于学科部期末工作总结
- 桔子酒店电路施工方案
- 《儿科儿童糖尿病》课件
- 古希腊文化与体育
- JCT478.2-2013 建筑石灰试验方法 第2部分 化学分析方法
- 团体心理辅导课件-团体辅导的理论和技术
- QC小组管理程序文件
- 骨科AOBOCOMO发展与比较课件
- 《干部履历表》1999版电子版
- DC-DC电源基础知识课件
- 第八讲商业银行贷款分类管理课件
- 幼儿园中小学中秋节传统节日科普中秋节做月饼主题班会图文课件
- 美术特长生专业介绍课件
评论
0/150
提交评论