【解決方法】ユーザーからの3回の試行によるCプログラムwhileおよびif else


C program to give user 3 tries to enter correct code number use a while loop and if else statements 
#include<stdio.h>	//header	

int main()		//start
{
	int pass, num =3;
	
	printf("You have 3 tries to enter the correct passcode!\n");
	
	while(num == 1)		//begin while loop
	{
		printf("Please enter the passcode: ");		//asks user for passcode	
		scanf("%d", &pass);							//checks passcode
		
		if(pass == 11862)
		{
			printf("Your passcode is correct!");
			num = 0;
			break;		//stops or exits the loop, the password is correct
		}
		
		else
		{
		printf("That is not the correct passcode, you have 2 more attempts.\n");
			scanf("%d", &pass);					//checks passcode
			num++;
		}
		
			if(pass != 11862)	//if user doesn't enter 11862 then...
			{
	     printf("That is not the correct passcode, you have 1 more 
        attempt!\n");//user is told incorrect 1 more time

		scanf("%d", &pass);				////checks passcode
		}
		
		else
		{
		printf("That is the correct passcode!\n");		//tells user correct
		scanf("%d", &pass);							
		break;											//exits the loop
		}
		printf("Your account is locked, you failed 3 attempts.");		 
     //tells user they entered wrong passcode 3times locked
		break;													//exits
		}
	return 0;								//end
}

私が試したこと:

動作していないコードの写真を入力する方法がわかりません! 私は完全な初心者です。 わかりましたので、コードをコピーして貼り付けようとしましたが、本当にめちゃくちゃでした! 謝罪いたします!

解決策 1

引用:

動作していないコードの写真を入力する方法がわかりません!

まず、「コードの写真」を投稿しないでください。すべてを再入力しないと実行できないため、実際には役に立ちません。また、間違いを犯しやすいため、独自の問題が発生します。
コードをコピーして貼り付け、 code テキスト ボックスの上にあるツールバーのウィジェットをクリックするか、「Code block" から “Paste as" コードを貼り付けると、ポップアップ メニューが表示されます。
次に、次のようなものが得られます。

#include <stdio.h>

int main()
    {
    printf("Hello World");

    return 0;
    }

つまり、入力してコンパイルしようとしたとおりにコードを正確に読み取り、必要に応じてそれをコピーしてコンパイラに直接貼り付けて試すことができます。 400 ページのアプリ全体を提供するのではなく、関連するフラグメントを提供して、エラー領域がどこにあるかを突き止めようとするのではなく、エラー領域に集中できるようにします。

次に、何を尋ねようとしているのかを考えてみてください。私たちはあなたの画面を見ることも、HDD にアクセスすることも、あなたの心を読むこともできないことを思い出してください。

だからあなたが質問をするとき

引用:

ユーザー 3 が正しい電話番号を入力しようとする C プログラムでは、while ループと if else ステートメントを使用します。

それは本当に私たちに多くを教えてくれません:
1) 私たちはそれが言語であることを知っています: C – しかし、あなたはタグでそれを教えてくれました.
2)それは何かと関係があります while ループと if 状態ですが、電話番号が「正しい」とされる理由はわかりません。
3) あなたのコードがコンパイルされるかどうかさえわかりません。

これを想像してみてください。あなたは田舎でドライブに行きますが、車に問題があります。 ガレージに電話して、「壊れた」と言って、電話の電源を切ります。 ガレージが車のメーカーやモデル、あなたが誰であるか、すべてがうまくいかなかったときに何が起こったのか、さらにはあなたがどこにいるのかわからない場合、ガレージが車を修理するための適切なビットとツールを持って到着するまでどれくらい待つことになりますか? ?

それがあなたがここでやったことです。 そのため、タイピングをできるだけ少なくして、プロジェクトにアクセスする方法がない人に説明してみてください。

ここで始める: 質問することはスキルです[^] そして、あなたが知る必要があること、そして助けを得るために私たちに何を伝える必要があるかを考えてください.

コードが実行されないのは、初心者にとって通常の問題であるためです。コードをコンパイルしようとすると、システムはアプリを実行する代わりに多くのエラー メッセージをスローします。
これは正常なことです。コーディング中に毎日、おそらく 1 日に何度も構文エラーが発生することを予期する必要があります。経験の豊富さに関係なく、誰もがそうです! 変数やキーワードのスペルを間違えることがあります。 文字列やコード ブロックを閉じるのを忘れることがあります。 猫があなたのキーボードの上を歩いて、とても奇妙なことをタイプすることがあります。 メソッド呼び出しに必要なパラメーターの数を忘れてしまうことがあります。

我々はすべての間違いを犯します。

そして、私たちは皆そうしているので、構文エラーを修正する必要があります。他の人が修正してくれるのを待つよりも、方法を学んで自分で修正する方がはるかに迅速です! したがって、エラー メッセージの読み方と、コンパイラが間違っていると言っていることに照らして記述されたコードを解釈する方法を学ぶことに少し時間を費やしてください。

だからこれを読んでください: 問題を解決するコードの書き方、初心者向けガイド パート 2: 構文エラー[^] – これらのエラー メッセージを見て、その意味をもう少し理解するのに役立つはずです。

コンパイルの問題でない場合は、コードが何をするつもりなのか、実際に何をするのか、それを引き起こすために何をしたのか、そしてそれを修正するために何をしようとしたのかについて、さらに多くのことを知る必要があります。もちろん、関連するコード フラグメント自体です。

引用:

私は完全な初心者です

私たちは皆、一度そこから始めなければなりませんでした! パニックになるのをやめて、落ち着いて、論理的に考えてください。

まったく解決できない場合は、上記のリンクと次のリンクに従ってください。 問題を解決するためのコードの書き方、初心者向けガイド[^] 後ほど、問題の詳細をお知らせください。

申し訳ありませんが、すぐに問題が解決するわけではありませんが、関連する情報がなければ、私たちの手は結ばれています! 幸運を!

解決策 3

#include <stdio.h>

int main() {
    int n, i = 3, pass = 1234;
    
    printf("You have 3 tries to enter the correct passcode!\n");
    
    while (i-- > 0) {
        printf("Please enter the passcode: ");
        scanf("%d", &n);
        
        if (pass == n) {
            printf("Your passcode is correct!\n");
            break;
        }

        if (i > 0) 
            printf("That is not the correct passcode you have %d more attempt!\n", i);
        else
            printf("Your account is locked, you failed 3 attempts.\n");
    }
    return 0;
}

コメント

タイトルとURLをコピーしました