、题目要求: 一 基础功能。 1 使用VC++或DevC++新建学生成绩管理系统项目项目名称:student。 2 实现课本第12章要求的基本内容包括:建立文件、增加学生记录、显示记录、文件存储、读取文件、删除记录、修改记录、查询记录、头文件。 3 以上功能分别使用5个源文件实现:studentc、add_dispc、que_remv_modic、save_loadc、studenth。 4 编写
当然可以,以下是que_remv_modi.c的代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "student.h"
void queryRecord() { FILE *fp; struct student s; int id, found = 0;
fp = fopen("student.dat", "rb");
if (fp == NULL) {
printf("Error opening file\n");
return;
}
printf("Enter student ID to query: ");
scanf("%d", &id);
while (fread(&s, sizeof(s), 1, fp) == 1) {
if (s.id == id) {
printf("\nID: %d\nName: %s\nMarks: %.2f\n", s.id, s.name, s.marks);
found = 1;
break;
}
}
if (!found) {
printf("Record not found\n");
}
fclose(fp);
}
void removeRecord() { FILE *fp, *tempfp; struct student s; int id, found = 0;
fp = fopen("student.dat", "rb");
tempfp = fopen("temp.dat", "wb");
if (fp == NULL || tempfp == NULL) {
printf("Error opening file\n");
return;
}
printf("Enter student ID to remove: ");
scanf("%d", &id);
while (fread(&s, sizeof(s), 1, fp) == 1) {
if (s.id != id) {
fwrite(&s, sizeof(s), 1, tempfp);
} else {
found = 1;
}
}
if (!found) {
printf("Record not found\n");
} else {
printf("Record removed successfully\n");
}
fclose(fp);
fclose(tempfp);
remove("student.dat");
rename("temp.dat", "student.dat");
}
void modifyRecord() { FILE *fp, *tempfp; struct student s; int id, found = 0;
fp = fopen("student.dat", "rb");
tempfp = fopen("temp.dat", "wb");
if (fp == NULL || tempfp == NULL) {
printf("Error opening file\n");
return;
}
printf("Enter student ID to modify: ");
scanf("%d", &id);
while (fread(&s, sizeof(s), 1, fp) == 1) {
if (s.id == id) {
printf("\nEnter new name: ");
scanf("%s", s.name);
printf("Enter new marks: ");
scanf("%f", &s.marks);
fwrite(&s, sizeof(s), 1, tempfp);
found = 1;
} else {
fwrite(&s, sizeof(s), 1, tempfp);
}
}
if (!found) {
printf("Record not found\n");
} else {
printf("Record modified successfully\n");
}
fclose(fp);
fclose(tempfp);
remove("student.dat");
rename("temp.dat", "student.dat");
}
原文地址: http://www.cveoy.top/t/topic/bn6j 著作权归作者所有。请勿转载和采集!