2015-10-29 4 views
0

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

#include <stdio.h> 
int main(void) { 

     int i; 
     int j; 
     int num1; 
     int num2 = 2; 

     printf("Enter number"); 
     scanf("%d", &num1); 

     while (num1 == 0) { 

       printf("Enter number"); 
       scanf("%d", &num1); 
     } 

     while (num1 != num2) { 

       for(j=1;j 
       printf("This is not the correct number! \n"); 
       printf("Enter number again: "); 
       scanf("%d", &num1); 
     } 

     if (num1 == num2) { 

       printf("The numbers have matched! \n"); 
     } 
} 

Я путать с тем, как мы создаем цикл, в котором мы не знаем, сколько раз пользователь вводит неверный номер. Я хочу, чтобы в цикле отображалось , сколько раз пользователь вводит неверный номер. Скажем, если они входят 3 раза.

This is not the correct number 1! 
    This is not the correct number 2! 
    This is not the correct number 3! 

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

ответ

2

Вы хотите создать отдельную переменную счетчика, которая отслеживает, сколько раз вы прошли через цикл. Установите его до 0 перед циклом, а затем увеличивайте на каждой итерации.

int count = 0; 
    ... 
    while (num1 != num2) { 
      count++; 
      printf("This is not the correct number %d! \n", count); 
      printf("Enter number again: "); 
      scanf("%d", &num1); 
    } 

Кроме того, я предполагаю, это опечатка:

for(j=1;j 
Смежные вопросы