как печатать делать во время вывода в C-программировании в зависимости от того, сколько пользователей решили снова ввести данные - PullRequest
0 голосов
/ 17 декабря 2018

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

enter image description here

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int age, again;
    char name[20];
    do{
    printf("please enter age: ");
    scanf("%d", &age);

    printf("Enter name: ");
    scanf("%s", &name);

    printf("want to input again? 1=yes, 2=no: ");
    scanf("%d", &again);


    }while(again==1);

    printf("name:%s", name);
    printf("\nage: %d", age);

    return 0;
    }

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Сохраните все входные данные в массиве structure и прочитайте входные данные в нем.

Как только вы закончите ввод, напечатайте вывод.

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

typdef struct
{
   int age;
   char name[20];
} input;

int main()
{
    int again;
    int totalInp = 0;
    int inputSize = 100;
    input *pInp = malloc(inputSize * sizeof(*pInp));


    do{
        if (totalInp >= inputSize )
        {
            inputSize  += 100;
            pInp = realloc(pInp, sizeof(*pInp)*inputSize);
        }

        printf("please enter age: ");
        scanf("%d", &pInp[totalInp].age);

        printf("Enter name: ");
        scanf("%19s", &pInp[totalInp].name);

        totalInp++;

        printf("want to input again? 1=yes, 2=no: ");
        scanf("%d", &again);

    }while(again==1);

   for (int i=0; i < totalInp; i++)
   {
       printf("name:%s", pInp[i].name);
       printf("\nage: %d", pInp[i].age);
   }

   free(pInp);
    return 0;
}
0 голосов
/ 17 декабря 2018

Давайте попробуем.Я думаю, что ваша проблема решится сейчас.

#include <stdio.h>
#include <stdlib.h>
#define MAX_INPUT 10
int main()
{
  int  again,i;
  int counter=0;
  char name[MAX_INPUT][20];
  int age[MAX_INPUT];

 do{
   printf("please enter age: ");
   scanf("%d", &age[counter]);

   printf("Enter name: ");
   scanf("%s", &name[counter]);

   printf("want to input again? 1=yes, 2=no: ");
   scanf("%d", &again);
   counter++;
 }while(again==1);
   for(i=0;i<counter;i++){
     printf("\nname:%s", name[i]);
     printf("\nage: %d", age[i]);
  }
return 0;
}
0 голосов
/ 17 декабря 2018
  printf("name:%s", name);
  printf("\nage: %d", age);

Поместите эти два оператора в do и запустите код.

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