课程设计选题管理系统报告完整Word文档格式.doc
- 文档编号:403258
- 上传时间:2023-04-28
- 格式:DOC
- 页数:93
- 大小:1.56MB
课程设计选题管理系统报告完整Word文档格式.doc
《课程设计选题管理系统报告完整Word文档格式.doc》由会员分享,可在线阅读,更多相关《课程设计选题管理系统报告完整Word文档格式.doc(93页珍藏版)》请在冰点文库上搜索。
主要实现对已添加的学生和课程设计题目记录进行删除。
如果当前系统中没有相应的记录,则提示“记录为空!
"
并返回操作。
⑥统计功能:
能根据多种参数进行统计.能按课程设计题目名称统计出学生选择该题目的人员的信息。
⑦保存功能:
可将当前系统中各类记录存入文件中,存入方式任意。
⑧读取功能:
可将保存在文件中的信息读入到当前系统中,供用户进行使用。
二、设计方案
1、总体设计
我们设计一个程序对学生课程设计选题信息进行保存,对学生的选题信息进行可执行多种操作,该程序包括以下功能模块:
1)学生信息添加模块:
能够输入学生基本信息并保存到文件中。
2)查询模块:
显示所有符合要求的课程设计信息。
3)编辑模块:
可对学生信息进行修改.4)删除模块:
可删除相应的学生信息.5)统计模块:
能根据多种参数进行统计。
6)查看模块:
显示所有课程设计选题的信息。
7)退出系统。
为了完善系统,我们还添加了一个登录界面。
2、系统设计
1)类设计
定义一个学生类Student,类中包括学号stuid,姓名stuname,性别sex,年龄age,班级clas,专业specialty,及所选课程的课程编号couid,课程名称couname,关键词keyword,实现技术technology;
定义一个管理类Guanli,其成员函数包括向文件输入函数voidwrite(intn);
从文件读取函数,intread();
添加学生信息函数voidadd(),查询信息函数voidsearch(),按学号查询函数voidsearchsid(),按姓名查询函数voidsearchsname(),按题目编号查询函数voidsearchcid(),按题目名称查询函数voidsearchcname();
修改信息函数voidalter();
删除信息函数voiddel();
统计信息函数voidtotal();
显示函数voiddisplay()以及一个数据成员Studentstu[50]。
2)函数设计
voidwrite(intn),向文件中写入数据,打开文本文档,并将数据输入到文本文档中;
intread(),向文件中写入数据从文件中读数据,打开文本文档,并将文本文档中的数据输出;
voidadd(),添加学生信息;
voidsearch()查询信息(可根据学生的学号、姓名、所选课程编号、课程名称进行信息查询);
voidalter(),修改学生信息;
voiddel(),删除学生信息,根据输入的学生学号通过调用函数实现;
voidtotal(),统计学生信息(根据学生所选课程名称进行统计);
voiddisplay(),显示函数用来显示所有学生信息;
intmain()主函数,显示主菜单,调用各个函数实现所有功能。
3)系统流程图
课程设计学生选课系统设计结构图:
进入功能界面后,可以进行多项功能选择,如添加、查询、显示、修改、删除、统计,将数据写入文件以及从文件读取数据等;
而查询功能又可以分为按学号、姓名、题目编号、题目名称等方式进行查询.如下图所示。
主菜单
退出系统
显示所有记录
统计所有记录
删除学生信息
修改学生信息
查询记录信息
添加新的记录
按学号查询
按姓名查询
按编号查询
按名称查询
4)界面设计
主界面是“欢迎使用课程设计选课系统”,下面是所要使用的功能:
1.添加新的纪录
2.查询记录信息
3.修改学生信息
4.删除学生信息
5.统计所有记录
6。
0.退出系统
其中,查询记录又可以弹出一个界面分别有以下几个功能:
1。
根据学号查询
2.根据姓名查询
3。
根据编号查询
4。
根据题目名称查询
每实现一个功能,重新弹出主界面,进行下一个的功能选择。
3、系统实现
1)类实现
classStudent
{
public:
intstuid;
//学号
charstuname[10];
//姓名
charsex[2];
//性别
intage;
//年龄
charclas[10];
//班级
charspecialty[10];
//专业
intcouid;
//题目编号
charcouname[10];
//题目名称
charkeyword[20];
//关键词
chartechnology[30];
//实现技术
}stu[50];
//定义对象
classGuanli
{
private:
Studentstu[50];
voidadd();
//添加学生信息
voidsearch();
//查询信息
voidsearchsid();
//按学号查询信息
voidsearchsname();
//按名字查询信息
voidsearchcid();
//按题目编号查询信息
voidsearchcname();
//按题目名称查询信息
voidalter();
//修改信息
voiddel();
//删除信息
voidtotal();
//统计信息
voiddisplay();
//显示信息
voidwrite(intn);
//向文件中写入数据
intread();
//从文件中读数据
};
2)函数实现
voidGuanli:
:
write(intn)
fstreammyfile;
myfile。
open(”student.txt"
,ios:
:
out|ios:
binary);
if(!
myfile)
{
cout〈〈"
该文件不能打开!
〈<
endl;
abort();
}
intcount=n;
myfile<
<
count<
endl〈〈endl;
for(inti=0;
i〈=count;
i++)
stu[i]。
stuid<
””〈<
stu[i].stuname〈〈"
"
〈〈stu[i]。
sex<
”"
〈〈stu[i].age<
〈〈stu[i].clas〈〈"
〈〈stu[i]。
specialty〈<
stu[i].couid〈<
”<
stu[i]。
couname<
〈””<
〈stu[i]。
keyword〈<
〈stu[i].technology<
”〈〈endl;
close();
}
intGuanli:
read()
fstreammyfile;
open("
student.txt"
,ios:
in|ios:
binary);
if(!
{
cout<
”该文件不能打开!
”<
〈endl;
abort();
intcount;
myfile.seekg(0);
myfile>
〉count;
i<
=count;
〉stu[i]。
stuid〉〉stu[i]。
stuname〉〉stu[i]。
sex〉>
stu[i].age>
〉stu[i]。
clas>
>
stu[i]。
specialty>
stu[i].couid>
couname>
〉stu[i]。
keyword>
technology;
endl;
myfile.close();
returncount;
add()
intn=read();
inti=0;
charsign;
cout〈<
endl〈<
”请输入增加的学生的相关信息:
while(sign!
='
N'
)
{
loop:
”学号:
;
cin〉〉stu[i]。
stuid;
cout<
〈endl;
intc=0;
while(c〈i)
c++;
if(stu[i].stuid==stu[i—c].stuid)
〈"
你输入的学号已经存在!
请重新输入”<
gotoloop;
}
姓名:
;
cin〉〉stu[i].stuname;
cout<
cout〈<
性别:
”;
cin〉〉stu[i].sex;
〈”年龄:
cin>
〉stu[i].age;
班级:
”;
stu[i].clas;
cout〈〈”专业:
specialty;
”题目编号:
cin〉>
stu[i].couid;
cout〈〈endl;
〈”题目名称:
stu[i].couname;
关键词:
cin〉〉stu[i].keyword;
实现技术:
提示:
是否继续写入学生信息?
(Y/N)"
sign;
//输入判断
i++;
write(i);
search()
intn=read();
〈”**
(1)根据学号查询**"
〈”**
(2)根据姓名查询**"
〈endl;
**(3)根据编号查询**”<
”**(4)根据名称查询**”〈<
intc;
Guanlig;
〈”请输入选择:
c;
switch(c)
case1:
g.searchsid();
break;
case2:
g.searchsname();
case3:
g.searchcid();
break;
case4:
g。
searchcname();
break;
default:
cout〈〈”输入错误,请重新输入!
”〈<
g.write(n);
}
voidGuanli:
searchsid()
intn=read();
ints;
inti=0;
endl〈〈”查找学生信息:
请输入需要查找学生的学号:
”〈〈endl;
cin〉〉s;
while((stu[i].stuid—s)!
=0&
&i<
n)i++;
//查找判断
if(i==n)
{
对不起,无法找到该学生的信息!
}
else
”******************************"
学号:
stu[i].stuid<
cout〈<
stu[i].stuname<
”性别:
stu[i]。
sex〈〈endl;
cout〈〈”年龄:
〈stu[i].age〈〈endl;
cout<
班级:
stu[i].clas<
专业:
〈stu[i]。
specialty〈〈endl;
〈”题目编号:
couid〈〈endl;
”题目名称:
”〈〈stu[i]。
cout〈〈”关键词:
keyword〈〈endl;
实现技术:
searchsname()
{
chara[10];
”请输入需要查找学生的姓名:
〈〈endl;
cin〉〉a;
for(inti=0;
n;
i++)
if(strcmp(stu[i].stuname,a)==0)
”******************************”〈<
〈stu[i]。
〈stu[i].stuname〈〈endl;
stu[i].sex〈<
endl;
年龄:
age<
endl;
clas<
〈”专业:
stu[i].specialty〈〈endl;
题目编号:
couid<
题目名称:
”〈〈stu[i].couname〈〈endl;
〈stu[i].keyword〈<
cout〈〈”实现技术:
technology〈<
searchcid()
intn=read();
intb;
请输入需要查找的题目编号:
b;
while((stu[i].couid—b)!
&
i〈n)i++;
”提示:
对不起,无法找到该信息!
”******************************"
cout〈〈”学号:
stuid〈〈endl;
cout<
〈”姓名:
〈stu[i]。
stuname〈〈endl;
〈”性别:
stu[i].sex<
〈endl;
cout〈<
”年龄:
cout〈〈"
〈〈stu[i].clas<
cout〈〈”专业:
specialty<
”题目编号:
〈stu[i].couid〈<
题目名称:
〈〈stu[i].couname〈<
〈stu[i].keyword<
”实现技术:
stu[i].technology<
searchcname()
charc[10];
请输入需要查找的题目名称:
c;
for(inti=0;
i〈n;
if(strcmp(stu[i]。
couname,c)==0)
******************************"
学号:
〈stu[i].stuid〈<
〈stu[i].stuname<
”〈〈stu[i]。
〈endl;
〈”班级:
clas〈<
endl;
专业:
stu[i].specialty<
题目编号:
〈〈stu[i].couid<
〈”题目名称:
couname〈〈endl;
”关键词:
keyword<
〈”实现技术:
technology〈〈endl;
alter()
intn=read();
〈endl<
修改学生信息:
”〈〈endl;
请输入需要修改学生的学号:
s;
while((stu[i]。
stuid-s)!
cout〈〈”提示:
对不起,无该学生的信息!
!
//输入失败信息
”该学生的信息:
学号”〈〈stu[i]。
stuid〈<
’\n'
姓名”〈〈stu[i].stuname〈〈'
\n’<
”性别"
〈’\n’〈〈”年龄"
stu[i].age<
〈'
\n’〈<
”班级”〈〈
stu[i].clas〈<
专业"
specialty<
'
\n'
〈”题目编号”<
couid〈<
’\n’〈<
题目名称"
stu[i].couname<
’\n’
〈<
关键词"
\n’〈〈”实现技术”〈<
stu[i].technology〈〈’\n'
请重新输入该学生的信息"
cin〉>
stuid;
cout〈〈"
cin>
stuname;
sex;
年龄:
age;
”班级:
〉stu[i]。
clas;
cout〈〈endl;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 选题 管理 系统 报告 完整