当然可以,以下是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");

}

、题目要求: 一	基础功能。 1	使用VC++或DevC++新建学生成绩管理系统项目项目名称:student。 2	实现课本第12章要求的基本内容包括:建立文件、增加学生记录、显示记录、文件存储、读取文件、删除记录、修改记录、查询记录、头文件。 3	以上功能分别使用5个源文件实现:studentc、add_dispc、que_remv_modic、save_loadc、studenth。 4	编写

原文地址: http://www.cveoy.top/t/topic/bn6j 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录