- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构程序设计 统计成绩
学 号
数据结构课程设计
设计说明书
起止日期: 20年 月 日 至 年 月日
学生姓名 班级 成绩 指导教师(签字)
系
年 月日
天津城市建设学院
课程设计任务书
20—2012学年第学期
系 专业 班级
课程设计名称:
设计题目:
完成期限:自 年 月 日至 年 月 日共 周
设计依据、要求及主要内容(可另加附页):
问题描述
给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。
基本要求
(1) 按总数高低次序,打印出名次表,分数相同的为同一名次;
(2) 按名次打印出每个学生的学号、姓名、总分以及各科成绩。
测试数据
由学生依据软件工程的测试技术自己确定。注意测试边界数据。
选作内容
对各科成绩设置不同的权值。程序流程图
四、详细设计
#include stdio.h
#include string
#include float.h
#include iostream
#include iomanip
#define n 3/*学生数*/
#define m 4/*课程数*/
using namespace std;
//---声明一个结构----
struct Student
{
char m_Name[20];
unsigned int m_ID;
float m_Score[m];
};
typedef struct Student Node;
//------函数声明---------------------------
Node* Init(Node* stu,const int cN,float* Asum,int nSum);
float* Sort(float* Agrade,int nSize);
int Del_Same(float* Asum,int nSum,float* Agrade,int nGreade);
void Display(Student* stu,int nN,float* Asum,int nSum,float* Agrade,int nGreadeSize);
//------函数实现---------------------------
五、调试与测试
遇到的问题:按总分排序后,输出的学生学号与姓名不一致。
解决措施:创建一个结构体,用来存放总分,打印时与数组中学生信息对照,解决了如上问题。
六、关键源程序清单和执行结果
#include stdio.h
#include string
#include float.h
#include iostream
#include iomanip
#define n 3/*学生数*/
#define m 4/*课程数*/
using namespace std;
//---声明一个结构----
struct Student
{
char m_Name[20];
unsigned int m_ID;
float m_Score[m];
};
typedef struct Student Node;
//------函数声明---------------------------
Node* Init(Node* stu,const int cN,float* Asum,int nSum);
float* Sort(float* Agrade,int nSize);
int Del_Same(float* Asum,int nSum,float* Agrade,int nGreade);
void Display(Student* stu,int nN,float* Asum,int nSum,float* Agrade,int nGreadeSize);
//------函数实现---------------------------
//----录入数据------
Node* Init(Node* stu,const int cN,float* Asum,int nSum)
{
char name[20];
unsigned int id;
float score[m];
int i,j;
for(i=0;in;++i)
{
printf(请输入第%d/%d名学生的信息:\n ,i+1,n);
printf(请输入姓名:
文档评论(0)