void modifyCar() { CAR car; char findID[20]; printf("\n车辆信息修改\n"); printf("请输入要修改车辆信息的车牌号:"); scanf("%s", findID); pFile = fopen("info.dat", "rb+"); rewind(pFile); int flag = 0; while(fread(&car,sizeof(CAR),1,pFile)) { if (strcmp(car.number, findID) == 0) { flag = 1; printf("车主姓名:%s\n车牌号:%s\n车辆颜色:%s\n车辆型号:%s\n", car.name, car.number, car.color, car.kind); fflush(stdin); printf("\n请输入修改信息\n"); printf("车主姓名:"); fflush(stdin); scanf("%s",car.name); printf("车牌号:"); fflush(stdin); scanf("%s",car.number); printf("车辆颜色:"); fflush(stdin); scanf("%s",car.color); printf("车辆型号:"); fflush(stdin); scanf("%s",car.kind); rewind(pFile); fseek(pFile, -sizeof(CAR), 2); fwrite(&car, sizeof(CAR), 1, pFile); printf("信息已修改\n"); break; } else{ continue; } } if (flag == 0) { printf("没有该车辆信息\n"); } system("pause"); }修正代码使得能够更改车辆信息
时间: 2024-03-25 09:40:08 浏览: 181
请注意,对于修改车辆信息的代码,我们需要预先定义结构体 CAR。为了使代码更加准确,我对您提供的代码进行了一些修正。以下是修正后的代码,可以更改车辆信息:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char name[20];
char number[20];
char color[20];
char kind[20];
} CAR;
void modifyCar() {
CAR car;
char findID[20];
printf("\n车辆信息修改\n");
printf("请输入要修改车辆信息的车牌号:");
scanf("%s", findID);
FILE* pFile = fopen("info.dat", "rb+");
if (pFile == NULL) {
printf("无法打开文件\n");
return;
}
int flag = 0;
while (fread(&car, sizeof(CAR), 1, pFile) == 1) {
if (strcmp(car.number, findID) == 0) {
flag = 1;
printf("车主姓名:%s\n车牌号:%s\n车辆颜色:%s\n车辆型号:%s\n", car.name, car.number, car.color, car.kind);
fflush(stdin);
printf("\n请输入修改信息\n");
printf("车主姓名:");
fflush(stdin);
scanf("%s", car.name);
printf("车牌号:");
fflush(stdin);
scanf("%s", car.number);
printf("车辆颜色:");
fflush(stdin);
scanf("%s", car.color);
printf("车辆型号:");
fflush(stdin);
scanf("%s", car.kind);
fseek(pFile, -sizeof(CAR), SEEK_CUR);
fwrite(&car, sizeof(CAR), 1, pFile);
printf("信息已修改\n");
break;
}
}
if (flag == 0) {
printf("没有该车辆信息\n");
}
fclose(pFile);
system("pause");
}
```
阅读全文