学习内容:
1、初始化菜单栏
首先考虑好需要实现内容(1)输入学生信息(2)查找学生信息(3)删除学生信息
(4)修改学生信息(5)插入学生信息(6)学生成绩排名(7)统计学生总数(8)显示所有信息
(9)退出系统
函数waitConfirm():清楚缓冲区使用rewind(stdin)和getchar函数获取输入的字符(多为回车键)
控制板的背景颜色选择: system("color 7d");
全局变量设置:
#define MAX_COUNT 1000 //学生人数
#define RECORDER_PER_PAGE 10 //一页显示数目
struct student
{
int num;//学号
char name[16];//姓名
int clanguage;//C语言
int algo;//算法
int database;//数据库
int sum;//总成绩
};
static char head[][COL_LEN_MAX] = {
"学号","姓名","C语言","算法","数据库","总分"
};
student stu[MAX_COUNT]; //输入学生信息存放
student stu1[MAX_COUNT]; //成绩排序后的学生信息
int studentCount = 0;//学生个数!!!
int flag = 0;//flag为0则输入学生信息顺序展示,flag为1则按照成绩排序后的学生信息展示
2、文件使用
(1)读文件init()
fopen():第一个参数打印的文件名如果没有自动生成,第二个参数打开方式
feof():判断读取的文件是否结束
fread():将文件内容读入stu数组中每次读取一个学生的所有信息,读一次,读的内容为fp,读取成功返回1
FILE *fp = fopen("studentdata.txt", "rb");//FILE文件指针,"rb"只读+二进制
if (fp == NULL) { //判断读取的文件是否为空
studentCount = 0;
return;
}
int i = 0;//记录文件中学生人数
while (!feof(fp))
{
int ret = fread(&stu[i], sizeof(struct student), 1, fp);
if (ret == 1) i++;
}
studentCount = i;
(2)写文件save()