c - 在 Switch 语句代码停止工作并且我无法输入后,我需要修改 Files 中的详细信息
问题描述
代码没有按预期工作,主要重点是通过文件进行修改,它在while循环期间停止并且没有输入,有人可以告诉我错误是什么吗?修改的概念也正确吗?
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
void modify(){
struct cust
{
char ID[10];
char name[25];
char pnum[15];
char bill[5];
char IDn[10];
char namen[25];
char pnumn[15];
char billn[5];
};
struct cust d1;
struct cust d1;
struct custnew
{
char IDn[10];
char namen[25];
char pnumn[15];
char billn[5];
};
int a;
a = 1;
while (a == 1) {
viewmod();
char id[10];
FILE *f, *fn;
f = fopen("customer.txt", "r");
fn = fopen("customertemp", "w");
printf("Enter ID to be edited:");
scanf("%s", &id);
printf("Select option to be modified 1.ID 2.Name 3.P/No. 4.Bill 5.RETURN\n");
int opt;
scanf("%d", &opt);
switch (opt)
{
case 1:
while (!feof(f))
{
fscanf(f, "\nID : %s\tName : %s\tP/No. %s\tBill : %s \n ", &d1.ID, &d1.name, &d1.pnum, &d1.bill);
if (strcmp(id, d1.ID)==0)
{
printf("Enter New ID : ");//Repeats after entering
scanf("%s", &d1.IDn);
fprintf(fn, "\nID : %s\tName : %s\tP/No. %s\tBill : %s \n ", &d1.IDn, &d1.name, &d1.pnum, &d1.bill);
}
else
{
fprintf(fn, "\nID : %s\tName : %s\tP/No. %s\tBill : %s \n ", &d1.ID, &d1.name, &d1.pnum, &d1.bill);
}
}
fclose(f);
fclose(fn);
remove("customer.txt");
rename("customertemp.txt", "customer.txt");
break;//More switch statements didn't provide due to repetitiveness
Default : printf("");
return;
}
我正在使用结构。上面的代码用于修改文件,它从结构中获取一个数组并对其进行更改编辑:现在它一直运行到新 ID,然后让我重复时间“输入新 ID”
解决方案
推荐阅读
- mysql - 带有连接的 wpDataTables 的 MYSQL 查询
- excel - 根据单元格输入更改行中字体颜色的条件格式
- java - 为什么在模拟包私有抽象超类中的公共方法时实际运行逻辑?
- swift - 为什么我的 Swift 网络请求不起作用?
- wordpress - Avada 主题阿拉伯语商店缺少一列
- r - 为什么 Advanced R 会声称您不能提供与 Map 不一样的参数?
- python - “元组”和“版本”错误的实例之间不支持“<”
- braintree - 当braintree打开PayPal mobilewebview
- android - 处理嵌套片段的子片段之间的向后导航正确
- python - 如何向数据框中的不同行添加两个以上的格式条件?