学生课程管理查询系统--C++课程设计.doc_第1页
学生课程管理查询系统--C++课程设计.doc_第2页
学生课程管理查询系统--C++课程设计.doc_第3页
学生课程管理查询系统--C++课程设计.doc_第4页
学生课程管理查询系统--C++课程设计.doc_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

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

文档简介

C+课程设计C+课程设计学生课程管理查询系统指导老师: *组 长: 张媛媛组 员: 李灿设计时间: 2010年12月一、系统的软硬件环境:1.软件环境:Windows XP 、Visual C+6.02.硬件环境:CPU(pentium4 2.4Hz)、内存(256MB)、硬盘(80G)二、需求分析: 本系统适用于本专科院校教务处的学生课程信息管理工作。系统存储的课程信息包括:学生基础信息、课程信息、教师信息、 学生选课信息等.系统可实现学生对课程的选择、查询,教务处对学生信息的录入、删除、更改、查询等管理工作。 本系统作为学校对学生课程的计算机管理系统,坚持简洁、灵活、准确、迅速、易操作等原则,简化学校教务处与学生选课之间的复杂而且繁多的信息处理,实现实用又好用的特点。三、系统总体框架图: 课程排序更改课程删除课程增加课程课程查询学生选课 学生课程管理查询系统 课程系统学生端课程系统管理端学生课程管理查询系统 四、模块功能实现: 1. 该系统存储了某所学校所有学生的基础信息以及全部课程信息。对每个学生存储:学籍编号、姓名、性别、专业、班级等基础数据。存储课程信息:课程名称、课程编号、授课教师、授课范围、课程简介等数据。2. 课程系统学生端:该入口为学生开放,可以通过端口进行课程选定、课程查询等操作。3. 课程系统管理端:该端口为教务处对学生基础信息以及课程信息进行管理的入口。可实现一下功能:1).学生信息管理:生基础信息录入、更改等。2).课程信息管理:课程信息录入、更改,授课教师信息管理、课程信息 录入、更改管理。3).学生课程管理:增加课程、删除课程、更改课程、课程排序等课程信息数据。 4. 系统在进行以上功能操作时创建相应文件夹,并实现相关数据的存储、修改、保存。五、程序使用说明: 在运行此程序时会出现如下主界面:此时就可以按照不同类别来进行操作了,如学生则选择1,如果是学校管理则选择2.在主界面下选择了操作1,则会出现“课程系统学生端”操作菜单:在该界面下学生可进行课程查询和课程选择操作。如若选择操作2,并且输入管理密码,则出现“课程体系管理端”操作菜单:在该界面下学校相关部门可以进行学生、课程、教师等信息的管理。六、部分代码解释: 包含类xuanke的预处理命令 #include xuanke.h 选择语句switch(a) 创建xuanke 类struct xuanke 成员函数的实现 xuanke * putin(); /读取void save(xuanke * ); /保存void println(xuanke *); /输出xuanke * midle(xuanke *); /在中间插入xuanke * out(xuanke *); /删除void Find(xuanke *); /查找信息xuanke * replace(xuanke *a); /替换void xuan(xuanke *); /选课void mohu(xuanke *); / 模糊查询void zuhe(xuanke *); /组合查询文件读取file.open(xuanke.txt,ios:out|ios:in); 七、成员分工: 闫永龙:负责需求分析,创建 int main(),xuanke.h,struct xuanke ,编辑xuanke * putin(), void save(xuanke * ),void password(),程序调试 ; 代兴利:负责系统结构分析,负责编辑 void println(xuanke *),xuanke * midle(xuanke *), xuanke * out(xuanke *),void Find(xuanke *); 张春明:负责程序修改,编辑xuanke * replace(xuanke *a), void xuan(xuanke *),void mohu(xuanke *),void zuhe(xuanke *); 八、程序源代码: / optionals.cpp : Defines the entry point for the console application./#include stdafx.h#include #include #include #include xuanke.husing namespace std;int main() system(color f5); char a,b,c; xuanke *head=putin(); coutttn tt* *n tt* 学生课程管理查询系统 *n tt* *n tt* *n tt* 操作方式: *n tt* 1.课程系统学生端 *n tt* *n tt* 2.课程系统管理端 *n tt* *n ttnendl; couta;switch(a) case 1: system(cls); do coutnnn ttn tt 课程系统学生端 n tt n tt * 操作方式:. n tt n tt 1.学生选课. n tt 2.课程查询. n tt 3.退出系统. n tt n ttnendl; coutb; switch(b) case 1: system(cls); xuan(hed); coutt*按任意键继续*endl; getch();break; case 2: system(cls); couttt*endl tt* *endl tt* 1.精确查询. *endl tt* 2.模糊查询. *endl tt* 3.组合查询. *endl tt* *endl tt*endl; coutc; switch(c) case 1: system(cls);Find(head); coutt*按任意键继续*endl; getch(); break; case 2: system(cls);mu(head); coutt*按任意键继续*endl; getch();break; case 3: system(cls);zuhe(head); coutt*按任意键继续*endl; getch(); break; default: cout输入错误!endl; coutt*按任意键继续*endl; getch(); break; break; case 3: exit(1); break; default:couttt*输入错误!endl; coutt*按任意键继续*endl; getch();break; while(b!=3);break; case 2: cout请输入管理员密码:endl; password(); do system(cls); coutnnn ttn tt n tt 课程系统管理端 n tt n tt .操作方式: n tt 1.课程查询. n tt 2.增加课程. n tt 3.删除课程. n tt 4.更改课程. n tt 5.课程排序. n tt 6.退出系统. n tt n ttnendl; coutb; switch(b) case 1: system(cls); couttt*endl tt* *endl tt* 1.精确查询. *endl tt* 2.模糊查询. *endl tt* 3.组合查询. *endl tt* *endl tt*endl; coutc; switch(c) case 1: system(cls);Find(head); coutt*按任意键继续*endl; getch(); break; case 2: system(cls);mohu(head); coutt*按任意键继续*endl; getch();break; case 3: system(cls);zuhe(head); coutt*按任意键继续*endl; getch(); break; default: cout输入错误!endl; coutt*按任意键继续*endl; getch(); break; break; case 2: system(cls);head=midle(head); coutt*按任意键继续*endl; getch();break; case 3: system(cls);head=out(head); coutt*按任意键继续*endl; getch(); break; case 4: system(cls);head=replace(head); head=putin(); coutt*按任意键继续*endl; getch();beak; case 5: head=paixu(head); break; case 6: exit(1);break; default:couttt*输入错误!endl; coutt*按任意键继续*endl; getch();break; while(b!=6); default :couttt*输入错误!endl; coutt*按任意键继续*endl; getch();break; return 0;#include #include #include #include using namespace std;struct xuanke int num;string name;string teer;double xuefen;string add;xuanke *next;xuanke * putin(); /读取void save(xuanke * ); /保存void println(xuanke *); /输出xuanke * midle(xuanke *); /在中间插入xuanke * out(xuanke *); /删除void Find(xuanke *); /查找信息xuanke * replace(xuanke *a); /替换void xuan(xuanke *); /选课void mohu(xuanke *); / 模糊查询void zuhe(xuanke *); /组合查询 /xuanke *putin()/读取 xuanke *head,*p1,*p2; fstream file; file.open(xuanke.txt,ios:out|ios:in); if(!file) coutn; p1=p2=new xuanke; head=p1; filep1-nump1-namep1-teacherp1-xuefenp1-add; for(int i=1;inext=p1; p2=p1; filep1-numnamep1-teacherp1-xuefenp1-add; p2-next=NULL; return head;/void println(xuanke *p) /输出 coutnum setw(8)name setw(8)teacher setw(4)xuefen setw(6)addendl;/void save(xuanke * head) xuanke *p; int i=0; p=head; ofstream ofile; ofile.open(data.txt,ios:out); if(!ofile) coutnext; ofileiendl; p=head; while(p!=NULL) ofilenum name teacher xuefen addnext; /xuanke * midle(xuanke *a) /插入信息 int i=0; xuanke *n,*p1=new xuanke; cout请输入你要增加的新信息:endl; coutp1-num; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; for(n=a;n-next!=NULL;n=n-next) if(n-num=p1-num) couttt*课程增加失败!该课程号已存在,请确认后再输入。next=a-next; a-next=p1; cout课程增加成功!next;delete a;couttt*课程已成功删除!next!=NULL;p=p-next) if(p-next-num=n) b=p-next; p-next=p-next-next; delete b; i+; if(i=0) couttt*抱歉!无您要删除的课程的有关信息!endl; else couttt*课程已成功删除!endl; return a;xuanke * out(xuanke *head) int n; xuanke *p,*q; p=q=head; coutn; if(q-num=n) p=outhead(q); else p=outmidle(q,n); save(p); return p;/void Findnum(xuanke *a) xuanke *b; int n; int i=0; cinn; b=a; do if(b-num=n) coutnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!无此课程信息。n; b=a; do if(b-name=n) coutnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!无此课程信息。n; b=a; do if(b-teacher=n) coutnum name teacher xuefen addnext; while(b!=NULL); if(i=0) couttt*抱歉!无此课程信息。endl; void Find(xuanke *head) couttt*endl tt* *endl tt* 1.课程号查询. *endl tt* 2.课程名查询. *endl tt* 3.开课教师查询. *endl tt* *endl tt*i; switch(i) case 1: cout请输入您所查找的课程号:; Findnum(head); break; case 2: cout请输入您所查找的课程名:; Findname(head); break; case 3: cout请输入您所查找的课程开课教师姓名:; Findteacher(head); break; default:couttt*输入错误!endl; /xuanke * replace(xuanke *a) couttt*endl tt endl tt 1.通过课程号修改. endl tt 2.通过课程名修改. endl tt 3.通过开课教师修改. endl tt endl tt*i; switch(i) case 1: coutn; do if(p1-num=n) cout请输入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失败!该课程号已存在,请确认后再输入。num=m; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; case 2: coutn; do if(p1-name=n) cout请输入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失败!该课程号已存在,请确认后再输入。num=m; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; case 3: coutn; do if(p1-teacher=n) cout请输入新信息:endl; coutm; for(p2=a;p2!=NULL;p2=p2-next) if(p2-num=m) couttt*修改失败!该课程号已存在,请确认后再输入。num=m; coutp1-name; coutp1-teacher; coutp1-xuefen; coutp1-add; b+; c+; p1=p1-next; while(p1!=NULL); break; default:couttt*输入错误!endl; if(c=0) couttt*抱歉!无此你要修改的课程信息。endl; else cout已成功修改了c处信息。endl; save(a); return a;/void mohu(xuanke *a) int i=0; string str,n; char b; xuanke *p; couttt*endl tt* *endl tt* 1.课程名查询. *endl tt* 2.开课教师查询. *endl tt* *endl tt*endl; coutb; switch(b) case 1: coutstr; for(p=a;p!=NULL;p=p-next) if(p-name.find(str)100) println(p); i+; if(i=0) cout无您要查询的相关信息!endl;break; case 2: coutstr; for(p=a;p!=NULL;p=p-next) if(p-teacher.find(str)100) println(p); i+; if(i=0) cout无您要查询的相关信息!

温馨提示

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

评论

0/150

提交评论