学生课程管理查询系统C++课程设计文档格式.docx
- 文档编号:18301072
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:31
- 大小:126.85KB
学生课程管理查询系统C++课程设计文档格式.docx
《学生课程管理查询系统C++课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生课程管理查询系统C++课程设计文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
2).课程信息管理:
课程信息录入、更改,授课教师信息管理、课程信息
录入、更改管理。
3).学生课程管理:
增加课程、删除课程、更改课程、课程排序等课程信息数据。
4.系统在进行以上功能操作时创建相应文件夹,并实现相关数据的存储、修改、保存。
五、程序使用说明:
在运行此程序时会出现如下主界面:
此时就可以按照不同类别来进行操作了,如学生则选择1,如果是学校管理则选择2.
在主界面下选择了操作1,则会出现“课程系统学生端”操作菜单:
在该界面下学生可进行课程查询和课程选择操作。
如若选择操作2,并且输入管理密码,则出现“课程体系管理端”操作菜单:
在该界面下学校相关部门可以进行学生、课程、教师等信息的管理。
六、部分代码解释:
包含类xuanke的预处理命令
#include"
xuanke.h"
选择语句
switch(a)
创建xuanke类
structxuanke
成员函数的实现
xuanke*putin();
//读取
voidsave(xuanke*);
//保存
voidprintln(xuanke*);
//输出
xuanke*midle(xuanke*);
//在中间插入
xuanke*out(xuanke*);
//删除
voidFind(xuanke*);
//查找信息
xuanke*replace(xuanke*a);
//替换
voidxuan(xuanke*);
//选课
voidmohu(xuanke*);
//模糊查询
voidzuhe(xuanke*);
//组合查询
文件读取
file.open("
xuanke.txt"
ios:
:
out|ios:
in);
七、成员分工:
闫永龙:
负责需求分析,创建intmain(),xuanke.h,structxuanke,编辑xuanke*putin(),
voidsave(xuanke*),voidpassword(),程序调试;
代兴利:
负责系统结构分析,负责编辑voidprintln(xuanke*),xuanke*midle(xuanke*),
xuanke*out(xuanke*),voidFind(xuanke*);
张春明:
负责程序修改,编辑xuanke*replace(xuanke*a),voidxuan(xuanke*),voidmohu(xuanke*),voidzuhe(xuanke*);
八、程序源代码:
//optionals.cpp:
Definestheentrypointfortheconsoleapplication.
//
#include"
stdafx.h"
#include<
iostream>
conio.h>
string>
usingnamespacestd;
intmain()
{system("
colorf5"
);
chara,b,c;
xuanke*head=putin();
cout<
<
"
\t\t※※※※※※※※※※※※※※※※※※※※※※※\n"
<
\t\t**\n"
\t\t**学生课程管理查询系统**\n"
\t\t******\n"
\t\t********\n"
\t\t****操作方式:
****\n"
\t\t****1.课程系统学生端****\n"
\t\t**2.课程系统管理端**\n"
endl;
请选择你要进行的操作:
;
cin>
>
a;
switch(a)
{
case'
1'
system("
cls"
do
{cout<
\n\n\n"
\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
\t\t※课程系统学生端※\n"
\t\t※※\n"
\t\t※*操作方式:
.※\n"
\t\t※1.学生选课.※\n"
\t\t※2.课程查询.※\n"
\t\t※3.退出系统.※\n"
b;
switch(b)
{
xuan(hed);
\t*****按任意键继续*****"
getch();
break;
2'
\t\t***********************************************"
endl
\t\t**"
\t\t*1.精确查询.*"
\t\t*2.模糊查询.*"
\t\t*3.组合查询.*"
c;
switch(c)
{case'
Find(head);
break;
mu(head);
3'
zuhe(head);
default:
输入错误!
}break;
exit
(1);
cout<
\t\t*输入错误!
}
}while(b!
='
请输入管理员密码:
password();
do
{system("
\t\t※课程系统管理端※\n"
\t\t※.操作方式:
※\n"
\t\t※1.课程查询.※\n"
\t\t※2.增加课程.※\n"
\t\t※3.删除课程.※\n"
\t\t※4.更改课程.※\n"
\t\t※5.课程排序.※\n"
\t\t※6.退出系统.※\n"
mohu(head);
head=midle(head);
head=out(head);
4'
head=replace(head);
head=putin();
beak;
5'
head=paixu(head);
6'
}while(b!
default:
}
return0;
fstream>
iomanip>
{intnum;
stringname;
stringteer;
doublexuefen;
stringadd;
xuanke*next;
};
xuanke*putin();
//组合查询
//////////////////////////////////////////////////////////////////////////////////////////////
xuanke*putin()////读取
{
xuanke*head,*p1,*p2;
fstreamfile;
file.open("
if(!
file)
\t\t**文件打开失败!
请检查文件是否正常!
exit(0);
intn=0;
file>
n;
p1=p2=newxuanke;
head=p1;
p1->
num>
name>
teacher>
xuefen>
add;
for(inti=1;
i<
i++)
p1=newxuanke;
p2->
next=p1;
p2=p1;
next=NULL;
returnhead;
voidprintln(xuanke*p)////输出
p->
num<
'
'
setw(8)<
name<
teacher<
setw(4)<
xuefen<
setw(6)<
add<
////////////////////////////////////////////////////////////////////////////////////////////
voidsave(xuanke*head)
{xuanke*p;
inti=0;
p=head;
ofstreamofile;
ofile.open("
data.txt"
out);
ofile)
\t\t**文件存储失败!
请检查文件路径是否正常!
while(p!
=NULL)
i++;
p=p->
next;
ofile<
{
///////////////////////////////////////////////////////////////////////////////////////////////
xuanke*midle(xuanke*a)//插入信息
{inti=0;
xuanke*n,*p1=newxuanke;
请输入你要增加的新信息:
课程号:
num;
课程名:
name;
开课教师:
teacher;
课程学分:
xuefen;
开课地点:
for(n=a;
n->
next!
=NULL;
n=n->
next)
if(n->
num==p1->
num)
\t\t**课程增加失败!
该课程号已存在,请确认后再输入。
if(i==0)
{p1->
next=a->
a->
课程增加成功!
!
save(a);
returna;
//////////////////////////////////////////////////////////////////////////////////////////
xuanke*outhead(xuanke*a)////////////删除头链表
{xuanke*p;
p=a->
deletea;
\t\t**课程已成功删除!
returnp;
xuanke*outmidle(xuanke*a,intn)/////////删除其他链表
xuanke*p,*b;
for(p=a;
p=p->
if(p->
next->
num==n)
b=p->
p->
next=p->
deleteb;
if(i==0)cout<
\t\t**抱歉!
无您要删除的课程的有关信息!
elsecout<
xuanke*out(xuanke*head)
{intn;
xuanke*p,*q;
p=q=head;
请输入您要删除课程的课程号:
if(q->
p=outhead(q);
else
p=outmidle(q,n);
save(p);
returnp;
//////////////////////////////////////////////////////////////////////////////////
voidFindnum(xuanke*a)
xuanke*b;
intn;
b=a;
do{
if(b->
b->
b=b->
=NULL);
无此课程信息。
voidFindname(xuanke*a)
stringn;
name==n)
}
voidFindteacher(xuanke*a)
teacher==n)
voidFind(xuanke*head)
\t\t*************************************************"
\t\t*1.课程号查询.*"
\t\t*2.课程名查询.*"
\t\t*3.开课教师查询.*"
chari;
i;
switch(i)
请输入您所查找的课程号:
Findnum(head);
请输入您所查找的课程名:
Findname(head);
cout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 课程 管理 查询 系统 C+ 课程设计