×

学生管理系统源代码 c语言程序 c语言

学生管理系统源代码(c语言程序学生成绩管理系统源代码)

admin admin 发表于2023-08-06 12:19:05 浏览81 评论0

抢沙发发表评论

本文目录

c语言程序学生成绩管理系统源代码

头文件:::#ifndef H_STUDENT_HH#define H_STUDENT_HH#include “stdio.h“#include “string.h“#include “malloc.h“#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/#define numsubs 5 /*学科数目*/typedef struct message_student /*结构体定义*/{ char number; char name; char sex; float subject.score/numsubs; /*计算平均分*/ } count(stud); /*附名次*/ display(stud,0,numstus-1); getchar();}#include “head.h“int numstus;int lens;student *pointer;void main(){ int i=1; char str; lens=100; pointer=(student *)malloc(lens*LEN); /*分配内存*/ numstus=0; welcome(); /*欢迎界面*/ while(i》0) { i=menu_select(); /*控制菜单*/ switch(i) { case 1:addrecord(pointer);break; /*增加学生信息*/ case 2:findrecord(pointer);break; /*查询学生信息*/ case 3:amendrecord(pointer);break; /*修改学生信息*/ case 4:sort(pointer);break; /*学生信息排序*/ case 5:statistic(pointer);break; /*统计信息*/ case 6:openfile(pointer);break; /*打开文件*/ case 7:writetotext(pointer);break; /*保存文件*/ case 8:display(pointer,0,numstus-1);break; /*显示记录*/ case 0: if(numstus!=0) printf(“是否保存当前记录?(y/n)“); gets(str); if(str==’y’||str==’Y’) writetotext(pointer); i=-1;break; /*退出系统*/ default:printf(“请输入数字0~8:\n“);i=1; /*输入错误*/ } } printf(“\t\t欢迎再次使用本系统。\n\n“); display1();}自己一改就能用,给我加分哈!

学生成绩管理系统的源代码

#include “stdio.h“ /*定义学生结构体*/ struct Student { char ID; char Name; float Mark1; float Mark2; float Mark3; float Average; }; /*声明学生数组及学生数量*/ struct Student students; int num=0; /*求平均值*/ float Avg(struct Student stu) { return (stu.Mark1+stu.Mark2+stu.Mark3)/3; } /*通过学号返回数组下标*/ int Student_SearchByIndex(char id) { int i; for (i=0;i《num;i++) { if (strcmp(students,sizeof(struct Student),1,fp)!=1) { printf(“写入文件错误!\n“); } } fclose(fp); } /*主程序*/ main() { int choice; IO_ReadInfo(); while(1) { /*主菜单*/ printf(“\n------ 学生成绩管理系统------\n“); printf(“1. 增加学生记录\n“); printf(“2. 修改学生记录\n“); printf(“3. 删除学生记录\n“); printf(“4. 按姓名查询学生记录\n“); printf(“5. 按平均成绩排序\n“); printf(“6. 退出\n“); printf(“请选择(1-6):“); scanf(“%d“,&choice); getchar(); switch(choice) { case 1: Student_Insert(); break; case 2: Student_Modify(); break; case 3: Student_Delete(); break; case 4: Student_Select(); break; case 5: Student_SortByAverage(); Student_Display(); break; case 6: exit(); break; } IO_WriteInfo(); } }

学生管理系统c语言源代码帮我看看这程序出问题了

调了一下,没啥大问题啊?

struct stu_type {

char num;

char name;

int age;

int xibie;

xibie定义为int,scanf和printf里用的是%s,改成%d就不报错了。

另外case 2: display((char*)““); break; 这一行原来的过不了,强制转换一下过了

c++学生信息管理系统源代码怎么写

#include 《iostream》#include 《iomanip》#include 《string》 using namespace std; typedef struct student { unsigned m_id; string m_name; unsigned m_age; string m_sex; string m_address; string m_contact; string m_dormitory; struct student *m_next;}student; class CStudent {private : student *head;public : CStudent() { head = new student; head-》m_id = 0; head-》m_name = “noname“; head-》m_next = NULL; } ~CStudent() { student *p = head,*q; while(p) { q = p; p = q-》m_next; delete q; } } student readdata(int model); // model = 1:不读取学号,2:不读取姓名,其他,读取所有信息 void entering(); bool insert(const student &astu); student *findid(unsigned id) const; student *findname(const string &name) const; student *findsex(const string &sex) const; student *finddormitory(const string &dormitory) const; unsigned boys() const; unsigned girls() const; unsigned headcount() const; bool eraseid(); bool erasename(); bool modifyid(); bool modifyname(); void Show() const; void query() const; void friend statistics(const CStudent &aclss); void friend erase(CStudent &aclss); void friend modify(CStudent &aclss);}; string readstring() { string str; while(cin.get() != ’\n’); cin 》》 str; return str;} student CStudent::readdata(int model) { student tmp; if(model != 1) { cout 《《 “学 号: “; cin 》》 tmp.m_id; } if(model != 2) { cout 《《 “姓 名: “; tmp.m_name = readstring(); } cin 》》 tmp.m_age; cout 《《 “性 别: “; tmp.m_sex = readstring(); cout 《《 “住 址: “; tmp.m_address = readstring(); cout 《《 “联系方式: “; tmp.m_contact =readstring(); cout 《《 “寝 室: “; tmp.m_dormitory = readstring(); return tmp;} void CStudent::entering() { student tmp; cout 《《 “学号(0 to return): “; cin 》》 tmp.m_id; while(tmp.m_id) { if(findid(tmp.m_id) == NULL) { cout 《《 “姓 名: “; tmp.m_name = readstring(); cout 《《 “年 龄: “; cin 》》 tmp.m_age; cout 《《 “性 别: “; tmp.m_sex = readstring(); cout 《《 “住 址: “; tmp.m_address = readstring(); cout 《《 “联系方式: “; tmp.m_contact = readstring(); cout 《《 “寝 室: “; tmp.m_dormitory = readstring(); insert(tmp); } else cout 《《 “重复的学号:“ 《《 tmp.m_id 《《 endl; cout 《《 “学号(0 to return): “; cin 》》 tmp.m_id; }} student *CStudent::findid(unsigned id) const { student *p; for(p = head; p-》m_next; p = p-》m_next) if(p-》m_next-》m_id == id) return p; return NULL;} student *CStudent::findname(const string &name) const { student *p; for(p = head; p-》m_next; p = p-》m_next) if(p-》m_next-》m_name == name) return p; return NULL;}student *CStudent::findsex(const string &sex) const { student *p; for(p = head; p-》m_next; p = p-》m_next) if(p-》m_next-》m_sex == sex) return p; return NULL;} student *CStudent::finddormitory(const string &dormitory) const { student *p; for(p = head; p-》m_next; p = p-》m_next) if(p-》m_next-》m_dormitory == dormitory) return p; return NULL;} bool CStudent::insert(const student &astu) { student *newnode,*p = head; if(p-》m_next == NULL) { p-》m_next = new student(astu); p-》m_next-》m_next = NULL; return true; } while(p-》m_next) { if(p-》m_next-》m_id == astu.m_id) { cout 《《 “重复的学号,插入失败!\n“; return false; } if(p-》m_next-》m_id 》 astu.m_id) { newnode = new student(astu); newnode-》m_next = p-》m_next; p-》m_next = newnode; return true; } p = p-》m_next; } p-》m_next = new student(astu); p-》m_next-》m_next = NULL; return true;} unsigned CStudent::boys() const { unsigned cnt = 0; student *p; for(p = head-》m_next; p; p = p-》m_next) if(p-》m_sex == “男“) ++cnt; return cnt;} unsigned CStudent::girls() const { unsigned cnt = 0; student *p; for(p = head-》m_next; p; p = p-》m_next) if(p-》m_sex == “女“) ++cnt; return cnt;} unsigned CStudent::headcount() const { unsigned cnt = 0; student *p; for(p = head-》m_next; p; p = p-》m_next,++cnt); return cnt;} bool CStudent::eraseid() { student *q,*p; unsigned id; cout 《《 “输入要删除的学号:“; cin 》》 id; p = findid(id); if(p == NULL) { cout 《《 “没有找到学号是\““ 《《 id 《《 “\“的学生,删除失败!\n“; return false; } q = p-》m_next; p-》m_next = q-》m_next; delete q; return true;}bool CStudent::erasename() { student *q,*p; string name; cout 《《 “输入要删除人的姓名:“; name = readstring(); p = findname(name); if(p == NULL) { cout 《《 “没有找到姓名是\““ 《《 name 《《 “\“的学生,删除失败!\n“; return false; } q = p-》m_next; p-》m_next = q-》m_next; delete q; return true;} bool CStudent::modifyid() { student tmp,*p; unsigned id; cout 《《 “输入要修改的学号:“; cin 》》 id; p = findid(id); if(p == NULL) { cout 《《 “没有找到学号是\““ 《《 id 《《 “\“的学生,修改失败!\n“; return false; } tmp = readdata(1); tmp.m_id = id; *p = tmp; return true;} bool CStudent::modifyname() { student *p,tmp; string name; cout 《《 “输入要修改人的姓名:“; name = readstring(); p = findname(name); if(p == NULL) { cout 《《 “没有找到姓名是\““ 《《 name 《《 “\“的学生,修改失败!\n“; return false; } tmp = readdata(2); tmp.m_name = name; *p = tmp; return true;} int menu() { int choice; do { system(“cls“); cout 《《 “\t****************************\n“; cout 《《 “\t* 学生基本信息管理系统 *\n“; cout 《《 “\t*==========================*\n“; cout 《《 “\t* 1、录入学生信息 *\n“; cout 《《 “\t* 2、显示学生信息 *\n“; cout 《《 “\t* 3、查询学生信息 *\n“; cout 《《 “\t* 4、添加学生信息 *\n“; cout 《《 “\t* 5、统计学生信息 *\n“; cout 《《 “\t* 6、删除学生信息 *\n“; cout 《《 “\t* 7、修改学生信息 *\n“; cout 《《 “\t* 0、退出管理系统 *\n“; cout 《《 “\t****************************\n“; cout 《《 “\n\t请选择:“; cin 》》 choice; }while(choice 《 0 || choice 》 7); return choice;} void show(student *p) { cout 《《 p-》m_id 《《 “ “ 《《 p-》m_name 《《 “ “ 《《 p-》m_age 《《 “ “; cout 《《 p-》m_sex 《《 “ “ 《《 p-》m_address 《《 “ “; cout 《《 p-》m_contact 《《 “ “ 《《 p-》m_dormitory 《《 endl;} void CStudent::Show() const { student *p; cout 《《 “----------------------------------------------------------\n“; for(p = head-》m_next; p; p = p-》m_next) show(p); cout 《《 “----------------------------------------------------------\n“; system(“pause“);} void CStudent::query() const { int select; unsigned id; string name; student *p; cout 《《 “1、按学号查询\n2、按姓名查询\n0、返回\n“; cin 》》 select; switch(select) { case 1 : cout 《《 “请输入学号:“; cin 》》 id; if(p = findid(id)) show(p-》m_next); break; case 2 : cout 《《 “请输入姓名:“; name = readstring(); if(p = findname(name)) show(p-》m_next); break; case 0 : return; default : cout 《《 “选择错误。\n“; } system(“pause“);} void statistics(const CStudent &a) { unsigned total = a.headcount(); unsigned boys = a.boys(); unsigned girls = a.girls(); cout 《《 “学生总数:“ 《《 total 《《 “人。\n“; cout 《《 “其中,男生:“ 《《 boys 《《 “名。“; cout 《《 “女生:“ 《《 girls 《《 “名。\n“; system(“pause“);} void erase(CStudent &a) { int select; unsigned id; string name; student *p,*q; cout 《《 “1、按学号删除\n2、按姓名删除\n0、返回\n“; cin 》》 select; switch(select) { case 1 : cout 《《 “请输入学号:“; cin 》》 id; if(p = a.findid(id)) { q = p-》m_next; p-》m_next = q-》m_next; delete q; cout 《《 “成功删除 “ 《《 id 《《 “ 的信息。\n“; } break; case 2 : cout 《《 “请输入姓名:“; name = readstring(); if(p = a.findname(name)) { q = p-》m_next; p-》m_next = q-》m_next; delete q; cout 《《 “成功删除 “ 《《 name 《《 “ 的信息。\n“; } break; case 0 : return; default : cout 《《 “选择错误。\n“; } system(“pause“);} void modify(CStudent &a) { int select; cout 《《 “1、按学号修改\n2、按姓名修改\n0、返回\n“; cin 》》 select; switch(select) { case 1 : if(a.modifyid()) cout 《《 “修改成功。\n“; break; case 2 : if(a.modifyname()) cout 《《 “修改成功。\n“; break; case 0 : return; default : cout 《《 “选择错误。\n“; } system(“pause“);} int main() { CStudent a; int an; do { an = menu(); switch(an) { case 1 : a.entering(); break; case 2 : a.Show(); break; case 3 : a.query(); break; case 4 : a.entering(); break; case 5 : statistics(a); break; case 6 : erase(a); break; case 7 : modify(a); break; case 0 : break; default : cout 《《 “选择错误。\n“; break; } }while(an); return 0;}

学生注册管理系统,源代码

#include “stdio.h“#include“stdlib.h“#include “conio.h“#include“string.h“struct SStudent{unsigned number;char name;char tele;struct SStudent * link;};void main(){ struct SStudent * CreateTable();void AppendToTable(struct SStudent * stu);void InsertToTable(struct SStudent * stu);void QueryTable(struct SStudent * stu, unsigned number);void SortTable(struct SStudent * stu);void PrintTable(struct SStudent * stu);void Save(struct SStudent * stu);void Load(struct SStudent * stu);void Help();void modi(struct SStudent *h);void search(struct SStudent *h);struct SStudent * student;unsigned number;char keyValue;student = CreateTable();//clrscr();system(“cls“);Help();printf(“\n= “);while((keyValue = getche()) != ’q’ && keyValue != ’Q’ && keyValue != 27){puts(““);switch(keyValue){case ’l’: case ’L’:PrintTable(student); break;case ’d’: case ’D’:printf(“Please input the number you want delete: “);scanf(“%d“, &number);QueryTable(student, number);break;case ’a’: case ’A’:AppendToTable(student); break;case ’i’: case ’I’:InsertToTable(student); break;case ’s’: case ’S’:SortTable(student);puts(“Sort complished! Please use command L to list.“);break;case ’f’: case ’F’:search(student);break;case ’m’: case ’M’:modi(student);break;case ’v’: case ’V’:Save(student); break;case ’o’: case ’O’:Load(student); break;case ’h’: case ’H’:Help(); break;default: puts(“Error command!“);}printf(“\n= “);}}struct SStudent * CreateTable(){struct SStudent * stu;stu = (struct SStudent *) malloc(sizeof(struct SStudent));stu-》number = 0;stu-》name = ’\0’;stu-》tele = ’\0’;stu-》link = NULL;return(stu);}void AppendToTable(struct SStudent * stu){struct SStudent * next, * last;int number;last = stu;while(last-》link) last = last-》link;printf(“Please input the number (0 to quit): “);scanf(“%d“, &number);while(number){next = (struct SStudent *) malloc(sizeof(struct SStudent));next-》number = number;printf(“Please input name: “);scanf(“%s“, next-》name);printf(“Please input tele: “);scanf(“%s“, next-》tele);last-》link = next;last = last-》link;printf(“\nPlease input the number (0 to quit): “);scanf(“%d“, &number);}last-》link = NULL;}void InsertToTable(struct SStudent * stu){struct SStudent * next, * last;int number;printf(“Please input the number (0 to quit): “);scanf(“%d“, &number);while(number){next = (struct SStudent *) malloc(sizeof(struct SStudent));next-》number = number;printf(“Please input name: “);scanf(“%s“, next-》name);printf(“Please input tele: “);scanf(“%s“, next-》tele);last = stu;while(last-》link){if(last-》link-》number 》 next-》number){next-》link = last-》link;last-》link = next;break;}else last = last-》link;}printf(“\nPlease input the number (0 to quit): “);scanf(“%d“, &number);}}void QueryTable(struct SStudent * stu, unsigned number){struct SStudent * temp, * next;next = stu;while(next-》link){if(next-》link-》number == number){temp = next-》link;next-》link = next-》link-》link;free(temp);}else next = next-》link;}}void PrintTable(struct SStudent * stu){stu = stu-》link;if(!stu){puts(“The table is EMPTY!“);return;}printf(“number\tname\ttele\n“);while(stu){printf(“%3d\t“, stu-》number);printf(“%-s\t“, stu-》name);printf(“%-s\t“, stu-》tele);printf(“\n“);stu = stu-》link;}}void SortTable(struct SStudent * stu){struct SStudent * next, * last, * temp;int flag;last = stu;while(last-》link){next = stu; flag = 1;while(next-》link != last-》link){if(next-》link-》number 》 last-》link-》number){temp = last-》link;last-》link = last-》link-》link;temp-》link = next-》link;next-》link = temp;flag = 0;break;}else next = next-》link;}if(flag) last = last-》link;}}void Save(struct SStudent * stu){char filename;FILE * fileSave;printf(“Please input the filename you want save in: “);scanf(“%s“, filename);if((fileSave = fopen(filename, “wb“)) == 0){printf(“Cannot open file %s !\n“, filename);return;}puts(“Saveing ...“);stu = stu-》link;while(stu){fwrite(stu, sizeof(struct SStudent), 1, fileSave);stu = stu-》link;}puts(“Saveing is finished!“);}void Load(struct SStudent * stu){char filename;《br》FILE * fileLoad;《br》struct SStudent * temp;《br》while(stu-》link)《br》{《br》temp = stu-》link;《br》stu-》link = stu-》link-》link;《br》free(temp);《br》}temp = (struct SStudent *) malloc(sizeof(struct SStudent));printf(“Please input the filename you want load from: “);scanf(“%s“, filename);if((fileLoad = fopen(filename, “rb“)) == 0){printf(“Cannot open file %s !\n“, filename);return;}puts(“Loading ...“);while(fread(temp, sizeof(struct SStudent), 1, fileLoad)){stu-》link = temp;《br》stu = stu-》link;《br》temp = (struct SStudent *) malloc(sizeof(struct SStudent));《br》}stu-》link = NULL;puts(“loading is finished!“);}void Help(){ puts(“ *********************************************“);puts(“ * System Command Help *“);puts(“ *********************************************“);puts(“ * L = List all records *“);puts(“ * D = Delete a record seleced by number *“);puts(“ * A = Append records *“);puts(“ * I = Insert records *“);puts(“ * S = Sort records *“);puts(“ * F= Search records *“);puts(“ * M= Modi records *“);puts(“ * H = Show this help message *“);puts(“ * V = Save records to a file *“);puts(“ * O = Load records from a file *“);puts(“ * Q = Quit System *“);puts(“ *********************************************“);}void modi(struct SStudent *h){ struct SStudent *p; /* 移动指针*/unsigned num; /*存放学号的变量*/// clrscr(); /*清屏幕*/ system(“cls“); printf(“please enter number for modifi\n“); scanf(“%d“,#); /*输入学号*/ p=h; /*将头指针赋给p*/ while( (p-》number!=num)&&p!=NULL) /*当记录的姓名不是要找的,且指针不为空时*/ p=p-》link; /*移动指针,指向下一结点*/ if(p==NULL) /*如果指针为空*/ printf(“\nlist no %d student\n“,num); /*显示没有该学生*/ else /*修改找到的记录信息*/ {printf(“Please input new name: “);scanf(“%s“, p-》name);printf(“Please input new tele: “);scanf(“%s“, p-》tele);printf(“|number | name | tel | \n“);printf(“|----------|---------------|---------------|\n“);printf(“|%6d|%-10s|%12s|\n“, p-》number,p-》name,p-》tele); }}void search(struct SStudent *h){ struct SStudent *p; /* 移动指针*/ char s; /*存放姓名的字符数组*/// clrscr(); /*清屏幕*/ system(“cls“); printf(“please enter name for search\n“); scanf(“%s“,s); /*输入姓名*/ p=h; /*将头指针赋给p*/ while(strcmp(p-》name,s)&&p!=NULL) /*当记录的姓名不是要找的,且指针不为空时*/ p=p-》link; /*移动指针,指向下一结点*/ if(p==NULL) /*如果指针为空*/ printf(“\nlist no %s student\n“,s); /*显示没有该学生*/ else /*显示找到的记录信息*/ { printf(“\n\n***********************havefound***********************\n“); printf(“|number | name | tel | \n“);printf(“|----------|---------------|---------------|\n“);printf(“|%10d|%-10s|%12s|\n“, p-》number,p-》name,p-》tele);printf(“****************************end***************************\n“); }}

学生管理系统源代码c++

#include 《iostream.h》#include 《string.h》#include “h1.h“void menu();void clear(){ cin.clear(); cin.ignore();}void stu::init_name_grade() //输入学生姓名、班级{ cout《《“请输入学生姓名:“; cin》》name; clear(); cout《《“请输入学生班级号:“; cin》》grade; clear();}void stu::init_first() //输入学生第一学期成绩{ cout《《“学生“《《name《《“第一学期成绩“《《endl; cout《《“请输入英语成绩:“; cin》》first.english; clear(); cout《《“请输入数学成绩:“; cin》》first.math; clear(); first.total=first.english+first.math; first.aver=first.total/2;}void stu::init_second() //输入学生第二学期成绩{ cout《《“学生“《《name《《“第二学期成绩“《《endl; cout《《“请输入英语成绩:“; cin》》second.english; clear(); cout《《“请输入数学成绩:“; cin》》second.math; clear(); second.total=second.english+second.math; second.aver=second.total/2;}void stu::show_first() //显示学生第一学期成绩{ cout《《“学生姓名:“《《name《《endl; cout《《“学生班级:“《《grade《《endl; cout《《“学生第一学期英语成绩:“《《first.english《《endl; cout《《“学生第一学期数学成绩:“《《first.math《《endl; cout《《“学生第一学期总成绩:“《《first.total《《endl; cout《《“学生第一学期平均成绩:“《《first.aver《《endl;}void stu::show_second() //显示学生第二学期成绩{ cout《《“学生姓名:“《《name《《endl; cout《《“学生班级:“《《grade《《endl; cout《《“学生第二学期英语成绩:“《《second.english《《endl; cout《《“学生第二学期数学成绩:“《《second.math《《endl; cout《《“学生第二学期总成绩:“《《second.total《《endl; cout《《“学生第二学期平均成绩:“《《second.aver《《endl;}void stu::show_grade() //显示学生所有学期成绩{ cout《《“学生姓名:“《《name《《endl; cout《《“学生班级:“《《grade《《endl; cout《《“学生第一学期英语成绩:“《《first.english《《endl; cout《《“学生第一学期数学成绩:“《《first.math《《endl; cout《《“学生第一学期总成绩:“《《first.total《《endl; cout《《“学生第一学期平均成绩:“《《first.aver《《endl; cout《《“学生第二学期英语成绩:“《《second.english《《endl; cout《《“学生第二学期数学成绩:“《《second.math《《endl; cout《《“学生第二学期总成绩:“《《second.total《《endl; cout《《“学生第二学期平均成绩:“《《second.aver《《endl;}stu_info::stu_info() //stu_info的构造函数{ num=0;}void stu_info::add_name_grade() //添加学生信息(班级、姓名)到数组中{ int choose; do { per.name《《endl; } } } else { cout《《“该学期不存在!“《《endl; return; } } }}void main(){ stu_info people; int grade; int term; int choose; int course; char name; while(1) { menu(); cin》》choose; clear(); switch(choose) { case 1: people.add_name_grade();break; case 2: cout《《“请输入班级号:“; cin》》grade; clear(); cout《《“请输入学期:“; cin》》term; clear(); if(term==1) people.add_first(grade); else people.add_second(grade); break; case 3: cout《《“请输入班级号:“; cin》》grade; clear(); cout《《“请输入学生姓名:“; cin》》name; clear(); people.modify(grade,name); break; case 4: cout《《“请输入班级号:“; cin》》grade; clear(); cout《《“请输入学期:“; cin》》term; clear(); people.query_aver(grade,term); break; case 5: cout《《“请输入班级号:“; cin》》grade; clear(); people.query_grade(grade); break; case 6: cout《《“请输入班级号:“; cin》》grade; clear(); cout《《“请输入学期:“; cin》》term; clear(); cout《《“请输入课程号(1:english,2:math):“; cin》》course; people.show_fail(grade,term,course); break; case 7: cout《《“请输入班级号:“; cin》》grade; clear(); cout《《“请输入学生姓名:“; cin》》name; clear(); people.query(grade,name); break; case 8:return; default:cout《《“选择错误,请重新选择!“《《endl; } }}void menu(){ cout《《“ 请选择操作“《《endl; cout《《“-------------------------------------------------------------“《《endl; cout《《“ 1、输入学生姓名、班级“《《endl; cout《《“ 2、按学期、班级录入学生成绩“《《endl; cout《《“ 3、修改学生成绩“《《endl; cout《《“ 4、按班级平均分对学生成绩排序“《《endl; cout《《“ 5、按班级输出学生的成绩单“《《endl; cout《《“ 6、按科目输出不及格学生名单“《《endl; cout《《“ 7、查询学生成绩单“《《endl; cout《《“ 8、退出系统“《《endl;}这上面是实现功能,下面是类的定义和声明 希望对你有用struct term{ int english; int math; int aver; int total;};class stu{ char name; int grade; struct term first; struct term second;public: friend class stu_info; void init_name_grade(); void init_first(); void init_second(); void show_grade(); void show_first(); void show_second();};class stu_info{ stu per; int num;public: stu_info(); void add_name_grade(); void add_first(int gra); void add_second(int gra); void query_aver(int gra,int term); void modify(int gra,char name); void query(int gra,char name); void query_grade(int gra); void show_fail(int grade,int term,int course);};