数据结构课程设计学生成绩管理系统.docx
文本预览下载声明
课程设计报告
课程设计题目: 1:学生成绩管理系统
2:joseph环
3:猴子选大王
姓 名 洪军
学 号 201420180706
班 级 1421807
指导教师 邹国华
2015年 12月 17日
1:学生成绩管理系统
1, 问题分析;
定义一个学生管理系统实现对学生基本数据的管理,
录入:输入每位学生的信息;
输出:输出每位学生的信息;
查询:可以按3学号和4姓名查询某个学生的信息;
修改:可以修改学生(按1学号修改,按2成绩修改)的信息;
插入:可以插入一个学生的信息;
删除:可以删除(按1学号删除,按2成绩删除)满足条件的学生信息;
排序:可以按学生的总成绩排序。
2 结构分析
首先分析结果我采用的是单链表的存储结构通过此系统可以实现如下功能:
定义一个学生类型student(学号,姓名,四门课程成绩),学生链表student,含有学生数组和学生数。
3 实现流程分析
定义数据类型typedef struct student
?
初始化结构体并输入学生的数据inputstu(stu s,int n)
?
重载运算符便于输入输出学生的成绩
?
输出函数输出全部学生的信息output(stu s)
?
查找学生 3按学号查找getstu1(stu s,char i[]) 4按姓名查找getstu2(stu s,char c[])
?
插入学生insetstu(stu s,int i,char nu[],char na[],char se[],int sc[])
?
1按学号删除学生deletestu1(stu s),2按姓名删除学生deletestu2(stu s)
?
1按学号修改学生的信息update1(stu s) 2按姓名修改学生的信息update2(stu s)
?
对总成绩排序sort(stu s,struct shu shuzu[])
?
CPP文件实现所有功能
4 算法实现
头文件status.h
typedef int status;
#define TURE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define N 10
typedef struct student{ //学生结构体(链表)
char num[9];
char name[15];
char sex[2];
int score[4];
student *next;
}student,*stu;
struct shu{ //辅助结构体数组存储学生总成绩和学号便于排序
float allscore;
char num[9];
}shuzu[10];
ostream operator(ostream os,stu s); //运算符的重载
istream operator(istream is,stu s); //运算符的重载
void inputstu(stu s,int n) //初始化并且输入函数
{
student *p,*r;
int i;
s=(stu)malloc(sizeof(student)); //申请头节点
显示全部