求一份数据结构课程设计报告

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:24:17
时间有点赶,12.3中午前。哪些编程高手帮我编一下吧~~~~~~
一、课程设计内容:
1.用C或C++语言编写一个程序实现学员成绩管理,每个学员包括3门课的成绩,从键盘输入学员信息。
2.学员信息包括学号、姓名、三门课成绩,计算出学员的平均成绩,按照学员平均成绩由大到小排序成绩表保持有序。
3.查找功能:指定学号,从学员信息表中找到该学员信息,并可以该学员的成绩进行修改,修改后(可以保存(到内存或磁盘))。
4.插入功能:在排序后的学员成绩表中插入一个学员的信息,要求插入后仍然保持成绩表有序。
5.删除功能:要求输入指定的学号,从学员信息表中删除该学员,删除后的成绩表保持有序。
6.数据存放在文件中,对数据进行使用时,一次性从文件读入到内存储器中,退出程序时可以将数据存放到磁盘中。〔该功能为可选功能,选做,如果选做该项,则在总成绩(总分100分)基础上视完成情况有0~20分的加分〕
二、问题分析
1.使用结构体或类保存每个学员的信息,包括学号、姓名、三门课的成绩、平均成绩
2.使用结构或对象数组或多链表保存所有学员的信息
3.需要实现以下函数:
3.1单个学员信息的录入;
3.2显示学员信息;
3.3 查找及修改;
3.4排序;(按照平均成绩由大到小)
3.5插入;(插入后保持有序)
3.6删除;(删除后保持有序)
4.在主函数中调用以上函数,分别完成录入、排序、插入和删除功能,并显示排序前后的学员信息,以及插入删除后的学员信息
三、基本功能实现及算法分析
1.数据逻辑结构
本程序的主要数据包括:〔说明程序使用的主要数据内容〕
数据类型定义:〔说明程序使用的主要数据(学生信息)的C或C++语言描述〕
2.程序主界面
程序主界面如下如示:〔请用您的程序主界面替换下图〕
图1 学生成绩管理系统主界面
2.显示学员信息
当选择1后进入学员信息显示界面,界面如图所示:〔将程序截图粘贴到下面〕
图2 学员信息显示界面
主要程序算法:〔将核心代码附在下面,不要全部代码,能说明功能即可〕

//class CNode.h
#ifndef __CNODE_H__
#define __CNODE_H__

#include <iostream>
using namespace std;
struct stData //出生年月结构
{
int m_nYear;
int m_nMonth;
int m_nDay;
};

struct stResult //五门课成绩结构
{
double m_dSubject_1; //自己改成绩的名称
double m_dSubject_2;
double m_dSubject_3;
double m_dSubject_4;
double m_dSubject_5;
};

struct stStudent //声明学生信息的结构
{
string m_strNumber; //学生学号
string m_strName; //姓名
char m_chSex; //性别
struct stData m_stData; //出生年月
string m_strAppearance; //政治面貌
struct stResult m_stResult; //五门课成绩
};

typedef class CNode
{
private:
struct stStudent m_stStudent;
CNode* m_Next;
public:
CNode(); //构造函数
~CNode(); //析构函数
void SetNodeData(); /