学生成绩管理_学生成绩单管理
学生成绩管理由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学生成绩单管理”。
为方便编程采用C++实现,同C类似,区别不大:
(1)学号为负数时结束输入:
#include“stdafx.h”
#define NULL 0
#include
#include
#include
using namespace std;
//声明结构体类型
typedef struct stnode
{
int id;//学号
char name[16];//姓名
intcla[4];//课程成绩数组
float ave;//学生个人所有课程的平均成绩struce stnode *next;//指针域
}Students;
// 函数原型声明
void PrintFailStudent(Student*head);
void PrintSucceStudent(Student*head);void DeleteLink(Student*head);
Student*input_data();
void main()
{
Student*head=input_data();
Student*input_data();//调用input_data函数,录入学生信息
PrintFailStudent(head);//调用PrintFailStudent函数,存在不及格的学生
void PrintSucceStudent(Student*head);//打印平均分90分以上的学生
DeleteLink(head);//调用DeleteLink函数,释放内存
}
//
{
int id;// 定义一个整数变量,存放学号
string name;//学生姓名
int cla;//课程号
int scores;//各科成绩
int totl_score;//各科总成绩
Student *head=NULL, *temp;// 定义两个结构体指针
cout
while(1){cout>id;// 输入学号 if(id
}
temp=new Student;// 向内存动态申请一个结构体结点 cout
for(int a=0;aid=id;// 将输入的学号存入结构体结点的学号成员变量temp->name=name;// 存入学生姓名
cout
cin>>scores;// 输入学号
totl_score=totl_score+scores;//总成绩
temp->cla[a]=scores;// 课程1的成绩录入}
ave=totl_score/sizeof(a[0]);
}
// 打印不及格学生信息
void PrintFailStudent(Student*head)
{
cout
coutnext)// 输出有不及格情况的学生信息coutidcla[0]cla[1]cla[2]cla[3]cla[4]cla[0]cla[1]cla[2]cla[3]cla[4]next=head;// 将结点连接到链表中去 head=temp;// 更新头指针
}
}
// 打印90平均分学生
void PrintSucceStudent(Student*head){
}
// 释放链表中的所有到结点 void DeleteLink(Student*head){
} Student*p;while(head!=NULL)// 头指针非空时循环 {} p=head;// 记住当前头指针 head=head->next;//当前头指针移到下一个结点 delete p;// 删除结点 for(Student*p=head;p!=NULL;p=p->next)coutid;if(p->ave>=90){}