《C++程序设计》课程设计报告范本模板Word格式文档下载.docx
- 文档编号:8522760
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:33
- 大小:149.24KB
《C++程序设计》课程设计报告范本模板Word格式文档下载.docx
《《C++程序设计》课程设计报告范本模板Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《C++程序设计》课程设计报告范本模板Word格式文档下载.docx(33页珍藏版)》请在冰点文库上搜索。
若失败,则提示相应错误信息.系统主界面如下图所示,各功能模块前面都标注了编码,用户只要输入相应的编码就可以选择相应的功能模块,方便了各层次用户对系统的功能操作。
同时界面中也显示了整体的结构图,以便用户对系统的整个功能结构有着清晰的认识。
在用户选择每一个具体的功能模块后,系统都会提示用户做出相应的操作,并根据用户的指令反馈相应的信息处理结果。
另外在显示新的菜单时,都会将之前的内容清空,使系统的操作界面简洁,提高用户使用系统的效率。
图1
功能描述:
图1为学生学籍管理系统操作界面
选择1:
进入学生信息登记界面,可查看学生的学籍信息,对信息进行添
加
选择2:
进入学生信息删除界面,输入学生学号,进行学生信息删除功
提示。
选择3:
进入学生信息查找界面,录入学生学号,对学生的相关信息进行查找。
选择4:
进入学生信息修改界面,录入要修改的学生编号,选择要修改的信息,输入新信息。
选择5:
按要求输出学生信息界面,输入要输出的学生信息进行相同信
息学生的统计输出。
选择6:
退出操作界面,退出系统操作。
图2
图2为是否进行操作界面
选择Y:
返回学生学籍管理系统操作界面
选择N:
退出操作界面
图3
功能描述:
图3为信息保存界面。
进行信息保存退出系统
不保存信息退出系统
4.2编码.
1)头文件代码
//MyStudent。
h
#ifndefMYSTUDENT_H_
#defineMYSTUDENT_H_
#include〈iostream>
#include<
string>
usingnamespacestd;
classStudent
{
public:
doubleNum;
stringName;
stringSex;
intAge;
stringJiguan;
stringXibie;
stringZuanye;
stringClass;
stringbianhua;
Student*next;
};
#endif
//MyLIST。
#include<
iostream>
#include〈string〉
#include〈fstream>
#include”MyStudent.h”
usingnamespacestd;
classLIST
{private:
public:
Student*head;
LIST()
{head=newStudent;
head->
next=NULL;
};
intlength();
boolisempty(){returnhead->
next==NULL?
true:
false;
}
boolget_data(inti,Student&x);
boolget_succ(inti,Student&
x);
boolget_prior(inti,Student&
x);
//取前驱元素函数
boolreplace_data(doublei);
//置换元素
boolinsert_data(Studentdata,inti);
//插入元素函数
booldelete_data(doublei);
//删除元素函数
boolfind_data(doublei,Student&result);
voidtongji(Studentx);
//查找函数
voidprint_list();
voidshuchu();
~LIST()//析构函数
{Student*p;
while(head)//将链表中所有元素占用空间释放
{p=head;
head=head-〉next;
deletep;
}
}
};
#endif
//Myvoid.h
iostream〉
#include"
MyLIST.h"
#include”MyStudent.h"
voidIn(inti,Studentchuandi[])
{
doubleNum;
stringName;
stringSex;
intAge;
stringJiguan;
stringXibie;
stringZuanye;
stringClass;
stringbianhua;
ifstreamin("
xuesheng"
);
if(!
in){cout<
<
”不能打开!
"
〈<
endl;
for(intj=1;
j〈=i;
j++)
in〉〉Num〉>
Name〉>
Sex
〉〉Age〉〉Jiguan
〉〉Xibie>
>
Zuanye〉〉Class>
〉bianhua;
in。
close;
chuandi[j].Num=Num;
chuandi[j]。
Name=Name;
chuandi[j].Sex=Sex;
chuandi[j]。
Age=Age;
chuandi[j].Jiguan=Jiguan;
chuandi[j]。
Xibie=Xibie;
Zuanye=Zuanye;
Class=Class;
chuandi[j].bianhua=bianhua;
}
voidchangdu(LISTlis)
{
ofstreamout(”len"
);
out<
〈lis.length();
out.close;
intlen()
inti;
len”);
in>
i;
returni;
voidoutput()
cout<
endl〈<
endl<
〈endl<
〈endl
<
****************************************************"
〈〈endl
<
〈”**”〈<
endl
*学生学籍管理系统*"
〈〈"
**”<
*1.登记学生信息*"
〈〈"
*2。
删除学生信息*”<
〈"
*3.查找学生信息*"
*4.修改学生信息*"
〈<
”*5。
按要求输出籍贯表*"
*6。
退出操作选择*”〈〈endl
**"
”**"
****************************************************"
cout〈<
请选择需要的功能<
1-6>
:
;
voidbaochun()
endl〈〈endl<
endl〈〈endl〈<
cout〈〈”############################################”<
##”〈〈endl
〈”#是否保存修改信息?
#"
#是输入Y,#”〈〈endl
〈”#退出输入N#”〈〈endl
”##"
############################################"
endl;
输入您的选择:
voidjixu()
cout〈〈endl<
cout〈〈”############################################"
”##”<
〈”#是否继续操作?
#"
#是输入Y,#”〈〈endl
#退出输入N#"
〈<
”##"
”############################################"
”输入您的选择:
”;
5.测试
创建数据库,建立好相应的数据表,插入系统用户、学生、课程等数据信息,进行系统测试与调试。
5。
1创建系统测试数据
学号姓名性别年龄籍贯系别专业班级学籍变化
11003小虎男21广西计算机软件102入学
09002小华女23湖北机电制作301毕业
10004小东男22湖南材料开发501转专业
6.总结
课程设计总结:
学习C++课程两个学期,现在刚刚学完,学校安排大一下学期做面向对象语言程序设计。
知识的掌握和了解还不是很到位,应用起来不灵活,拿起书本不断的翻看查找,复习一下所学的知识,开始在脑海中酝酿要做一个什么样的系统。
经过一周的努力,算是完成了任务吧.马上进入大二了,还没有完全巩固学习过的知识,所以只能每天白天查阅资料,基本上都是晚上敲一些代码,所以会有许多不足之处,也遇到了不少问题。
例如:
在测试连接数据库时,对学生信息的更新总是失败。
我对程序执行过程进行了细致分析,没有发现任何逻辑上的问题,于是我在所有的地方都添加断点,多次调试后,发现问题出在类的构造函数和析构函数被多次调用,而且每次调用对象时,都会建立类的临时对象。
后来我弄明白了在对对象进行操作时,没有使用引用方式,所以任何操作都不会对其产生实质作用。
当我把菜单函数中对类对象的调用方式都改成引用后,问题迎刃而解。
在完成课程设计的过程中,这种问题还有很多,加上时间紧迫,中途时不时会灰心丧气,但是最后还是坚持了下来.这次的课程设计经历告诉我,做一件事情,只要自己不放弃,就一定能得到自己所要的。
参考文献
[1]张俊。
王庆春.面向对象程序设计(C++).武汉:
武汉大学出版社.2009
[2]谭浩强.语言程序设计.北京:
清华大学出版社。
2004
[3]李普曼。
C++Primer中文版(第4版)。
北京:
人民邮电出版社.2008
[4]钱雪忠。
黄建华.数据库原理及应用第二版。
北京邮电大学出版社。
2005
[5]罗建军。
朱丹军.顾刚.刘路放。
高等教育出版社__2版
附录部分代码
cpp
#include”MyLIST。
h"
intLIST:
length()
intcounter=0;
Student*current;
current=head-〉next;
while(current!
=NULL)
{
current=current->
next;
counter++;
}
returncounter;
boolLIST:
:
get_data(inti,Student&
x)
{Student*current;
intj=1;
if((i<
1)||(i〉length()))
{
cout〈<
”非法位置读取元素,不能读取!
\n”;
returnfalse;
}
current=head-〉next;
while(current!
=NULL&
&
j〈i)
{
j++;
current=current—>
next;
x=*current;
returntrue;
get_succ(inti,Student&
Student*current;
intj=1;
if((i〈1)||(i〉length()))
{cout<
”非法位置读取元素,不能读取!
\n"
current=head—>
&j<
i)
j++;
current=current—〉next;
if(current->
next!
x=*current-〉next;
returntrue;
}
else
cout<
第"
i<
”个元素无后续,不能读取!
\n”;
returnfalse;
get_prior(inti,Student&x)
Student*current,*previous;
if((i<
1)||(i>
length()))
{cout<
;
previous=head;
while(current!
j<
previous=current;
current=current-〉next;
if(previous!
=head)
x=*previous;
”第”〈<
i〈<
”个元素无前驱,不能读取!
\n”;
replace_data(doublei)
intj=0;
Student*current=head;
=NULL&&
current—>
Num!
=i)
if(j==length())
〈”没有找到该学号相关信息!
”<
〈endl;
intxg;
cout〈〈"
输入您要修改的学生信息:
1学号,2姓名,3性别,4年龄,5籍贯,6系别,7专业,8班级,9学籍变化."
cin〉〉xg;
stringxingming;
stringxingbie;
stringjiguan;
stringxibie;
stringzhuanye;
stringbanji;
stringbianhua;
switch(xg)
case1:
doublenum;
cout<
〈”您将修改学号,请输入新的学号"
〈〈endl;
cin>
num;
current—〉Num=num;
break;
case2:
cout〈<
您将修改姓名,请输入新姓名”<
xingming;
current->
Name=xingming;
case3:
您将修改性别,请输入新性别"
xingbie;
current-〉Sex=xingbie;
case4:
intnianling;
”您将修改年龄,请输入新的年龄"
cin〉>
nianling;
Num=nianling;
break;
case5:
”您将修改籍贯,请输入新籍贯”<
cin〉〉jiguan;
current—>
Jiguan=jiguan;
case6:
您将修改系别,请输入新系别"
cin〉〉xibie;
Xibie=xibie;
case7:
”您将修改专业,请输入新专业"
〈endl;
zhuanye;
Zuanye=zhuanye;
case8:
您将修改班级,请输入新班级"
banji;
Class=banji;
case9:
”您将修改学籍,请输入新学籍”〈〈endl;
cin〉〉bianhua;
current—〉bianhua=bianhua;
insert_data(Studentdata,inti)
Student*current,*previous,*newnode;
intj=1;
newnode=newStudent;
if(newnode==NULL)
{
cout〈<
内存无空闲空间,不能插入:
returnfalse;
}
newnode-〉Age=data.Age;
newnode—〉Num=data.Num;
newnode-〉Class=data.Class;
newnode—>
Jiguan=data。
Jiguan;
newnode-〉Name=data.Name;
Sex=data。
Sex;
Xibie=data.Xibie;
Zuanye=data.Zuanye;
newnode->
bianhua=data。
bianhua;
previous=head;
i+1)
previous=current;
current=current-〉next;
};
next=current;
previous->
next=newnode;
delete_data(doublei)
Student*current,*previous;
intj=0;
if(isempty())
{
cout〈〈"
表已空,不能删除!
\n"
returnfalse;
};
previous=head;
current->
Num!
};
”没有该学号信息,不能删除!
returnfalse;
previous-〉next=current—>
deletecurrent;
find_data(doublei,Student&result)
if(current—>
=i)
current=current—>
else
result.Age=current—〉Age;
result。
Num
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 C+ 程序设计 课程设计 报告 范本 模板
![提示](https://static.bingdoc.com/images/bang_tan.gif)