2017-01-25 4 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に等しくなければならないからです。それは "else"の意味です。その代わりに大括弧を使用しないでください。関数ではありません。 –

+0

こんにちは。申し訳ありませんが、この質問はあまりにも些細なものとして閉じられる可能性があります。あなたは[whileループ](https://www.tutorialspoint.com/cprogramming/c_while_loop.htm)と[Cの難しい方法を学ぶ]のようなCの学習に関する良い本を調べるべきです(https://learncodethehardway.org/c /)。正直なところ、プログラムの仕方を覚えていれば、Cは良い選択ではないかもしれません。それは非常に複雑で、[Ruby](http://tryruby.org/levels/1/challenges/0)のような高水準の言語で基礎を学ぶ方がよいでしょう。 – Schwern

答えて

0

あなたは正しい方向に指摘するには、あなたはここでwhileループを使用すると思います。ブール表現の場合、何かが真であると主張するよりも、ではなく、というケースが主張されているのと根本的に異なるわけではありません。たとえば、実際にはと等しくないため、1 != 2は完全に真です。それは少し奇妙に聞こえるが、なぜこの声明が本当であるのか考えてみると、これは問題をはっきりさせるだろうと思う。

ワンポイントクイックポイント。私はこれがコメントで言及されていることを知っていますが、この場合else if (a == 625)は冗長です。aはおそらく何もありませんしかし 625ここに。また、あなたがifステートメントを逆転したと仮定します。これは、文字どおり任意の数字をその他のと書いた方が正しいパスワードなので、正しいパスワードです(これがなぜそうであるかについては、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); 
} 
関連する問題