gpt4 book ai didi

C 问题 : Program terminates itself

转载 作者:行者123 更新时间:2023-11-30 20:29:46 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>


char choice;
struct {
char name[20];
int rn;
}read,write;

void wr(){
FILE *fp;
fp = fopen("record.txt","a+");
printf("Enter Your Name: ");
scanf("%s",write.name);
printf("Enter Your Roll Number: ");
scanf("%d",&write.rn);

fprintf(fp,"%s\t%d",write.name,write.rn);

fclose(fp);

menu();
}
void rd(){
FILE *fp;
fp = fopen("record.txt","r");
while(fscanf(fp,"%s %d",read.name,&read.rn)!= EOF){
printf("%s\t%d\n",read.name,read.rn);
}

fclose(fp);
getche();
menu();
}

void menu(){
system("cls");
printf("Do you want to read/write/exit the data R/W/E: ");
scanf("%c",&choice);
tolower(choice);

if(choice == 'w'){
wr();
}
else if(choice == 'r'){
rd();
}
else if(choice == 'e'){
exit(1);
}
}

int main() {

menu();
getche();
system("cls");
return 0;
}

我想在用户输入“e”时终止它,但它在每次信息输入以及我读取数据后终止。

意味着每次读或写函数工作后,程序应该再次询问它终止的选择。

最佳答案

您需要使用 forwhile 循环,如下所示:

int main() 
{
while(1) // while true
{
menu();
getche();
system("cls");
}
return 0;
}

您已经在 menu()else if 中调用 exit(1),因此添加 while(true ) 它会按照你想要的方式工作。

关于C 问题 : Program terminates itself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com