实用标准
课程设计报告
课程设计题目: 1:学生成绩管理系统
2:joseph环
3:猴子选大王
姓 名 洪军 学 号 201420240706 班 级 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; r=s; {
p=(student *)malloc(sizeof(student)); //申请链表空间
s=(stu)malloc(sizeof(student)); //申请头节点 for(i=0;i 文案大全 实用标准 cin>>p; } status output(stu s) //输出函数 { } status getstu1(stu s,char i[])//按学号查找 { } status getstu2(stu s,char c[])//按名字查找 { student *p=s->next; while(strcmp(p->name,c)!=0) { } if(p) //判断结点存在并且输出 { cout< return ERROR; p=p->next; student *p=s; while(strcmp(p->num,i)!=0) //结点的名字相比较 { } if(p) //判断结点存在并且输出 { } else return ERROR; cout< next; student *r; r=s; r=r->next; while(r) //判断结点存在 { cout< r=r->next; r->next=p; r=p; } r->next=NULL; //最后节点指像空 文案大全 实用标准 } status insetstu(stu &s,int i,char nu[],char na[],char se[],int sc[]) //插入学生 { } status deletestu1(stu &s) //按学号删除学生 { char i[10]; cout<<\请输入你要删除学生的学号\cin>>i; while(strcmp(p->next->num,i)!=0) //找到修改学生 { } if(p) //存在就删除不存在就返回错误 { r=p->next; p->next=r->next; free(r); p=p->next; student *p=s,*q; int j=0,m; while(j if(j==i-1) { } else return ERROR; q=(student*)malloc(sizeof(student)); //申请新结点 if(!q)return OVERFLOW; //申请失败返回错误 { } strcpy(q->name,na); //赋值 strcpy(q->num,nu); for(m=0;m<4;m++) q->score[m]=sc[m]; strcpy(q->sex,se); q->next=p->next; p->next=q; return OK; p=p->next; j++; student *p=s,*r; 文案大全
大数据结构课程设计学生成绩管理系统
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)