课程设计选题管理系统报告完整.doc

上传人:wj 文档编号:224643 上传时间:2023-04-28 格式:DOC 页数:93 大小:1.56MB
下载 相关 举报
课程设计选题管理系统报告完整.doc_第1页
第1页 / 共93页
课程设计选题管理系统报告完整.doc_第2页
第2页 / 共93页
课程设计选题管理系统报告完整.doc_第3页
第3页 / 共93页
课程设计选题管理系统报告完整.doc_第4页
第4页 / 共93页
课程设计选题管理系统报告完整.doc_第5页
第5页 / 共93页
课程设计选题管理系统报告完整.doc_第6页
第6页 / 共93页
课程设计选题管理系统报告完整.doc_第7页
第7页 / 共93页
课程设计选题管理系统报告完整.doc_第8页
第8页 / 共93页
课程设计选题管理系统报告完整.doc_第9页
第9页 / 共93页
课程设计选题管理系统报告完整.doc_第10页
第10页 / 共93页
课程设计选题管理系统报告完整.doc_第11页
第11页 / 共93页
课程设计选题管理系统报告完整.doc_第12页
第12页 / 共93页
课程设计选题管理系统报告完整.doc_第13页
第13页 / 共93页
课程设计选题管理系统报告完整.doc_第14页
第14页 / 共93页
课程设计选题管理系统报告完整.doc_第15页
第15页 / 共93页
课程设计选题管理系统报告完整.doc_第16页
第16页 / 共93页
课程设计选题管理系统报告完整.doc_第17页
第17页 / 共93页
课程设计选题管理系统报告完整.doc_第18页
第18页 / 共93页
课程设计选题管理系统报告完整.doc_第19页
第19页 / 共93页
课程设计选题管理系统报告完整.doc_第20页
第20页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计选题管理系统报告完整.doc

《课程设计选题管理系统报告完整.doc》由会员分享,可在线阅读,更多相关《课程设计选题管理系统报告完整.doc(93页珍藏版)》请在冰点文库上搜索。

课程设计选题管理系统报告完整.doc

课程设计选题管理系统报告

(优质文档,可直接使用,可编辑,欢迎下载)

上海电力学院

课程设计报告

面向对象程序设计

(2021/2021学年第一学期)

课题名称课程设计选题管理系统设计

院(系)电子与信息工程学院

专业通信工程

学号20212234

姓名储昊

时间2021年1月19日至1月23日

地点虚拟仿真实验室(南4教312)

指导老师骆政屹

目录

一、设计目的与任务………………………………………………………………………。

2

1、本课程设计的目的……………………………………………………………………….2

2、本课程设计的任务……………………………………………………………………….2

二、设计方案…………………………………………………………………………………。

.3

1、总体设计……………………………………………………………………………………….3

2、系统设计………………………………………………………………………………………。

3

3、系统实现……………………………………………………………………………………….5

4、系统测试………………………………………………………………………………………16

三。

心得体会……………………………………………………………………………………。

20

一、设计目的与任务

1、本课程设计的目的

1)课程设计是实践教学环节。

设置课程设计的目的是加强学生对本课程及相关课程知识的理解,培养学生综合运用理论知识分析和解决实际问题的方法与能力.有助于提高学生的创新能力和创新意识。

搞好课程设计教学工作,对实现专业培养目标,提高学生全面素质有重要作用。

2)通过课程设计更进一步理解C++的基础知识。

3)训练用系统的观点及软件开发的一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风.初步掌握软件开发过程中的问题分析、系统设计、程序编码、调试、测试等方面的基本方法和技能。

4)熟练掌握C++知识在程序中的应用,了解书本知识在解决实际问题中的用途。

2、本课程设计的任务

(1)问题描述

课程设计题目包括:

编号、名称、关键词、实现技术、人员数(由几个人来完成)等信息.

学生信息包括:

学号、姓名、性别、年龄、班级、专业等信息。

(2)功能要求

①添加功能:

程序能够添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。

添加记录时,要求学号和编号要唯一。

如果添加了重复记录,则提示数据添加重复并取消添加。

②查询功能:

可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息.

③显示功能:

可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。

④编辑功能:

可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。

⑤删除功能:

主要实现对已添加的学生和课程设计题目记录进行删除。

如果当前系统中没有相应的记录,则提示“记录为空!

"并返回操作。

⑥统计功能:

能根据多种参数进行统计.能按课程设计题目名称统计出学生选择该题目的人员的信息。

⑦保存功能:

可将当前系统中各类记录存入文件中,存入方式任意。

⑧读取功能:

可将保存在文件中的信息读入到当前系统中,供用户进行使用。

二、设计方案

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];

public:

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〈〈"该文件不能打开!

"〈

abort();

}

intcount=n;

myfile<

for(inti=0;i〈=count;i++)

myfile<

stuid<<””〈

sex<<”"〈〈stu[i].age<<""〈〈stu[i].clas〈〈""〈〈stu[i]。

specialty〈<""<

couname<〈””<〈stu[i]。

keyword〈<"”<〈stu[i].technology<<"”〈〈endl;

}

myfile。

close();

intGuanli:

:

read()

fstreammyfile;

myfile。

open("student.txt",ios:

:

in|ios:

:

binary);

if(!

myfile)

{

cout<<”该文件不能打开!

”<〈endl;

abort();

}

intcount;

myfile.seekg(0);

myfile>〉count;

for(inti=0;i<=count;i++)

myfile>〉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;

cout<

}

myfile.close();

returncount;

voidGuanli:

:

add()

{

intn=read();

inti=0;

charsign;

cout〈

”<

while(sign!

='N')

loop:

cout〈<”学号:

";

cin〉〉stu[i]。

stuid;

cout<〈endl;

intc=0;

while(c〈i)

c++;

if(stu[i].stuid==stu[i—c].stuid)

cout<〈"你输入的学号已经存在!

请重新输入”<〈endl;

gotoloop;

cout〈<"姓名:

";

cin〉〉stu[i].stuname;

cout<

cout〈<"性别:

”;

cin〉〉stu[i].sex;

cout<〈endl;

cout<〈”年龄:

”;

cin>〉stu[i].age;

cout〈

cout〈<"班级:

”;

cin>>stu[i].clas;

cout<

cout〈〈”专业:

";

cin>>stu[i]。

specialty;

cout〈

cout〈<”题目编号:

”;

cin〉>stu[i].couid;

cout〈〈endl;

cout<〈”题目名称:

”;

cin〉>stu[i].couname;

cout<

cout<<"关键词:

”;

cin〉〉stu[i].keyword;

cout〈

cout<<"实现技术:

”;

cin>〉stu[i]。

technology;

cout〈〈endl;

cout<<"提示:

是否继续写入学生信息?

(Y/N)";

cin〉>sign;//输入判断

i++;

write(i);

voidGuanli:

search()

{

intn=read();

cout<〈”**

(1)根据学号查询**"<〈endl;

cout<〈”**

(2)根据姓名查询**"<〈endl;

cout<〈"**(3)根据编号查询**”<〈endl;

cout<<”**(4)根据名称查询**”〈

cout<〈endl;

intc;

Guanlig;

cout<〈”请输入选择:

”;

cin〉>c;

switch(c)

case1:

g.searchsid();

break;

case2:

g.searchsname();

break;

case3:

g.searchcid();

break;

case4:

g。

searchcname();

break;

default:

cout〈〈”输入错误,请重新输入!

”〈

}

g.write(n);

}

voidGuanli:

searchsid()

{

intn=read();

ints;

inti=0;

cout<

"<

cout<<"请输入需要查找学生的学号:

”〈〈endl;

cin〉〉s;

while((stu[i].stuid—s)!

=0&&i

if(i==n)

{

cout〈<"提示:

对不起,无法找到该学生的信息!

”<〈endl;

else

{

cout〈<”******************************"<

cout〈<"学号:

"〈

cout〈<"姓名:

”<

cout〈<”性别:

”<

sex〈〈endl;

cout〈〈”年龄:

”<〈stu[i].age〈〈endl;

cout<〈"班级:

”<

cout〈<"专业:

”<〈stu[i]。

specialty〈〈endl;

cout<〈”题目编号:

”<〈stu[i]。

couid〈〈endl;

cout<<”题目名称:

”〈〈stu[i]。

couname<〈endl;

cout〈〈”关键词:

”<〈stu[i]。

keyword〈〈endl;

cout〈<"实现技术:

”<〈stu[i].technology<

}

}

voidGuanli:

searchsname()

intn=read();

chara[10];

cout〈<”请输入需要查找学生的姓名:

"〈〈endl;

cin〉〉a;

for(inti=0;i

if(strcmp(stu[i].stuname,a)==0)

cout〈<”******************************”〈

cout〈〈"学号:

”<〈stu[i]。

stuid<〈endl;

cout〈<"姓名:

"<〈stu[i].stuname〈〈endl;

cout<<"性别:

"<

cout<<"年龄:

"<

age<

cout<〈"班级:

"<〈stu[i]。

clas<

cout<〈”专业:

"〈

cout<<"题目编号:

"〈〈stu[i]。

couid<〈endl;

cout<<"题目名称:

”〈〈stu[i].couname〈〈endl;

cout〈<"关键词:

"<〈stu[i].keyword〈

cout〈〈”实现技术:

"〈

technology〈

voidGuanli:

:

searchcid()

intn=read();

intb;

inti=0;

cout<〈"请输入需要查找的题目编号:

”<

cin>>b;

while((stu[i].couid—b)!

=0&&i〈n)i++;//查找判断

if(i==n)

cout〈<”提示:

对不起,无法找到该信息!

"<〈endl;

else

{

cout〈<”******************************"<〈endl;

cout〈〈”学号:

”<

stuid〈〈endl;

cout<〈”姓名:

"<〈stu[i]。

stuname〈〈endl;

cout<〈”性别:

”<

cout〈<”年龄:

”<

age<

cout〈〈"班级:

"〈〈stu[i].clas<〈endl;

cout〈〈”专业:

"<〈stu[i]。

specialty<

cout<<”题目编号:

"<〈stu[i].couid〈

cout<<"题目名称:

"〈〈stu[i].couname〈

cout<<"关键词:

”<〈stu[i].keyword<〈endl;

cout<<”实现技术:

"〈

voidGuanli:

searchcname()

{

intn=read();

charc[10];

cout<<"请输入需要查找的题目名称:

"<〈endl;

cin〉>c;

for(inti=0;i〈n;i++)

if(strcmp(stu[i]。

couname,c)==0)

{

cout〈〈"******************************"〈

cout<<"学号:

"<〈stu[i].stuid〈

cout<〈”姓名:

"<〈stu[i].stuname<

cout<〈"性别:

”<

cout〈<”年龄:

”〈〈stu[i]。

age<〈endl;

cout<〈”班级:

"<

clas〈

cout〈〈"专业:

"<

cout<〈"题目编号:

"〈〈stu[i].couid<

cout<〈”题目名称:

”<

couname〈〈endl;

cout〈<”关键词:

"<〈stu[i]。

keyword<

cout<〈”实现技术:

"〈〈stu[i]。

technology〈〈endl;

}

voidGuanli:

:

alter()

{

intn=read();

ints;

inti=0;

cout<〈endl<<"修改学生信息:

”〈〈endl;

cout〈<"请输入需要修改学生的学号:

”<〈endl;

cin>>s;

while((stu[i]。

stuid-s)!

=0&&i

if(i==n)

{

cout〈〈”提示:

对不起,无该学生的信息!

”〈

else

cout<<”该学生的信息:

”〈〈endl;

cout<<"学号”〈〈stu[i]。

stuid〈<’\n'<〈"姓名”〈〈stu[i].stuname〈〈'\n’<<”性别"<

stu[i].clas〈<’\n'〈<"专业"<

specialty<<'\n'<〈”题目编号”<〈stu[i]。

couid〈<’\n’〈<"题目名称"<

〈<"关键词"<〈stu[i].keyword〈<'\n’〈〈”实现技术”〈

cout〈〈"请重新输入该学生的信息"〈〈endl;

cout<<"学号:

”;

cin〉>stu[i]。

stuid;

cout<〈endl;

cout〈〈"姓名:

”;

cin>>stu[i]。

stuname;

cout<

cout<<"性别:

";

cin>>stu[i]。

sex;

cout〈

cout〈<"年龄:

";

cin>>stu[i]。

age;

cout〈

cout<<”班级:

";

cin>〉stu[i]。

clas;

cout〈〈endl;

cout<<"专业:

”;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2