Как остановить сообщение о результате несколько раз?
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int allDigits(char *s){ for(; *s!=0; s++){ if(!isdigit(*s)){ return 0; } } return 1; } int main(){ FILE * fr = fopen("fiile.csv", "r"); FILE * fr1 = fopen("fiile.csv", "r"); char toFind[50], line[200], save[200]; int err=0, option, i=0; const int numberOfFields = 8; static const char * listing[] = {"Name", "Date of birth","ID card number","Phone number","Address","Account","Fixing year","Deposit amount"}; char *word = NULL; char *wordOne = NULL; do{ printf("Enter you ID Card Number: "); scanf("%s", toFind); do{ if(strlen(toFind) != 13){ err = 1; break; } if(!allDigits(toFind)){ err = 2; break; } { err = 3; while(fgets(line, 200, fr)) { word = strtok(line, "\n"); strcpy(save, line); if(strstr(save, toFind)) { wordOne = strtok(word, ","); while(wordOne != NULL) { printf("Here is your %s: %s\n",listing[i], wordOne); wordOne = strtok(NULL, ","); i = (i+1) % numberOfFields; err = 0; } } for (option = 1; option <= sizeof(listing)/sizeof(char *); ++option) printf("%d. Your %s\n", option, listing[option-1]); fputs("Select your choice to update: ", stdout); scanf("%d", &option); if (option == 1) { while(fgets(line, 50, fr1)) { printf("scanned now. \n"); } } fclose(fr1); } if(err){ break; } fclose(fr); } // second do while loop }while(0); // first do while loop if(err){ printf("Test %d failed\n", err); break; } } while(err); return 0; }
Что я уже пробовал:
Код работает правильно, но вот проблема, которую я хочу устранить, заключается в том, что при запуске кода, в последнем случае, когда он дает возможность выбрать свой выбор для обновления. И когда я пишу 1=имя чтобы обновить, он дает мне результат, что файл является сканируется сейчас но результат появляется 5 раз. Хотя я мог бы написать перерыв; в конце концов, но мой код теперь не ограничивается только сканированием. Это нечто большее. Я хочу остановить это другим способом. Есть ли другой способ остановить это и просто показать мне один раз.