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

下载本文档

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

文档简介

X X 学 院面向对象程序设计课程设计说明书题目学生信息管理系统系(部)xxx专业(班级)xxx姓名xxx学号xxx指导教师xxx起止日期xxx目 录第1章 选 题11.1 题目背景11.2系统实现的具体分工11.2.1 标题11.2.2 题目要求11.3开发环境12.1实现功能22.2 概要设计(涉及类的框图)22.3 界面设计23.1 涉及知识点33.2 系统运行(主要运行界面抓图)33.3 源程序代码6第4章 结束语(总结)(结论)(心得体会)17第1章 选 题1.1 题目背景在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生信息管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生信息管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生信息管理。但是人工管理信息档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生信息管理系统是必要的。1.2系统实现的具体分工“学生信息管理系统”包括七个模块:录入学生信息、浏览学生信息、删除学生信息、添加学生信息、修改学生信息、学生信息统计、安全退出系统。这七个模块既相互联系又相互独立。1.2.1 标题学生信息管理系统1.2.2 题目要求1、编写一个学生信息管理系统,学生信息包括学号、姓名、性别、政治面貌、任职、获奖、手机号码、QQ、电子邮箱等。2、功能要求:添加学生信息、删除学生信息、修改学生信息、查询校友信息(可按多个条件查询)。3、要求界面美观、输入输出整齐。1.3开发环境Visual C+ 6.0机型: 方正电脑 处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存:金士顿内存2GB 显示卡:NVIDIA GeFORCE 9400 GT 显示器:方正科技FG981-W9操作系统:Microsoft Windows XP Professional 第2章 设计内容2.1实现功能系统主要包括学生系统管理人员对学生信息的增、删、查、改等功能。 主 菜 单2.2 概要设计(涉及类的框图)安全退出模块添加学生信息模块录入学生信息模块修改学生信息模块删除学生信息模块浏览学生信息模块信息统计模块2.3 界面设计界面设计在工作流程上分为结构设计、交互设计两个部分。结构设计 Structure Design结构设计也称概念设计 (Conceptual Design),是界面设计的骨架。该学生信息系统运行时界面上的目录体系和词语定义易于用户理解和操作,其目录体系包括 1录入学生信息、2 浏览学生信息、3删除学生信息、4添加学生信息、5修改学生信息、6信息统计、7安全退出。选择 1录入学生信息 进入操作界面,其目录体系包括1需要录入的学生人数2学生学号3学生姓名4学生性别5学生年龄6获奖情况7 学生QQ号8学生住址,选择2会进入浏览学生信息界面,选择3会进入删除学生信息界面,选择4会进入添加学生信息界面,选择5会进入修改学生信息界面,选择6会进入信息统计界面,选择7会进入安全退出界面。这些都充分体现了结构化的界面设计理念。交互设计 Interactive Design 交互设计的目的是使产品让用户明白、清楚,且能简单使用。 任何产品功能的实现都是通过人和机器的交互来完成的。该人事管理系统中包含1)清楚的操作提示。当用户进入界面的时候,选择相应的数字就会进入相应的操作界面,用户则按照相关相关的提示进行操作即可。2) 使用用户的语言,而非技术的语言。 3)方便退出。4)随时转移功能,很容易从一个功能跳到另外一个功能。例如操作者所需各服务间功能转换。人的因素被作为设计的核心体现出来。第3章 系统实现3.1 涉及知识点类封装、面向对象程序设计、字符串的应用、条件语句、循环语句的使用、库函数(屏幕清零函数)的应用、过程化设计的思想等。3.2 系统运行(主要运行界面抓图)主界面 图3.2-1(主界面)1、录入学生信息界面 图3.2-2(录入学生信息界面) 浏览学生信息界面 图3.2-3(浏览学生信息界面) 删除学生信息界面 图3.2-4(删除学生信息界面)增加学生信息界面 图3.2-5(增加学生信息界面)修改学生信息界面 图3.2-6(修改学生信息界面)信息统计界面 图3.2-7(信息统计界面)退出系统界面 图3.2-8(退出系统界面)3.3 源程序代码3.3.1主要运行界面代码#include#include#include#define N 150 /*学生最多人数*/void menu(); void input(); /*输入*/void output(); /*浏览*/void find(); void find_degree(); /*按获奖情况查询*/void find_num(); /*按学号查询*/void del(); /*删除*/void insert(); /*插入*/void change(); /*修改信息*/void statistics(); /*统计计算*/void creat(int); /*创建文件*/ int in();struct worker /*结构体*/ char num15; char name15; char sex; int age; char degree40; int wage; char address40; char number15;oneN;main()char order;int sign=0,n,i;menu();for(i=0;i+)do printf(请输入要进行的操作序号17: ); scanf(%d,&n); if(n=1 & n_ *n);/printf( *nnn);void input()/*输入函数*/int i=0,m;do printf(请输入需要录入的学生人数:(1-N):n); scanf(%d,&m); if(m=N)printf(输入错误!请重新输);else break;while(1);for(i=0;im;i+)printf(学生学号:);scanf(%s,onei.num);printf(n学生姓名: );scanf(%s,);getchar();printf(n学生性别(W,M):);scanf(%c,&onei.sex);printf(n学生年龄: );scanf(%d,&onei.age);printf(n获奖情况:);scanf(%s,onei.degree);printf(n学生QQ号:);scanf(%d,&onei.wage);printf(n学生住址:);scanf(%s,onei.address);printf(n学生电话号码:);scanf(%s,onei.number);printf(n);creat(m);void creat(int m) /*保存文件函数*/int i;FILE *fp;if(fp=fopen(cd-list,wb)=NULL)printf(cannot open the filen);exit(0);for(i=0;im;i+) /*存入磁盘*/if(fwrite(&onei,sizeof(struct worker),1,fp)!=1)printf(the file errorn);fclose(fp);int in()/*导入函数*/FILE *fp;int i=0;if(fp=fopen(cd-list,rb)=NULL)printf(cannot open the filen);exit(0);else do fread(&onei,sizeof(struct worker),1,fp);i+;while(feof(fp)=0);/*判断是否是文件尾*/fclose(fp);return(i-1);void output()/*浏览函数*/int i;int m=in(); printf( 学生学号t姓名tt性别tt年龄 n); for(i=0;im;i+) printf(n %st%-12st%ctt %dtn,onei.num,,onei.sex,onei.age); printf(n 获奖情况t学生QQ号tt住址tt电话 n); for(i=0;im;i+) printf(n %-11s %-16d%-14st%sn,onei.degree,onei.wage,onei.address,onei.number);void find()int t,flag;doprintf(n按学生学号查请按1,按获奖情况查请按2n);scanf(%d,&t);if(t=1|t=2)flag=1;break;else flag=0;printf(输入错误,请重新输入!);while(flag=0);if(flag=1)switch(t)case 1:printf(n按学生学号查n);find_num();break;case 2:printf(n按获奖情况查n);find_degree();break;default:break;void find_num()char num10;int i,a;int m=in();printf(n请输入要查找学生的学号:);scanf(%s,num);for(i=0;im;i+)if(strcmp(onei.num,num)=0)printf(找到此人,其记录是:n); printf( 学号t姓名tt性别tt年龄 n); printf(n %st%-12st%ctt %dtn,onei.num,,onei.sex,onei.age); printf(n 获奖情况tt学生QQ号tt住址tt电话号码 n); printf(n %-11s %-16d%-14s%sn,onei.degree,onei.wage,onei.address,onei.number);if(i=m+1)printf(n对不起,没有此人信息!n);printf(返回查询函数按1,继续查询学号按2n);scanf(%d,&a);switch(a)case 1:find();break;case 2:find_num();break;default: break;void find_degree()char degree10;int i,t;int m=in();printf(请输入要查询学生的获奖情况:);scanf(%s,degree);for(i=0;im;i+)if(strcmp(onei.degree,degree)=0)printf(找到此人,其记录是:n); printf( 学号t姓名tt性别tt年龄 n); printf(n %s %-12st%ctt %dtn,onei.num,,onei.sex,onei.age); printf(n 获奖情况tt学生QQ号tt住址tt电话号码 n); printf(n %-11s %-16d%-14s%sn,onei.degree,onei.wage,onei.address,onei.number);if(i=m+1)printf(n对不起,没有此人信息!n);printf(返回查询函数按1,继续查询职工号按2n);scanf(%d,&t);switch(t)case 1:find();break;case 2:find_degree();break;default:break;void del()/*删除函数*/int i,j,n=2,t,flag;char name10;int m=in();printf(n原来学生的信息:n);output();printf(请输入要删除学生的姓名:);scanf(%s,name);for(flag=1,i=0;flag&im;i+)if(strcmp(,name)=0)printf(n已找到此人,原始记录为:n); printf( 学号t姓名tt性别tt年龄 n); printf(n %s tt%-12st%ctt %dtn,onei.num,,onei.sex,onei.age); printf(n 获奖情况tt学生QQ号tt住址tt电话号码 n); printf(n %-11s %-16d%-14s%sn,onei.degree,onei.wage,onei.address,onei.number);printf(n确定要删除此人信息请按1,不删除按0n);scanf(%d,&n);if(n=1)for(j=i;jm-1;j+)strcpy(onej.num,onej+1.num);strcpy(,onej+1.name);onej.sex=onej+1.sex;onej.age=onej+1.age;strcpy(onej.degree,onej+1.degree);onej.wage=onej+1.wage;strcpy(onej.address,onej+1.address);strcpy(onej.number,onej+1.number);flag=0;if(!flag)m=m-1;else if(flag=1&n!=0)printf(对不起,没有此人信息!n);else if(n=0)printf(确定不删除此学生!n);printf(n浏览删除后的所有学生信息:n);creat(m);output();printf(n继续删除请安1,不再删除按0n);scanf(%d,&t);switch(t)case 1:del();break;case 0:break;default:break;void insert()/*插入函数*/FILE *fp;int n,i;int k=0;int m=in();printf(n原来学生的学生信息n);output();printf(n);fp=fopen(cd-list,a);printf(请输入想增加的学生数:);scanf(%d,&n);for(i=m;i(m+n);i+)printf(n输入想增加学生的信息:n);printf(学号:);scanf(%s,onei.num);printf(n姓名:);scanf(%s,);getchar();printf(n性别(w-女,m-男):);scanf(%c,&onei.sex);printf(n年龄:);scanf(%d,&onei.age);printf(n获奖情况:);scanf(%s,onei.degree);printf(n住址:);scanf(%d,&onei.wage);printf(n政治面貌:);scanf(%s,onei.address);printf(n电话号码:);scanf(%s,onei.number);k=k+1;printf(已增加的人数:n);printf(%dn,k);printf(添加完毕!n);m=m+k;printf(添加完后的所有学生信息:n);creat(m);output();fclose(fp);void change() /*函数功能:修改职工信息*/ int total; int i,sign1,sign2,flag=0; char num15; total=in(); printf(输出原来学生的信息:n); output(); printf(请输入需修改学生的学号:); scanf(%s,num); for(i=0;itotal;i+) if(strcmp(onei.num,num) = 0) flag+;break; if(flag!=0) printf(请选择修改序号:1.学号 2.姓名 3.性别 4.年龄 5.获奖情况 6.学生QQ号 7.住址 8.电话号码:n);scanf(%d,&sign1);if(sign1 = 1) printf(新的学号为:); scanf(%s,onei.num);else if(sign1=2) printf(新的姓名为:); scanf(%s,);else if(sign1=3) printf(新的性别为:); scanf(%c,&onei.sex);else if(sign1=4) printf(新的年龄为:); scanf(%d,&onei.age);else if(sign1=5) printf(新的获奖情况为:); scanf(%s,onei.degree);else if(sign1=6) printf(新的学生QQ号为:); scanf(%d,&onei.wage);else if(sign1=7) printf(新的住址为:); scanf(%s,onei.address);else if(sign1=8) printf(新的电话号码为:); scanf(%s,onei.number);printf(修改成功!n); else printf(查无此人!n);

温馨提示

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

评论

0/150

提交评论