C++课程报告书.docx

上传人:b****5 文档编号:29850017 上传时间:2023-07-27 格式:DOCX 页数:37 大小:379.12KB
下载 相关 举报
C++课程报告书.docx_第1页
第1页 / 共37页
C++课程报告书.docx_第2页
第2页 / 共37页
C++课程报告书.docx_第3页
第3页 / 共37页
C++课程报告书.docx_第4页
第4页 / 共37页
C++课程报告书.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

C++课程报告书.docx

《C++课程报告书.docx》由会员分享,可在线阅读,更多相关《C++课程报告书.docx(37页珍藏版)》请在冰豆网上搜索。

C++课程报告书.docx

C++课程报告书

一、课程设计任务书

C++课程设计任务书

系部计算机技术系班级软件30931学号3030093111姓名冯立

1、题目

学生成绩管理系统

2、目的要求:

1.通过本次课程设计,进一步掌握和巩固所学的数据结构、程序结构、流程控制语句、数组、函数、指针、结构体、链表等知识。

2.能综合运用所学知识,设计简易信息管理系统。

3.熟悉编写比较复杂程序的步骤。

3、內容:

1.课题选择

2.简单的系统与功能分析

根据选择的课题,进行系统需求与功能分析,画出功能模块图。

3.建立数据结构表

●建立真实的二维表,其中字段名不少于10个

●要建立一个测试的数据表,至少要有20个测试数据

4.编写代码(使用结构体数组或数据链表实现数据的录入、查询、修改、增加、删除、统计、输出),并上机调试。

5.编写课程设计说明书

6.准备课程设计答辩

4、进度安排:

序号

项目

学时数(天)

讲授

设计或其他

合计

1

选择课题,明确课程设计任务

0.2

0.2

2

系统功能分析,建立数据结构表

0.3

0.3

3

用结构体编写管理程序

0.2

1.3

1.5

4

用链表编写管理程序

0.5

1.5

2.0

5

课程设计说明书的编写

0.1

0.4

0.5

6

答辩、检查

0.5

0.5

5、课程设计答辩要求:

(1)现编写一段程序;

(2)教师提问学生回答。

6、评分标准:

序号

项目

成绩比例(%)

1

用结构体编写管理程序

10

2

用链表编写管理程序

20

3

课程设计说明书的完成情况

20

4

口头答辩(对知识点掌握程度、应变及口头表达等)

40

5

其他(纪律遵守、群体协作等)

10

开始日期:

2009年6月24日完成日期:

2009年6月30日

答辩日期:

2008年6月30日指导老师:

颜惠琴许敏

 

二、学生成绩管理系统设计

1、系统需求与功能分析

(1)需求分析

随着学校的规模不断扩大,学生数量急剧增加,学生成绩信息量庞大,人工抄写的话不但信息量大,而且容易出错,因此需要有学生成绩管理系统来提高管理工作的效率。

通过本系统可以随时增减学生,修改学生的成绩,进行快速查询和科学统计,从而实现学生成绩管理的自动化。

(2)功能分析

1)根据需求分析,确定该系统的功能有:

输入学生成绩:

包括班级、学号、姓名、各门课程的成绩。

(学号不允许重复)

修改学生成绩:

修改某一学生的相关信息。

删除学生成绩:

删除某一学生的相关信息。

插入学生成绩:

插入某一学生的相关信息。

查找学生:

输入学号查找某一学生的相关信息。

统计:

计算学生的平均成绩。

排序:

按学号或者某一门成绩或者名次对学生成绩排序

输出学生成绩:

输出所有学生的成绩信息。

2)该系统功能模块图如下:

(3)系统的数据结构表

序号

成员名(字段名)

数据类型

长度

字段含义

1

class0

char

30

班级(不用class)

2

num

int

学号

3

name

char

8

姓名

4

math

float

应用数学

5

jap

float

日语

6

elec

float

电工

7

cpp

float

C++程序设计

8

sport

float

大学体育

9

polity

float

思修

10

web

float

网页设计

11

ave

float

平均成绩

(4)系统测试数据表

学号

班级

姓名

C++

网页

日语

数学

体育

思修

电工

101

软件30931

陈坤坤

88

86

76

77

80

78

67

102

软件30931

陈涛

70

77

69

75

83

80

68

103

软件30931

程涛

73

75

70

73

79

79

68

104

软件30931

程虓

75

84

74

78

84

73

66

105

软件30931

丛巍

67

78

68

75

83

71

62

106

软件30931

丁乐

68

73

68

71

82

73

59

107

软件30931

丁黎

65

74

65

75

78

76

64

108

软件30931

杜钟

70

79

66

73

80

77

63

109

软件30931

樊益江

80

80

68

77

81

82

73

110

软件30931

方丽静

85

76

69

75

75

74

64

2、使用结构体数组编写程序

/*定义结构体*/

#include

#include

#include

#include

structstudent

{intnum;//学号

charclass0[30],name[8];//班级(不用class定义)、姓名

floatmath;//应用数学

floatcpp;//c++

floatsport;//大学体育

floatweb;//网页设计

floatelec;//电工

floatjap;//日语

floatpolity;//思修

floatave;//平均成绩

}stu[54];

/*结构体主界面登陆*/

#include

#include

#include

#include

voidInterfaces(void)

{cout<

cout<<"╭⌒╭⌒╮╭⌒╮~╭⌒╮︶︶, ︶︶╭⌒╭⌒╮╭⌒╮~╭⌒╮︶︶, ︶︶"<

cout<<",︶︶︶︶,""︶~~,""~︶︶ ,"",︶︶︶︶,""︶~~,""~︶︶ ,"""<

cout<<"#〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓#"<

cout<<"↓     ↓     ↓     ↓↓↓"<

cout<<"☆★☆   ☆★☆   ☆★☆   ☆★☆  ☆★☆   ☆★☆"<

cout<<"☆ 欢 ☆ ☆ 迎 ☆ ☆ 登 ☆ ☆ 录 ☆☆ 界 ☆ ☆ 面 ☆ "<

cout<<"☆★☆   ☆★☆   ☆★☆   ☆★☆  ☆★☆   ☆★☆  "<

cout<<"↓     ↓     ↓     ↓↓↓"<

cout<<"※     ※     ※    ※※     ※   "<

cout<

cout<<"********************************************************************************"<

cout<<""<

cout<<"学生成绩管理系统(Version2.0)"<

cout<<”“<

cout<<"CopyrightReserved"<

cout<<"********************************************************************************"<

cout<

}

/*结构体主界面*/

#include

#include

#include

#include

voidInterface(void)

{cout<

cout<<"请选择需要进行的操作,输入操作的代表数字(如:

1):

"<

cout<

cout<<"◤卐☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★卍◥"<

cout<<"★1:

输入成绩★"<

cout<<"☆〓§〓2:

查询成绩〓§〓☆"<

cout<<"★↓3:

修改成绩↓★"<

cout<<"☆☆★☆4:

删除成绩☆★☆☆"<

cout<<"★☆ 欢 ☆5:

统计平均成绩☆ 迎 ☆★"<

cout<<"☆☆★☆6:

平均成绩排序☆★☆☆"<

cout<<"★↓7:

输出排名成绩↓★"<

cout<<"☆※0:

退出管理系统※☆"<

cout<<"◣Ж☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★Ж◢"<

cout<

}

#include

#include

#include

#include

#include"结构体node.h"

#include"结构体主界面.h"

#include"结构体主界面1.h"

voidInput(students[],int&n)//输入函数n为引用类型,返回给主调函数学生个数

{inti;

i=0;

charyn;//定义判断符

cout<<"是否继续输入学生相关初始信息?

(y/n):

";

cin>>yn;

while(yn=='y'||yn=='Y')

{cout<<"学号班级姓名C++网页日语数学体育思修电工"<>s[i].num>>s[i].class0>>s[i].name>>s[i].cpp>>s[i].web>>s[i].jap>>s[i].math>>s[i].sport>>s[i].polity>>s[i].elec;

i++;//学生人数累加

cout<<"是否继续输入学生相关初始信息?

(Y/N)";

cin>>yn;

}

n=i;

}

voidStatistic(students[],intn)//计算平均成绩

{inti;

for(i=0;i

s[i].ave=(s[i].cpp+s[i].web+s[i].jap+s[i].math+s[i].sport+s[i].polity+s[i].elec)/7;//计算七门课的平均分

cout<<"已完成学生成绩的统计!

!

!

"<

}

voidModify(students[],intn)//修改函数

{inti,k;//k为要修改的学生学号

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

";

cin>>k;//输入学生学号

for(i=0;i

{if(k==s[i].num)//查找到该生

{cout<<"学号班级姓名C++网页日语数学体育思修电工"<>s[i].num>>s[i].class0>>s[i].name>>s[i].cpp>>s[i].web>>s[i].jap>>s[i].math>>s[i].sport>>s[i].polity>>s[i].elec;//修改信息

cout<<"已成功修改该学生的相关信息!

!

!

"<

break;

}

}

if(k!

=s[i].num)

cout<<"输入的学生学号错误!

请重新输入!

!

!

"<

}

voidDelete(students[],intn)//删除函数

{inti,j,k;//k为要删除的学生学号

cout<<"输入要删除的学生学号:

";

cin>>k;//输入要删除的学生学号

for(i=0;i

{if(k==s[i].num)//查找到该学生信息

{for(j=i;j

s[j]=s[j+1];

cout<<"已成功删除该学生的相关信息!

!

!

";

break;

}

else

cout<<"输入的学生号错误!

请重新输入!

!

!

"<

}

}

voidLookup(students[],intn)//查询函数

{inti,k;//k为要查询的学生学号

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

";

cin>>k;//输入学生学号

for(i=0;i

{cout<<"学号班级姓名C++网页日语数学体育思修电工"<

if(k==s[i].num)//查找学生信息

{cout<

break;

}

}

if(k!

=s[i].num)

cout<<"输入的学生学号错误!

请重新输入!

!

!

"<

}

voidSort(students[],intn)//擂台法降序排序

{inti,j,k;

studenttemp;

charyn;//定义判断符

cout<<"是否已经完成平均值的计算?

Y/N"<

cin>>yn;

if(yn!

='y'||yn!

='Y')//未完成平均值的计算

Statistic(stu,n);//求平均值

for(i=0;i

{k=i;

for(j=i+1;j

if(s[k].ave

k=j;

if(k>i)

{temp=s[k];s[k]=s[i];s[i]=temp;

}

}

cout<<"已完成学生成绩的排序!

!

!

"<

}

voidOutput_Sort(students[],intn)//输出排序后学生的基本信息

{inti;

charyn;//定义判断符

cout<<"是否已经完成学生的平均成绩的排序?

Y/N"<

cin>>yn;

if(yn!

='y'||yn!

='Y')//未完成学生的平均成绩的计算以及排序

Sort(stu,n);//排序

cout<<"统计、排序后的学生成绩如下面列表所示:

"<

cout<<"学号姓名班级C++网页日语数学体育思修电工平均分"<

for(i=0;i

{cout<

cout<

}

}

voidmain(void)

{Interfaces();//主界面登陆函数

charpass[10];//定义登录密码

intn=0;

charyn;//定义判断符

intxh;//xh为执行功能选择的序号

cout<<"是否继续登录?

Y/N"<

cin>>yn;

cout<<"请输入登录密码:

";cin>>pass;

if(!

strcmp(pass,"1234"))

cout<<"登录成功!

!

!

\n";

else

{cout<<"密码不正确,退出!

";

exit(0);

}

/*由用户输入一个操作的代表数字,为0时操作结束*/

while(yn=='y'||yn=='Y')

{Interface();//主界面函数

cout<<"请选择你所需要进行的功能:

";

cin>>xh;//输入序号,选择功能模块

cout<

{if(xh>8||xh<0)//非有效操作

{cout<<"操作选择错误!

请重新输入!

!

!

\n";

continue;

}

else

switch(xh)

{case1:

Input(stu,n);break;//输入

case2:

Lookup(stu,n);break;//查询

case3:

Modify(stu,n);break;//修改初始信息

case4:

Delete(stu,n),n--;break;//删除初始信息

case5:

Statistic(stu,n);break;//统计

case6:

Sort(stu,n);break;//排序

case7:

Output_Sort(stu,n);break;//输出统计、排序后的信息

case0:

exit(0);//循环出口

}

}

}

if(yn=='n'||yn=='N')

exit(0);//循环出口

}

3、使用链表编写程序

/*定义链表中结构体*/

#include

#include

#include

#include

structnode

{intnum;//学号

charclass0[30],name[8];//班级(不用class定义)、姓名

floatmath;//应用数学

floatcpp;//c++

floatsport;//大学体育

floatweb;//网页设计

floatelec;//电工

floatjap;//日语

floatpolity;//思修

floatave;//平均成绩

floatsum;//总成绩

node*next;

}stu[54];

/*链表主界面登陆*/

#include

#include

#include

#include

voidInterfaces(void)

{cout<

cout<<"╭⌒╭⌒╮╭⌒╮~╭⌒╮︶︶, ︶︶╭⌒╭⌒╮╭⌒╮~╭⌒╮︶︶, ︶︶"<

cout<<",︶︶︶︶,""︶~~,""~︶︶ ,"",︶︶︶︶,""︶~~,""~︶︶ ,"""<

cout<<"#〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓〓〓〓〓§〓#"<

cout<<"↓     ↓     ↓     ↓↓↓"<

cout<<"☆★☆   ☆★☆   ☆★☆   ☆★☆  ☆★☆   ☆★☆"<

cout<<"☆ 欢 ☆ ☆ 迎 ☆ ☆ 登 ☆ ☆ 录 ☆☆ 界 ☆ ☆ 面 ☆ "<

cout<<"☆★☆   ☆★☆   ☆★☆   ☆★☆  ☆★☆   ☆★☆  "<

cout<<"↓     ↓     ↓     ↓↓↓"<

cout<<"※     ※     ※    ※※     ※   "<

cout<

cout<<"********************************************************************************"<

cout<<""<

cout<<"学生成绩管理系统(Version2.0)"<

cout<<”“<

cout<<"CopyrightReserved"<

cout<<"********************************************************************************"<

cout<

}

/*链表主界面*/

#include

#include

#include

#include

voidInterface(void)

{cout<

cout<<"请选择需要进行的操作,输入操作的代表数字(如:

1):

"<

cout<

cout<<"◤卐☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★卍◥"<

cout<<"★1:

输入成绩★"<

cout<<"☆〓§〓2:

查询成绩〓§〓☆"<

cout<<"★↓3:

添加成绩↓★"<

cout<<"☆☆★☆4:

修改成绩☆★☆☆"<

cout<<"★☆ 欢 ☆5:

删除成绩☆ 迎 ☆★"<

cout<<"☆☆★☆6:

统计平均成绩☆★☆☆"<

cout<<"★↓7:

输出排名成绩↓★"<

cout<<"☆※0:

退出管理系统※

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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