课程设计报告模板Word格式.docx
- 文档编号:17710726
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:14
- 大小:19.69KB
课程设计报告模板Word格式.docx
《课程设计报告模板Word格式.docx》由会员分享,可在线阅读,更多相关《课程设计报告模板Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
(3)学生可自动增加新功能模块(视情况可另外加分)
(4)建立文件操作类、界面显示类及相关接口类,用文件读写实现。
(5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。
课程负责人签名:
课程设计分工安排
姓名
课程设计负责工作
备注
课程设计成绩评定表
姓名
成绩评定权重
总分
总成绩
(五分制)
平时成绩20
报告成绩50
答辩成绩30
×
(题目)
摘要
□□×
(空两格,小四号宋体)
关键词:
□×
(小四号宋体,各关键词之间空一格)
目录
第一章设计内容与目标1
第二章总体设计2
2.1模块化设计总方案2
2.2模块功能设计2
第三章详细设计3
3.1数据结构设计3
3.2模块接口设计3
3.3模块实现设计3
第四章调试与测试4
4.1调试过程中的主要问题4
4.2测试过程与结果4
参考文献5
心得体会6
第一章设计内容与目标
第二章总体设计
2.1模块化设计总方案
□□☆☆☆☆☆☆☆☆☆正文(空两格、小四号宋体)
为实现系统功能,本程序主要分为六个模块。
它们分别为:
输入一个学生信息、删除一个学生信息、查询一个学生信息、插入一个学生信息、列出所有的学生信息、保存并且退出该程序。
这六个函数再通过主函数调用分别得以实现。
2.2模块功能设计
第三章详细设计
3.1数据结构设计
用链表存储数据。
每个学生的信息用链表的一个节点来存储。
CNodeCList
classCNode
{
public:
CNode(){pdata=0;
pnext=0;
}
CNode(CNode&
n);
voidinputdata(CData*pd){pdata=pd;
}//给节点的Data域赋值
voidshownode(){pdata->
show();
}//输出节点的数据
CData*getdata(){returnpdata;
}//获取节点的数据
friendclassCList;
private:
CData*pdata;
CNode*pnext;
};
classCList
CList(){phead=0;
~CList(){deletelist();
voidaddnode(CNode*pnode);
//添加新的节点
voiddeletelist();
//删除链表
CNode*deletenode(CNode*pnode);
//删除节点
CNode*lookup(CData&
data);
//查找姓名相同的节点,并返回该节点
CNode*getlisthead(){returnphead;
}//获取链表的头结点
voidshowlist();
//输出链表
CNode*getnext(CNode*pnode);
//获得下一个节点
CNode*phead;
3.2模块接口设计
模块接口:
(1)show()
(2)set(char*c,char*n,char*nam,doublee,doublecp,doublem,doublece,doublesm,doublecg,doublemar,doubleaver)
(3)voidprint()//打印学生信息的项目
(4)voiddisplay(CList&
stulist)//输出学生的信息
(5)voidadd(CList&
stulist)//增加学生的信息
(6)voidlookup(CList&
stulist)//查找某位学生的信息
(7)voiddeletes(CList&
stulist)//删除某位学生的信息
//输出学生的信息,如学生班级,学号,姓名。
。
voidStudent:
:
show()
cout<
<
setw(7)<
s_class;
setw(12)<
s_num;
s_name;
setw(6)<
ele_technique;
c_program;
mul_technique;
col_english;
sen_math;
col_gym;
marx_economy<
"
"
;
setw(3)<
average<
endl;
//输入学生的信息
set(char*c,char*n,char*nam,doublee,doublecp,doublem,doublece,doublesm,doublecg,doublemar,doubleaver)
strcpy(s_class,c);
strcpy(s_num,n);
strcpy(s_name,nam);
ele_technique=e;
c_program=cp;
mul_technique=m;
col_english=ce;
sen_math=sm;
col_gym=cg;
marx_economy=mar;
average=aver;
//打印学生信息的项目
voidprint()
class"
number"
name"
ele"
C++"
media"
eng"
math"
gym"
marx"
aver"
//先是学生的信息
voiddisplay(CList&
stulist)
print();
stulist.showlist();
按任意键返回主菜单"
getchar();
//增加学生的信息
voidadd(CList&
CNode*p;
Student*s;
charc[17],n[17],nam[17];
doublee,cp,m,ce,sm,cg,mar;
floataver;
请输入姓名(输入0结束):
cin.ignore();
cin.getline(nam,17);
while(strcmp(nam,"
0"
))
{
输入学号:
cin.getline(n,17);
输入班级:
cin.getline(c,17);
输入电子技术成绩:
cin>
>
e;
输入C++成绩:
cp;
输入多媒体技术成绩:
m;
输入大学英语成绩:
ce;
输入高等数学成绩:
sm;
输入大学体育成绩:
cg;
输入马克思政治经济学成绩:
mar;
aver=((e+cp+m+ce+sm)*0.8/5+cg*0.15+mar*0.05);
s=newStudent;
s->
set(c,n,nam,e,cp,m,ce,sm,cg,mar,aver);
p=newCNode;
p->
inputdata(s);
stulist.addnode(p);
cout<
记录添加成功."
cin.ignore();
cin.getline(nam,17);
}
//查找某位学生的信息
voidlookup(CList&
CNode*plook;
charname[17];
cout<
请输入你要查找的姓名(输入0结束):
cin.ignore();
cin.getline(name,17);
while(strcmp(name,"
Students;
s.set("
"
name,0,0,0,0,0,0,0,0);
plook=stulist.lookup(s);
if(plook)
plook->
shownode();
else
对不起,在学生记录中查找不到"
name<
的记录."
cin.getline(name,17);
//删除某位学生的信息
voiddeletes(CList&
请输入要删除的记录的学生姓名(输入0结束):
if(plook)
print();
stulist.deletenode(plook);
的记录已经删除.\n"
的记录.\n"
//保存文件
voidstorefile(CList&
ofstreamoutfile("
student.dat"
ios:
binary);
if(!
outfile)
数据文件打开错误,数据存入文件失败!
return;
CNode*p;
Student*s;
p=stulist.getlisthead();
while(p)
s=(Student*)p->
getdata();
outfile.write((char*)s,sizeof(Student));
p=stulist.getnext(p);
outfile.close();
//载入文件
voidloadfile(CList&
ifstreaminfile("
infile)
没有数据文件!
while(!
infile.eof())
s=newStudent;
infile.read((char*)s,sizeof(Student));
p=newCNode;
p->
stulist.addnode(p);
stulist.deletenode(p);
infile.close();
voidoperate(CList&
intchoice;
do
system("
cls"
);
→欢迎进入学生成绩管理系统←\n"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
1.输出所有学生成绩记录\n"
<
2.增加学生成绩记录\n"
3.删除学生成绩记录\n"
4.查询学生成绩记录\n"
0.退出学生能够成绩管理系统\n"
提示:
按0-4进行选择您要的服务"
cin>
choice;
switch(choice)
{case1:
display(stulist);
break;
case2:
add(stulist);
case3:
deletes(stulist);
case4:
lookup(stulist);
case0:
storefile(stulist);
default:
输入错误,请重新输入您的选择:
}while(choice!
=0);
}
3.3模块实现设计
第四章调试与测试
4.1调试过程中的主要问题
由于本人天资聪明,在调试过程中完全没有出现任何问题。
4.2测试过程与结果
参考文献
参考文献需加类型标志:
普通图书-M,期刊-J,报纸文章-N,论文集-C,网上电子文献-EB/OL,学位论文-D。
文献为普通图书类的书写格式是:
[编号]作者:
《书名》[类型标志],出版单位出版年,页码。
示例如下:
[1]樊孝忠:
《计算机应用基础》[M],北京理工大学出版社2006年版,第20页。
文献为期刊类的书写格式是:
《文章题目》[类型标志],《期刊名》年份期号,页码。
[1]单民:
《检察机关终止刑事诉讼及其制约的比较》[J],《国家检察官学院学报》2001年第1期,第69页。
心得体会
□□☆☆☆☆☆☆☆☆☆(正文小四号宋体,内容限1页)
计算机学院课程设计答辩记录表
专业学院
专业
学号
课程设计
题目
答辩日期
答辩时间
答
辩
提
问
及
其
回
记
录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 模板