成绩统计系统数据结构课程设计报告书.docxVIP

  • 2
  • 0
  • 约4.32千字
  • 约 14页
  • 2023-12-09 发布于上海
  • 举报

成绩统计系统数据结构课程设计报告书.docx

.

.专业整理.

.

.学习帮手.

洛阳理工学院

课程设计报告

课程名称 数据结构课程设计设计题目 成绩统计系统专 业 计算机科学与技术

课程设计任务书

设计题目:给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。

设计内容与要求:

按总数高低次序,打印出名次表,分数相同的为同一名次;

按名次打印出每个学生的学号、姓名、总分以及各科成绩。

课程设计评语

成绩:

指导教师:

年 月 日

.

.专业整理.

.

.学习帮手.

问题描述

给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。

基本要求

按总数高低次序,打印出名次表,分数相同的为同一名次;

按名次打印出每个学生的学号、姓名、总分以及各科成绩。

3、数据结构类型定义

structStudent

{

charm_Name[20];unsignedintm_ID;floatm_Score[m];

};

总体设计

(1)模块划分:

1初始化函数:Node*Init();

2直接插入法排序函数:float*Sort();

3相同名次处理函数:intDel_Same();

4打印函数voidDisplay();

5主函数:voidmain()

欢迎进入成绩统计系统语

欢迎进入成绩统计系统

理相同分数

3、流程图

1初始化函数:Node*Init(); 2直接插入法:float*Sort();

.专业整理

.专业整理.

.

.学习帮手.

3相同名次处理:intDel_Same(); 4打印函数voidDisplay();

详细设计

1.声明一个结构体:typedefstructStudentNode;2.录入数据

将复制形式修改为指针访问形式,计算成绩总和写入到sum[]中。

打印,按名次从第一名到最后一名。

下直接插值排序法

会用到哨兵,nSize表示grade[]中实际元素的个数。

处理相同成绩的名次

将sum[n]中的不重复的元素放到grade[n]中,函数返回grade[]中实际元素的个数。

测试数据:

54

53

52

51

98

97

96

95

100

99

99

98

测试与调试

1、输入数据:

2.打印成绩

7.源程序清单

#includestdio.h#includestring

#includefloat.h#includeiostream#includeiomanip#definen3/*学生数*/#definem4/*课程数*/usingnamespacestd;

//---声明一个结构----

structStudent

{

charm_Name[20];unsignedintm_ID;floatm_Score[m];

};

typedefstructStudentNode;

// 函数声明

Node*Init(Node*stu,constintcN,float*Asum,intnSum);float*Sort(float*Agrade,intnSize);

intDel_Same(float*Asum,intnSum,float*Agrade,intnGreade);

voidDisplay(Student*stu,intnN,float*Asum,intnSum,float*Agrade,intnGreadeSize);

// 函数实现

//----录入数据------

Node*Init(Node*stu,constintcN,float*Asum,intnSum)

{

charname[20];unsignedintid;floatscore[m];inti,j;for(i=0;in;++i)

{

printf(请输入第%d/%d名学生的信息:\n,i+1,n);printf(请输入姓名:);

scanf(%s,name);

printf(\n请输入学号:);

scanf(%d,id);for(j=0;jm;++j)

{

printf(\n录入第%d/%d门课程成绩:,j+1,m);scanf(%f,score[j]);

}

printf(\n);

// 赋值过程

strcpy((stu

文档评论(0)

1亿VIP精品文档

相关文档