课程设计选题管理系统报告Word文档格式.docx

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

课程设计选题管理系统报告Word文档格式.docx

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

课程设计选题管理系统报告Word文档格式.docx

(2)功能要求

1添加功能:

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

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

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

2查询功能:

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

3显示功能:

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

4编辑功能:

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

一性。

5删除功能:

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

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

”并返回操作。

6统计功能:

能根据多种参数进行统计。

能按课程设计题目名称统计出学生选择该题目的人员的信息。

7保存功能:

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

8读取功能:

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

设计方案

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<

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<

myfile.close();

intGuanli:

read()

in|ios:

intcount;

myfile.seekg(0);

myfile>

>

count;

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;

add()

intn=read();

inti=0;

charsign;

coutvvendlvv'

请输入增加的学生的相关信息:

endl;

while(sign!

='

N'

){

loop:

coutvv"

学号:

;

cin>

stu[i].stuid;

cout<

intc=0;

while(c<

i){

c++;

if(stu[i].stuid==stu[i-c].stuid){

你输入的学号已经存在!

请重新输入"

gotoloop;

coutvv"

姓名:

cin>

stu[i].stuname;

coutvvendl;

性别:

stu[i].sex;

coutvv'

年龄:

stu[i].age;

班级:

stu[i].clas;

专业:

stu[i].specialty;

题目编号:

stu[i].couid;

cout«

题目名称:

stu[i].couname;

endl;

关键词:

stu[i].keyword;

cout<

实现技术:

提示:

是否继续写入学生信息?

(Y/N)"

sign;

//输入判断i++;

}write(i);

search()

**

(1)根据学号查询**"

**

(2)根据姓名查询**"

**(3)根据编号查询**"

**(4)根据名称查询**"

intc;

Guanlig;

请输入选择:

c;

switch(c)

{case1:

g.searchsid();

break;

case2:

g.searchsname();

case3:

g.searchcid();

case4:

g.searchcname();

default:

输入错误,请重新输入!

g.write(n);

searchsid()

ints;

endlvv'

查找学生信息:

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

s;

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

=0&

&

n)i++;

//查找判断if(i==n)

vvendl;

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

else

******************************、'

学号:

vvstu[i].stuid<

vendl;

stu[i].stuname<

vvstu[i].sexvvendl;

vvstu[i].agevvendl;

coutvv'

vvstu[i].clasvvendl;

vvstu[i].specialtyvvendl;

题目编号:

vvstu[i].couidvvendl;

题目名称:

vvstu[i].counamevvendl;

关键词:

vvstu[i].keywordvvendl;

实现技术:

vvstu[i].technologyvvendl;

searchsname()

chara[10];

请输入需要查找学生的姓名:

vvendl;

a;

ivn;

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

vvstu[i].stuidvvendl;

vvstu[i].stunamevvendl;

年龄:

stu[i].age«

endl;

stu[i].specialtyvvendl;

v<

vendl;

stu[i].technologyvvendl;

searchcid()

intb;

请输入需要查找的题目编号:

b;

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

ivn)i++;

//查找判断

if(i==n)

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

vvstu[i].stunamevvendl;

vvstu[i].sexvvendl;

vvstu[i].agevvendl;

班级:

searchcname()

charc[10];

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

if(strcmp(stu[i].couname,c)==0)

stu[i].stuname<

vendl;

alter()

coutvvendlvv'

修改学生信息:

请输入需要修改学生的学号:

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

!

//输入失败信息

该学生的信息:

学号"

vvstu[i].stuidvv'

\n'

vv"

姓名"

vvstu[i].stunamevv'

性别"

vvstu[i].sexvv'

年龄"

vvstu[i].agevv'

班级"

vv

stu[i].clasvv'

专业"

vvstu[i].specialtyvv'

题目编号"

vvstu[i].couidvv'

题目名称"

vvstu[i].counamevv'

关键词"

vvstu[i].keywordvv'

实现技术"

vvstu[i].technologyvv'

请重新输入该学生的信息"

stu[i].stuid;

stu[i].stuname;

stu[i].clas;

”专业:

stu[i].specialty;

stu[i].keyword;

charc;

是否保存数据?

(y/n)"

«

if(c='

y'

修改成功!

write(n);

del()

inti=0,j;

删除学生信息:

请输入需要删除学生的学号:

记录为空!

//返回失败信息

for(j=i;

j<

n-1;

j++)//删除操作

stu[j].stuid=stu[j+1].stuid;

strcpy(stu[j].stuname,stu[j+1].stuname);

strcpy(stu[j].sex,stu[j+1].sex);

stu[j].age=stu[j+1].age;

strcpy(stu[j].clas,stu[j+1].clas);

strcpy(stu[j].specialty,stu[j+1].specialty);

stu[j].couid=stu[j+1].couid;

strcpy(stu[j].couname,stu[j+1].couname);

strcpy(stu[j].keyword,stu[j+1].keyword);

strcpy(stu[j].technology,stu[j+1].technology);

已成功删除!

//返回成功信息

你要删除的信息如下:

stu[i].stuname«

'

write(n-1);

total()

charc[

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

当前位置:首页 > 自然科学 > 物理

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

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