2017-01-25 1 views
-4

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

#include <stdio.h> 

int main() 
{ 
    int a; 
    printf("Enter The Passcode: "); 
    scanf("%d", &a); 
    if (a != 625){ 
     printf("Correct Passcode"); 
    } 
    else if (a == 625){ 
     printf("Incorrect Passcode"); 
} 
    return(0); 
} 
+0

Начните с написания цикла. Вы пытались найти здесь * цикл c для ввода пользователем *? –

+1

'if (a == 625)' избыточно, потому что, когда дело доходит до этого предложения, оно должно быть равно 625, это то, что означает «другое». И не используйте скобки взамен, это не функция –

+0

Привет и приветствуем переполнение стека. Извините, но этот вопрос, скорее всего, будет закрыт как слишком тривиальный. Вы должны изучить [while loops] (https://www.tutorialspoint.com/cprogramming/c_while_loop.htm) и хорошую книгу об обучении C, например [Learn C The Hard Way] (https://learncodethehardway.org/c /). Честно говоря, если вы просто учитесь программировать, C не может быть хорошим выбором. Это довольно сложно, и лучше сначала изучить основы на языке высокого уровня, например [Ruby] (http://tryruby.org/levels/1/challenges/0). – Schwern

ответ

0

Чтобы вы указали в правильном направлении, вы бы использовать while петлю здесь. Это не принципиально отличается от булевых выражений, заявляющих, что что-то не случай, чем тот, кто утверждает, что это правда. 1 != 2, например, совершенно верно (потому что 1 фактически не равно 2). Это звучит немного странно, но подумайте, почему это утверждение верно, и я думаю, что это прояснит проблему.

One quick точка. Я знаю, что это было упомянуто в комментариях, но в этом случае else if (a == 625) избыточен, потому что a ничего не может быть , но 625 здесь. Кроме того, я предполагаю, что вы отменили свои заявления if, потому что так, как вы написали это буквально любое число другое, чем 625 - это правильный пароль (внимательно посмотрите на свои if заявления, чтобы узнать, почему это так).

С учетом сказанным, вот пример, который может помочь вам:

int a = // Read integer from console; 

// This will happen if, and only if, a is something other than 625 
// This'll keep prompting them until they enter 625 
while (a != 625) { 
    printf("Incorrect password. Please enter the correct password."); 
    a = // Read integer from console 
} 

// If we got past the loop, we know that they must have entered a correct password 
printf("Correct password"); 

Надеется, что это помогает.

0

Вы должны использовать цикл для этой цели, как

#include <stdio.h> 

int main() 
{ 
    int a=0; //some random 
    printf("Enter The Passcode: "); 


while(a!=625){ 
    scanf("%d", &a); 
    if (a != 625){ 
     printf("Correct Passcode"); 
     break; // you found correct 
    } 
    else if (a == 625){ 
     printf("Incorrect Passcode"); 
     } 

    } 
    return(0); 
} 
Смежные вопросы