Как добавить номер строки только к определенной строке в файле - PullRequest
0 голосов
/ 23 апреля 2019

Я создаю информацию о болезни и информацию о ней.Болезнь должна иметь номер рядом с ней, но оставшиеся данные должны оставаться как есть.Как я могу добавить информацию в файл, но иметь приращение номера болезни, когда он читает новые входные данные при закрытии программы?

Я пытался использовать переменную, чтобы вывести номер болезни по ходу, но я непонять, как его увеличить.

void CreateNew(){

    int diseasenum=1;
    FILE*fptr;

    fptr = fopen("Lifeline Medical & Diagnostic Center.txt", "a+");

    if(fptr == NULL)
    {
        printf("Error! There is no file to write to. Please Create a file");
        exit(1);
    }

    fflush(stdin);

    printf("Enter the name of the disease you would like to give detail of: ");
    gets(Dissarray.Disease);

    if()
        fprintf(fptr,"%d\tDisease: %s\n\n",diseasenum,Dissarray.Disease);

    printf("\n");

    fflush(stdin);

    Dissarray.Lethality=0;

    printf("What is the Lethality of %s?\t(Answer in percentage. Sample:90 OR 12, etc)\n",Dissarray.Disease);
    if (scanf("%d", &Dissarray.Lethality)!= 1)
    {
      printf("This is not an appropriate number. Please enter appropriately.\n");
      fflush(stdin);
      scanf("%d", &Dissarray.Lethality);
    }
    fprintf(fptr,"Lethality: %d\n",Dissarray.Lethality);
    printf("\n");

    fflush(stdin);

    printf("How is %s acquired. (Sample: Contagious Disease, STI, Hereditary)\n",Dissarray.Disease);
    gets(Dissarray.ContagionFactor);
    fprintf(fptr,"Contagion factor: %s\n",Dissarray.ContagionFactor);
    printf("\n");

    printf("How is %s Transmitted?\t\t(Sample: Airborne, Touch, Sex, Sneezing, etc.)\n",Dissarray.Disease);
    gets(Dissarray.Spread);
    fprintf(fptr,"Spread: %s\n",Dissarray.Spread);
    printf("\n");

    fflush(stdin);

    Dissarray.Fatalities=0;

    printf("On a yearly basis. What is the average Fatality count brought by %s?\t\t(How many have died to this disease? Sample:100000)\n",Dissarray.Disease);
    if(scanf("%d", &Dissarray.Fatalities)!= 1)
    {
      printf("This is not an appropriate number. Please enter appropriately.\n");
      fflush(stdin);
      scanf("%d", &Dissarray.Fatalities);
    }
    fprintf(fptr,"Fatalities: %d\n",Dissarray.Fatalities);
    printf("\n");

    fflush(stdin);

    printf("Has %s been known to evolve under any conditions?\n",Dissarray.Disease);
    printf("What is the Sensitivity?\t\t(Sample:Temperatures over 90 degrees OR None.)\n");
    gets(Dissarray.Sensitivity);
    fprintf(fptr,"Sensitivity: %s\n\n",Dissarray.Sensitivity);
    printf("\n");

    printf("This ends the entry of info into the file\n");
    fclose(fptr);
}

1 Ответ

0 голосов
/ 23 апреля 2019

, чтобы ответить на ваш вопрос о нумерации строк:

относительно:

int diseasenum=1;

изменить на:

static int diseasenum=1;

Затем, перед выходом из функции:

diseasenum++;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...