C++课程设计报告学生成绩管理系统.docx

上传人:b****5 文档编号:3049871 上传时间:2022-11-17 格式:DOCX 页数:35 大小:593.04KB
下载 相关 举报
C++课程设计报告学生成绩管理系统.docx_第1页
第1页 / 共35页
C++课程设计报告学生成绩管理系统.docx_第2页
第2页 / 共35页
C++课程设计报告学生成绩管理系统.docx_第3页
第3页 / 共35页
C++课程设计报告学生成绩管理系统.docx_第4页
第4页 / 共35页
C++课程设计报告学生成绩管理系统.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

C++课程设计报告学生成绩管理系统.docx

《C++课程设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告学生成绩管理系统.docx(35页珍藏版)》请在冰豆网上搜索。

C++课程设计报告学生成绩管理系统.docx

C++课程设计报告学生成绩管理系统

C++课程设计报告(学生成绩管理系统)

学生成绩管理系统

说明:

该课程设计包含两个部分,一个为纯dos系统下的控制台程序,用C++编写;另一个为有界面的MFC项目。

 

纯dos系统下的控制台程序

1、设计要求...........................................3

2、设计分析...........................................3

3、调试说明...........................................4

4、源代码.............................................8

5、实验总结..........................................21

有界面的MFC项目

1、设计内容...........................................22

2、设计说明..........................................22

3、设计步骤..........................................22

4、运行演示..........................................27

5、实验总结..........................................29

 

纯dos系统下的控制台程序

1、设计要求

现有学生成绩信息,内容如下:

姓名    学号  语文  数学  英语    

张明明  01    67    78      82

李成友  02    78    91      88

张辉灿  03    68    82      56

王露    04    56    45      77

陈东明  05    67    38      47

请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:

功能要求:

(1)    信息维护:

要求:

学生信息数据要以文件的形式保存,能实现学生信息数据的维护。

此模块包括子模块有:

增加学生信息、删除学生信息、修改学生信息

(2)    信息查询:

要求:

查询时可实现按姓名查询、按学号查询

(3)    成绩统计:

要求:

A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。

(4)    排序:

能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)

其它要求:

(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读

(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)

(3)学生可自动增加新功能模块(视情况可另外加分)

(4)写出课程设计报告,具体要求见相关说明文档

2、设计分析

(1)需求分析:

该程序要能实现对学生成绩信息的增加、删除、修改,实现对学生按姓名查询,按学号查询显示,对任意一个课程名和分数段的学生人数进行输出并统计人数,最好还要根据用户的需求对学生成绩排序。

(2)系统性能要求:

 

a.系统安全、可靠; 

b.功能齐全; 

c.操作方便、界面友好; 

d.易于维护和扩充。

(3)系统功能模块:

学生成绩管理系统包括:

增加、删除、修改、显示、信息查询、成绩统计、排序几个部分构成。

(4)模块框架图

 

 

 

3、调试说明

运行程序后,现出来一个简洁的主界面。

若没有学生信息,显示“这是一个新系统,无学生信息,请先输入。

”若已存在学生信息,显示“读取学生信息成功!

一秒钟后,自动切入主菜单界面。

首先选择1,增加学生信息。

录入学生信息后选择4,显示学生信息。

选择2,删除学生信息,输入要删除的学生姓名,这里我输入的是王露,显示剩下几位同学的信息。

选择3,修改学生信息,输入要修改的学生姓名,然后输入新的学生信息,这里我修改的是张明明,显示修改后的学生信息。

将张明明和王露的信息重新输入。

输入5,信息查询,出来选择界面,“1、按学生姓名查找”、“2、按学生学号查找”,输入1,运行结果如下:

输入2,运行结果如下:

输入6,排序,显示选择界面,用户可根据需求选择科目和升降序,这里我是按语文成绩降序排序。

输入7,成绩统计,用户自行输入要统计的科目和分数段进行统计。

这里我统计的是英语成绩在60—90的学生。

4、源程序代码

#include

#include

#include

#include

#include

#include

usingnamespacestd;

#defineHEADER1"-----------------------------学生成绩----------------------------\n"

#defineHEADER2"|姓名|学号|数学|语文|英语|总分|\n"

#defineHEADER3"|----------|----------|----------|----------|----------|----------|\n"

classStudent//定义学生类

{

public:

charname[20];

charid[20];

intmath;

intchinese;

intenglish;

intsum;

Student*next;

voidinput();

voidReadFile(istream&in);

voidshow();

};

voidStudent:

:

input()//输入学生信息函数

{

cout<<"\n\t\t请输入:

"<

cout<<"\t\t姓名:

";

cin>>name;

cout<<"\t\t学号:

";

cin>>id;

cout<<"\t\t数学成绩:

";

cin>>math;

cout<<"\t\t语文成绩:

";

cin>>chinese;

cout<<"\t\t英语成绩:

";

cin>>english;

sum=math+chinese+english;

}

voidStudent:

:

ReadFile(istream&in)//读取文件

{

in>>name>>id>>math>>chinese>>english>>sum;

}

voidStudent:

:

show()//输出学生信息

{

cout<<"|"<

cout<<"|----------|----------|----------|----------|----------|----------|\n";

}

classStudentMassage//定义学生信息类,包含各项处理功能

{

public:

StudentMassage();

~StudentMassage();

voidShowMenu();

voidDisplay();

voidAddItem();

voidFind();

voidsave();

voidModifyItem();

voidRemoveItem();

voidSwap(Student*p1,Student*p2);

voidSort();

intListCount();

intCount();

private:

Student*Head,*End;

ifstreamin;

ofstreamout;

Student*FindItem(char*name);

Student*FindId(char*id);

};

Student*StudentMassage:

:

FindItem(char*name)

{

Student*p;

for(p=Head;p->next!

=End;p=p->next)

if(!

strcmp(p->next->name,name))

returnp;

returnNULL;

}

Student*StudentMassage:

:

FindId(char*id)

{

Student*p;

for(p=Head;p->next!

=End;p=p->next)

if(!

strcmp(p->next->id,id))

returnp;

returnNULL;

}

StudentMassage:

:

StudentMassage()//构造函数

{

Head=newStudent;

Head->next=newStudent;

End=Head->next;

in.open("sort.txt");

if(!

in)

cout<<"\n\t\t这是一个新系统,无学生信息,请先输入。

"<

else

{

while(!

in.eof())

{

End->ReadFile(in);

if(End->name[0]=='\0')

break;

End->next=newStudent;

End=End->next;

}

in.close();

cout<<"\n\t\t读取学生信息成功!

"<

}

}

StudentMassage:

:

~StudentMassage()//析构函数

{

Student*temp;

save();

for(temp;Head->next!

=End;)

{

temp=Head->next;

Head->next=Head->next->next;

deletetemp;

}

deleteHead,End;

}

voidStudentMassage:

:

ShowMenu()//显示菜单

{

cout<<"\n\n\t\t\t\t主菜单"<

cout<<"\t\t****************************************"<

cout<<"\t\t1、增加学生信息2、删除学生信息"<

cout<<"\t\t3、修改学生信息4、显示学生信息"<

cout<<"\t\t5、信息查询6、排序"<

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

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1