数据结构课程设计报告文档格式.docx
《数据结构课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
![数据结构课程设计报告文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/9/1fcf6d64-af6a-4241-9c38-5c2cd7e46ffb/1fcf6d64-af6a-4241-9c38-5c2cd7e46ffb1.gif)
二、机票—————————————————————17
(一)设计思想---------------------------------------------
(二)流程图---------------------------------------------
(三)结果分析---------------------------------------------
(四)源代码---------------------------------------------
三、设计总结———————————————————
高校管理系统
(一)设计思想
1.设计目的
本次设计是对于数据结构开始的一门实践性课程,目的是使学生进一步巩固和理解所学的数据结构基本理论知识和技术,培养学生运用所学的知识和技术将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。
促进学生的综合应用能力和专业素质的提高。
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
2.设计要求
1.明确课程设计任务,提高课程设计认识,严格服从教师安排,不迟到,不早退,不旷课,按时上机;
上机时认真做设计,不得做聊天、上网、玩游戏等与课程设计无关的事情,一经发现,经警告不改者,取消上机资格并把其课程设计成绩作零分计。
2.认真独立完成设计内容,上机前准备程序,做好资料搜集,能够上网查询所需资料;
除了上机,其余时间为查找资料和编写程序,要充分利用好时间。
3.利用数据结构及其C++的编程思想来完成系统的设计,给出详细地分析过程,画出程序流程图;
编写程序,调试各模块。
要求书写符合软件工程规范的文件,编写的程序代码应结构清晰、正确易读,能上机调试并排除错误。
4.请各位同学携带U盘等存储设备,每次编写完程序作备份,以防源程序丢失。
5.完成答辩,提交课程设计报告。
3.功能要求
1.学籍管理问题中的数据元素具有如下形式:
学生的自然情况包括学号、姓名、性别、出生日期、政治面貌和家庭住址等数据项。
2.对学籍登记表要求完成如下功能:
(1)录入:
将某学生的基本信息插入到登记表中;
(2)删除:
将满足条件的基本信息删除;
(3)修改:
对基本信息的数据项进行修改;
(4)查询:
查找满足条件的学生;
(5)输出:
将登记表中的全部(或满足条件)基本信息输出。
实现要点
3.对学籍登记表采用顺序的存储结构,在建立表时,由登记表的书写形式转化顺序表存储结构,还要把学生的书面形式转化为具体的类。
4.主要头函数
#include<
iostream>
string>
fstream>
stdlib.h>
iomanip>
5.设计思想
输入输出函数
录入学生信息
高校管理系统主函数查找学生信息
删除学生信息
功能函数
新建学生信息
修改学生信息
保存学生信息
(二)流程图
(三)
结果分析
(四)源代码
usingnamespacestd;
classstudent
{
protected:
intnumber;
charname[20];
charsex[6];
charplace[40];
charnation[6];
charbirth[20];
charparty[10];
public:
student*next;
student(){}
~student(){}
char*getname(){returnname;
}
intgetnumber(){returnnumber;
}
voidinput()
inte=1;
cout<
<
"
\t\t\t按提示输入:
endl;
\t\t输入编号:
"
;
cin>
>
number;
\t\t输入姓名:
name;
do
cout<
\t\t输入性别:
cin>
sex;
if(strcmp(sex,"
男"
)==0||strcmp(sex,"
女"
)==0)
{
\t\t输入家庭住址:
place;
\t\t输入民族:
nation;
\t\t输入生日:
birth;
\t\t输入政治面貌:
party;
e=0;
}
else
\t\t\t无此类型性别!
重新输入!
e=1;
}while(e);
return;
voidinput(ifstream&
is)
is>
number>
name>
sex>
place>
nation>
birth>
is.get();
voidoutput()
学生基本信息如下:
编号:
number
<
姓名:
name
性别:
sex
家庭住址:
place<
endl
民族:
nation
生日:
birth
政治面貌:
party<
endl<
voidoutput(ofstream&
os)
os<
setw(6)<
setw(15)<
setw(20)<
place
};
classschool
school(){head=newstudent;
head->
next=NULL;
key=0;
~school(){deletehead;
voidinput();
voidmend();
voiddel();
intfind(student**p,intnum,char*pn="
^"
);
voidfound();
voidshow();
voidcount();
voidsave();
voidbegin();
voidclear();
charmainmenu();
intgetkey(){returnkey;
voidsetkey(intk){key=k;
private:
student*head;
intkey;
//录入函数
voidschool:
:
input()
student*p,*p2=NULL;
p=head;
intn;
while(p->
next)
p=p->
next;
while(n)
p2=newstudent;
p2->
input();
p->
next=p2;
p=p->
school:
setkey
(1);
\t\t\t继续请输入1,返回晴输入0:
n;
//子查找函数
intschool:
find(student**p1,intnum,char*pn)
student*p;
(*p1)=p;
if((p->
next)->
getnumber()==num||!
strcmp((p->
getname(),pn))
return1;
return0;
//查找函数
found()
student*p;
intnum=-1,n=9;
charname[20]="
\t\t1:
按编号查找,2:
按姓名查找:
}while(n<
1||n>
2);
if(n==1)
\t\t\t输入编号:
num;
if(n==2)
\t\t\t输入姓名:
if(!
find(&
p,num,name))
\t\t找不到你要查找的内容!
return;
(p->
output();
//删除函数
del()
student*p,*p2;
intnum;
if(!
p,num,"
))
\t\t找不到你要删除的内容!
p2=p->
p->
next=p2->
deletep2;
//显示函数
show()
//修改函数
mend()
intnum=-1,n;
按编号修改,2:
按姓名修改: