下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PlNGDINGSHAN UNlVERSlTY基于Web的JaVa开发设计项目实践题 目:基于c+语言的学生信息管理系统开发院(系):软件学院专业年级:软件工程 2010 级姓 名:张洪亮学 号:52012年6月10日刖言学生信息管理系统,是针对学校人事处的大量业务处理工作而开发的管理软 件,是典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重 要的,能有效的帮助学校和老师掌握学生的情况。 在传统模式下利用人工进行学 生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量 的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对
2、 学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。 随着科学 技术的不断提高,使用日趋成熟的计算机技术来代替传统的人工模式, 来实现学 生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各 个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学 生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方 便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低 等。这些优点能够极大地提高学生信息管理的效率,也是学校实现科学化、正规 化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。目录前言 错误 ! 未定
3、义书签。一、系统概述 . 错误 !未定义书签。功能简介 . 错误 !未定义书签。设计思路 . 错误 !未定义书签。第二章 系统功能的分析和设计 . 错误 !未定义书签。初始录入功能 . 错误 !未定义书签。添加函数 . 错误 !未定义书签。删除函数 . 错误 !未定义书签。修改函数 . 错误 !未定义书签。查询函数 . 错误 !未定义书签。按学号查询 . 错误 !未定义书签。按姓名查询 . 错误 ! 未定义书签。显示函数 . 错误 !未定义书签。退出系统 . 错误 !未定义书签。第三章 调试及运行结果 . 错误 !未定义书签。主菜单 . 错误 ! 未定义书签。显示功能 . 错误 ! 未定义书签
4、。增加功能 . 错误 !未定义书签。删除功能 . 错误 !未定义书签。修改功能 . 错误 !未定义书签。查询功能 . 错误 ! 未定义书签。进入主菜单后选择 1,进入查询功能,如图 3-6 : 错误 !未定义书签。第四章 总结 . 错误!未定义书签。遇到的问题及解决方法 . 错误 !未定义书签。收获和体会 . 错误 !未定义书签。一、系统概述功能简介本软件是一个简单的学校学生信息管理系统,软件窗口为DoS页面。学生信息管理系统的功能主要是实现学校学生的信息化管理。 通过学生信息 管理系统,教学管理人员可以实现对学生信息的增加、 删除、修改和查询等操作。 本系统最大的优点就是操作简便快捷等。设计
5、思路将学生信息定义为一个 students 结构体,在结构体中包含成员 i nt xuehao;char name8;char xingbie4;char nianji20;char dizhi80;char dianhua16;float yuwen;float shuxue;float yingyu;float zongfen; ,分别 表示学号、姓名、性别、年级、家庭住址、联系电话。公有成员函数包括 bulidline(),chaxun(stu*head) , insert(stu *head,stu *std) , xiugai(stu *head) , shanchu(stu *he
6、ad) , liulan(stu *head), paixu(stu *head) , xiufu(stu *head) , main() ,分别用来实现对学生 信息的数据初始录入、增加数据、删除数据、修改数据、查询数据、显示所有数 据等功能。主函数是一个程序必不可少的,在主函数中,使用一个 switch 语句来选择 调用主菜单中的各个功能函数第二章 系统功能的分析和设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。初始录入功能此函数实现的功能主要是, 对学生信息的初始化录入功能, 在初始时, 文件 中没有任何数据,可以通过次函数输入任意个学生的信息,在输入时通过一个 if 条件语句来
7、实现控制循环,当输入的姓名是“ 0”时,使用 break 语句就跳出 循环,即停止输入学生信息。在此函数中使用文件处理的方式, 先建立一个文件输出流对象, 以写的方式 打开文件,使输入的学生信息都写入文件。添加函数此函数实现的功能主要是, 添加一个学生的信息, 也就是说调用一次这个函 数只能添加一个学生的信息。 在此函数中也使用文件处理的方式, 但使用的是以 追加的方式打开文件,使输入的学生信息写在文件里原有信息的后面。删除函数此函数实现的功能主要是, 删除一个学生的信息。 在此函数中, 先以读的方 式打开文件, 读出文件里的信息在显示在屏幕上, 用户再根据提示信息输入想要 删除第几个人的信息
8、,关闭文件。再以写的方式打开文件,以一个 if 条件语句 控制,再重新将学生信息写入文件(除了打算删除的那个学生的信息) ,由于是 以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。修改函数此函数实现的功能主要是, 修改一个学生的信息。 此函数的设计方法和删除 函数的设计思想相类似, 应用的思想都是将学生信息重新写入文件的方法, 将原 有数据覆盖。查询函数在查询功能中,可以按多条件查询,本系统分为两个查询条件,即按学号查 询和按姓名查询。使用 if 语句来选择查询条件。2.5.1 按学号查询根据提示信息输入学号后,然后使用一个 for 循环语句,从第一个学生开始 检索,如果
9、该学生的学号和输入的学号相等, 则输出该学生的信息, 由于学生的 学号是唯一固定的,所以并使用 break 语句跳出循环。当无查询结果时,会输出一条提示信息“无此人信息! ” 。2.5.2 按姓名查询根据提示信息输入姓名后,然后使用一个 for 循环语句,从第一个学生开 始检索,如果该学生的姓名和输入的姓名一样, 则输出该学生的信息, 由于学生 的姓名有可能重复出现, 所以不能使用 break 语句跳出循环, 应该从第一个学生 开始检索直到最后一名学生。当无查询结果时,会输出一条提示信息“无此人信息! ” 。显示函数此函数实现的功能主要是,显示所有学生的信息。先是从文件中读取学生信 息,然后在
10、输出到显示窗口中。 用一个 for 循环语句, 来把所有学生的信息都输 出。退出系统当输入“ 0”时,就能退出系统,这是通过 while 语句来控制实现的。第三章 调试及运行结果主菜单主菜单显示如下:图 3-1 主菜单显示功能按 4 则显示全部信息,如图 3-2 :图 3-2 显示功能增加功能进入主菜单后选择 2,进入增加功能,按要求输入学生信息,增加数据前显 示如图 3-2:增加后显示如图 3-3 :图 3-3 增加后删除功能进入主菜单后选择 5,进入删除功能,按要求输入要删除的学生信息,删除数据 前显示如图 3-3 :删除数据后显示如图 3-4 :图 3-4 删除后修改功能进入主菜单后选择
11、 4,进入修改功能,按要求输入要修改的学生信息,修改数据 前显示如图 3-4 :修改后如图 3-5 :图 3-5 修改后3-6:查询功能进入主菜单后选择 1,进入查询功能,如图图 3-6 学号查询第四章 总结遇到的问题及解决方法首先,是对文件的处理不够熟练, 通过看书和搜集一些资料解决了这个问题; 其次,是在编写程序的过程中出现了一些语法错误,后通过调试逐一解决。收获和体会此次C+面向对象课程设计,在指导教师的精心教导下,我们学会了如何用 C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识, 然后系统分析与系统设计, 最后是代码设计与调试。 程序实现上, 设计了简单的 菜单
12、界面,将各个功能集中出现在主菜单中,便于调用。根据C+课程所学的概念、理论和方法,按照C+S序设计的基本步骤,设计出一个适当规模的程序;进一步加深对 C+语言的理解和掌握。理论联系实际,加 深和巩固所学的理论知识, 提高实践能力和计算机的综合运用能力。 我们编写程 序的过程是辛苦与快乐的, 程序的编写原则很重要, 只要我们在编程, 就必须不 断改进,才能更好提高编程能力。参考文献1 C+语言程序设计(第三版),郑莉,清华大学出版社,20042 C+语言程序设计案例教程,郑莉,清华大学出版社,20053 C+程序设计教程,钱能主编,清华大学出版社,4 C+程序设计,谭浩强,清华大学出版社,200
13、45 C+程序设计实践指导,谭浩强,清华大学出版社,20056 C+程序设计课程设计,刘振安,机械工业出版社,附录:程序代码#include<iostream>#include<>#include<>#include<string>#include <> using namespace std; typedef struct studentsint xuehao;char name8;char xingbie4;char nianji20;char dizhi80;char dianhua16;float yuwen;float sh
14、uxue;float yingyu;float zongfen;struct students *next;stu;stu *bulidline()stu *head,*p,*q;stu a;head=(stu*)malloc(sizeof(stu);/ 开辟新空间 if(head=NULL)return 0;FILE *fp=fopen("","r"); q=head;dofscanf(fp,"%d %s %s %s %s %s %f %f %fn",&,&,&,& p=(stu *)malloc(s
15、izeof(stu);p->xuehao=; strcpy(p->name,; strcpy(p->xingbie,;strcpy(p->nianji,; strcpy(p->dizhi,; strcpy(p->dianhua,; p->yuwen=; p->shuxue=; p->yingyu=;p->zongfen=+; q->next=p; q=p;while(!feof(fp);p->next=NULL;fclose(fp);return head;void chaxun(stu *head)stu *q,*p;q
16、=head;int xuehao,r=0,i=0;while(1)loop2: cout<<"ttt 请输入查询学生学号: "<<endl; cout<<"ttt"cin>>xuehao; system("cls"); p=q->next;for(p;p!=NULL;p=p->next)if(p->xuehao=xuehao)cout<<"ttt学号: "<<p->xuehao<<endl<<&q
17、uot;ttt姓名"<<p->name<<endl<<"ttt性别:"<<p->xingbie<<endl<<"ttt年级"<<p->nianji<<endl<<"ttt家庭住址: "<<p->dizhi<<endl<<"ttt联系电话"<<p->dianhua<<endl<<"ttt语文
18、: "<<p->yuwen<<endl<<"ttt数学"<<p->shuxue<<endl<<"ttt"<<p->zongfen<<endl;i=1;break;else i=0;if(i=0)cout<<"ttt英语:"<<p->yingyu<<endl<<"ttt总分该生信息不存在或输入错误,请重新输入!"<<endl;go
19、to loop2;loop: cout<<"ttt 下一步: "<<endl;cout<<"ttt1 、查询下一个; 2、结束 "<<endl;cout<<"ttt"cin>>r;system("cls");if(r=2)return;if(r!=1)cout<<"ttt输入有误,请重新输入! "<<endl;goto loop;int insert(stu *head,stu *std)stu *p
20、,*q,*s;s=(stu *)malloc(sizeof(stu); q=head;p=head->next; while(p!=NULL) q=p; p=p->next; q->next=s; s->next=p; s->xuehao=std->xuehao; strcpy(s->name,std->name); strcpy(s->xingbie,std->xingbie); strcpy(s->nianji,std->nianji); strcpy(s->dizhi,std->dizhi); strcp
21、y(s->dianhua,std->dianhua); s->yuwen=std->yuwen; s->shuxue=std->shuxue; s->yingyu=std->yingyu; s->zongfen=std->yuwen+std->shuxue+std->yingyu; return 0;int xiugai(stu *head) stu *q,*p; q=head; int xuehao,r=0,j=0; while(1) int i=0;cout<<"ttt 请输入要修改信息学生学号:
22、 "<<endl; cout<<"ttt"cin>>xuehao;system("cls"); p=q->next;for(p;p!=NULL;p=p->next)cout<<"tttcout<<"tttcout<<"tttcout<<"tttloop: cout<<"tttcout<<"tttcin>>p->dizhi;system("c
23、ls");cout<<"tttcout<<"tttif(p->xuehao=xuehao)学号: "<<p->xuehao<<endl; 姓名: "<<p->name<<endl; 性别: "<<p->xingbie<<endl; 班级: "<<p->nianji<<endl; 家庭住址: "<<p->dizhi<<endl; 请输入新住
24、址: "联系电话: "<<p->dianhua<<endl; 请输入新联系电话: "cin>>p->dianhua;system("cls");cout<<"ttt语文:"<<p->yuwen<<endl;cout<<"ttt请输入新成绩: "cin>>p->yuwen;system("cls");cout<<"ttt数学:"<&
25、lt;p->shuxue<<endl;cout<<"ttt请输入新成绩: "cin>>p->shuxue;system("cls");cout<<"ttt英语: "<<p->yingyu<<endl;cout<<"ttt请输入新成绩: "cin>>p->yingyu;system("cls");loop2: cout<<"ttt 是否确认修改 "
26、<<endl;cout<<"ttt1、是; 2、重新输入; 3、返回 "<<endl;cout<<"ttt"cin>>r;system("cls");if(r=2)goto loop;else if(r=3)return 0;else if(r!=1)cout<<" 选择错误,请重新选择! "<<endl;goto loop2;i=1;break;else i=0;if(i=0)cout<<"ttt输入错误!
27、"<<endl;return 0;cout<<"ttt1 、是; 2 否 "<<endl;cout<<"ttt"cin>>j;system("cls");if(j=2)return 0;else if(j!=1)cout<<"ttt 输入有误,请重新输入! "<<endl; goto loop3;int shanchu(stu *head)stu *p,*q;int xuehao; while(1) int i=0,r=0
28、;cout<<"ttt 请输入要删除的学生学号: cin>>xuehao; system("cls"); q=head; p=q->next;while(p!=NULL&&p->xuehao!=xuehao)q=p; p=p->next; cout<<"ttt学号:"<<p->xuehao<<endl<<"ttt姓名"<<p->name<<endl<<"ttt性别
29、:"<<p->xingbie<<endl<<"ttt年级"<<p->nianji<<endl<<"ttt家庭住址: "<<p->dizhi<<endl<<"ttt联系电话"<<p->dianhua<<endl<<"ttt语文: "<<p->yuwen<<endl<<"ttt数学"
30、<<p->shuxue<<endl<<"ttt英语:"<<p->yingyu<<endl<<"ttt总分loop3: cout<<"ttt修改下一个 "<<endl;"<<p->zongfen<<endl;while(1)cout<<"ttt 是否确认删除 "<<endl;cout<<"ttt1 、是; 2、否 "<&
31、lt;endl;cout<<"ttt"cin>>r;system("cls");if(r=1)break;else if(r=2)return 0;elsecout<<"ttt 输入有误,请重新选择! "<<endl;if(p!=NULL)q->next=p->next;cout<<"ttt 删除成功! "<<endl;elsecout<<"ttt 该生信息记录不存在! "loop: cout<
32、<"ttt 是否继续先删除 "<<endl;cout<<"ttt1、是; 2 否 "<<endl;cout<<"ttt"cin>>i;system("cls"); if(i=2)return 0;else if(i!=1)cout<<"ttt 输入有误,请重新选择! "<<endl;goto loop;int liulan(stu *head)stu *p;int i=1;p=head->next;
33、for(p;p!=NULL;p=p->next) cout<<"tt 第"<<i<<"名:"姓名: "<<p->name<<endl<<"tttcout<<" 学号: "<<p->xuehao<<endl<<"ttt性别: "<<p->xingbie<<endl<<"ttt年级: "<<
34、p->nianji<<endl<<"ttt家庭住址:"<<p->dizhi<<endl<<"ttt"<<p->yuwen<<endl<<"ttt联系电 话 : "<<p->dianhua<<endl<<"ttt语 文数 学 : "<<p->shuxue<<endl<<"ttt英 语"<<p
35、->yingyu<<endl<<"ttt总分: "<<p->zongfen<<endl;cout<<"nnn"i=i+1;return 0;int paixu(stu *head)stu *p,*q;stu a;float l;q=p=head->next;for(p;p!=NULL;p=p->next) for(q=p->next;q!=NULL;q=q->next) if(p->zongfen<q->zongfen) =p->xue
36、hao; strcpy,p->name); strcpy,p->xingbie); strcpy,p->nianji); strcpy,p->dizhi); strcpy,p->dianhua); =p->yuwen;=p->shuxue; =p->yingyu; l=p->zongfen;p->xuehao=q->xuehao; strcpy(p->name,q->name); strcpy(p->xingbie,q->xingbie); strcpy(p->nianji,q->nianji
37、); strcpy(p->dizhi,q->dizhi); strcpy(p->dianhua,q->dianhua); p->yuwen=q->yuwen; p->shuxue=q->shuxue; p->yingyu=q->yingyu; p->zongfen=q->zongfen;q->xuehao=; strcpy(q->name,; strcpy(q->xingbie,; strcpy(q->nianji,; strcpy(q->dizhi,; strcpy(q->dianhu
38、a,; q->yuwen=; q->shuxue=; q->yingyu=;q->zongfen=l;return 0;int xiufu(stu *head)stu *p;FILE*qf=fopen("","w");for(p=head->next;p!=NULL;p=p->next)fprintf(qf,"%d %s %s %s %s %s %f %f %fn",p->xuehao,p->name,p->xingbie,p->n ianji,p->dizhi,p-&
39、gt;dianhua,p->yuwen,p->shuxue,p->yingyu);fclose(qf);return 0;int main()stu *head;stu s;int r=0,i=0;欢迎登陆学生信息管理系统! "<<"nnn"<<endl;head=bulidline();cout<<"ttt paixu(head);while(1)lop1:cout<<"ttt 请选择您要进行的操作: n"<<endl;cout<<"
40、ttt1 、成绩查询 "<<endl<<"ttt2 、增加新学生信息 "<<endl;cout<<"ttt3 、修改学生信息 "<<endl;cout<<"ttt4 、浏览学生信息 "<<endl;cout<<"ttt5 、删除学生信息记录 "<<endl;cout<<endl<<"ttt"cin>>r;system("cls");if(r>5|r<1)cout<<"ttt 输入错误,请重新选择! "<<endl; goto lop1;switch(r)case 1:chaxun(head);break; case 2:while(1)int i,k;cout<<"ttt 请依照提示输入相应信息! "<<endl;cout<<"ttt 学号: " cin>>system(&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年西安医学高等专科学校单招笔试职业技能试题附答案解析
- 2026年卫生系统招聘考试(药学三基知识)全真模拟试题及答案
- 2026年康平县公务员招聘笔试参考题库及答案解析
- 2026年夏县公务员招聘笔试备考试题及答案解析
- 2026年保德县事业单位人员招聘考试备考题库及答案解析
- 2026西藏自治区高中阶段学校第四批次中职学校录取考试备考题库及答案详解
- 2026年安庆经济技术开发区消防救援大队招聘政府专职消防队员10名考试模拟试题及答案详解
- 2026宁波公交通成物业管理有限公司公开招聘劳务人员1人考试备考试题及答案详解
- 2026年湖南省岳阳市教育系统事业编人员招聘笔试参考试题及答案详解
- 2026青岛平度市农旅开发建设集团有限公司 工作人员招聘考试参考题库及答案详解
- 2026年秋季开学小学防震减灾开学第一课
- 2026年继电保护专业岗位考核题库(附答案)
- 山东黄金焦家金矿安全生产管理制度汇编
- 出租车企业安全隐患排查工作手册
- 中国少儿思维能力培养市场营销模式及发展方向预测研究报告
- 2027届广州中考英语听说考试专项训练
- 2026年江苏省盐城市重点中学小升初英语考试题库试题附答案
- 新版2026年高考化学(黑吉辽蒙卷)试卷评析
- 中医护理基础理论培训
- 涂装废气RCO治理设备安装工程竣工验收报告
- 腰椎间盘突出症护理管理流程
评论
0/150
提交评论