学生成绩信息管理系统收获
这次的学生信息管理系统,锻炼了我对C语言知识的运用,我在其中负责的是老师的功能的实现以及文件读写的实现
- 教师信息包括:工号、密码、姓名、性别、年龄、工龄学生信息管理:
- 添加学生,单个添加或批量添加
- 删除学生,删除后的学生记作退学学生修改学生基本信息
- 重置学生密码解锁学生帐号
- 根据姓名查询学生基本信息显示所有在读学生
- 显示所有退学学生
- 学生成绩管理:
- 录入学生成绩,单个录入或指导入修改学生成绩
- 根据学号或姓名查询学生成绩按各科分数和部分排序
- 修改登陆密码
以下是我文件读写功能实现的代码,在main函数开始时从文件读进管理员、教师、学生结构体,在程序退出时保存到文件中
//读取文件中的信息
FILE* stu_r=fopen("stu.txt","r");
if(stu_r==NULL)
{
perror("fopen");
return 0;
}
fseek(stu_r,0,SEEK_END);
long ret_stu=ftell(stu_r);
rewind(stu_r);
stu_count=ret_stu/sizeof(student);
for(int i=0;i<stu_count;i++)
{
fread(&stu[i],sizeof(student),1,stu_r);
}
fclose(stu_r);
stu_r=NULL;
FILE* tea_r=fopen("tea.txt","r");
if(tea_r==NULL)
{
perror("fopen");
return 0;
}
fseek(tea_r,0,SEEK_END);
long ret_tea=ftell(tea_r);
rewind(tea_r);
tea_count=ret_tea/sizeof(teacher);
for(int i=0;i<tea_count;i++)
{
fread(&tea[i],sizeof(teacher),1,tea_r);
}
fclose(tea_r);
tea_r=NULL;
FILE* ma_r=fopen("ma.txt","r");
if(ma_r==NULL)
{
perror("fopen");
return 0;
}
fseek(ma_r,0,SEEK_END);
long ret_ma=ftell(ma_r);
rewind(ma_r);
ma_count=ret_ma/sizeof(manager);
for(int i=0;i<ma_count;i++)
{
fread(&ma[i],sizeof(manager),1,ma_r);
}
fclose(ma_r);
ma_r=NULL;
//退出登录