1、1、 以文件的形式存放2、 记录的增加、删除、查找、修改、排序、统计3、 设计相应的系统的菜单学生管理系统1) student.dat 存放所有学生的基本情况信息struct stu char sno10;Char sname12;2) course.dat 存放所有课程的基本信息3) degree 存放学生成绩信息基本信息的定义放在一个头文件(student.h)Typedef Struct stu char sno10;Char sname10;Int age; STUDENT;Typedef struct char cno11;Char cname30;Int credit; COURS
2、E;Typedef struct char sno10;Char cno11;Int grade; DEGREE;STUDENT stud1;#include “student.h”r 读 w 写 a 追加 b 二进进制文件 +学生记录的增加void instud()FILE *fp;STUDENT stud1,stud;/*打开文件*/if(Fp=fopen(“student.dat”,”ab+”)=NULL) printf(“ ”);Return;/*对文件进行读写操作*/Scanf(“%s,%s,%d”,rewind(fp);/*将文件指针定义到文件首部*/while(!feof(fp)
3、/*查找是否有重复的学号记录*/fread(if(!feof(fp)Prinf(“”);Elsefwrite(/*关闭文件*/fclose(fp);void student() int sel;DoPrinf(“1:增加学生记录 2:修改学生记录 0:退出”)Scanf(“%d”,Switch(sel)Case 0:return;Case 1:instud();Case 2:upstud();Default: prinf(“”);While(sel!=0);/student.cpp/main.cpp#include “student.cpp”#include “course.cpp”#incl
4、ude ”degree.cpp”void main()int sel;Do prinf(“0:返回 1:学生基本信息管理 2:课程基本信息管理 ”);Scanf(“%d”,Switch(sel)While(sel!=0);1、 输入学生记录2、 判断该学生在文件中是否存在将文件的指针指向第一条记录从文件中读取一条记录判断输入的学生学号与读取的学号是否一样如果一样,查找成功,出现重复,退出如果不一样,从文件中读取下一条记录;直到文件结束为止3、 如果存在,不能存入文件中4、 如果不存在,写入到文件中Student.cppVoid mainstudent()/*instudupstuddelstu
5、dfindstuddisstud*/Int s;Do prinf(“学生基本情况信息操作:1:增加 2:修改 0:返回”)Scanf(“%d”,Switch(s)case 1: instud();Case 2: upstud();Case 0: break;while(s!=0);最后四人合并#include “student.cpp”#include ”course.cpp”Void main()/*studentcourse */Int s;Do prinf(“学生管理系统:1:学生基本信息 2:课程基本信息 0:返回”)Scanf(“%d”,Switch(s)case 1: student();Case 2: course();Case 0: break;while(s!=0);