0

私は while ループを取得して、すべての科目が回答されるまで繰り返し続けるようにしようとしています。その後、停止してボーナスと最終スコアを表示する必要があります。しかし、なぜそれをしないのかわからないのですか?助けてください。

namespace Assignment
{
    class Class1
    {
        public static int attempt, sum, AptScore, GenScore, MathScore, EngScore, bonus, TotalScore, FinalScore, choice = 0;
        public static string ans;
        static void Main(string[] args)
        {
            bool stop = false;
            Console.WriteLine("Welcome to this Salisbury University IQ Test game");
            Console.WriteLine();
            Console.WriteLine("How many times have you attempted this test?");
            attempt = Convert.ToInt32(Console.ReadLine());
            while (true)
                if (attempt > 1)
                {
                    Console.WriteLine("You cannot take this test");
                }
                else
                {
                    Console.WriteLine(" \n1. Aptitude \n2. English. \n3. Math \n4. Gk \n5. Exit");
                    choice = Convert.ToInt32(Console.ReadLine());
                    switch (choice)
                    {
                        case 1:
                            Console.WriteLine(" What was the name of the lebanon tyrant who ruled for years unending before he was toppled due to civil war? \nA. Osama Bin laden \nB. Gaddafi \nC. Jonathan ");
                            ans = Console.ReadLine();
                            if (ans == "B" || ans == "b")
                            {
                                AptScore += 10;
                            }
                            break;
                        case 2:
                            Console.WriteLine(" What is the antonym of Pleasure? \nA. Pain \nB. Ecstacy \nC. Wonder");
                            ans = Console.ReadLine();
                            if (ans == "A" || ans == "a")
                            {
                                EngScore += 10;
                            }
                            break;
                        case 3:
                            Console.WriteLine(" What is the sum of 435 and 345? \nA. 799 \nB. 780 \nC. 600 ");
                            ans = Console.ReadLine();
                            if (ans == "B" || ans == "b")
                            {
                                MathScore += 10;
                            }
                            break;
                        case 4:
                            Console.WriteLine(" What year did Nigeria become a republic? \nA. 1960 \nB. 1963 \nC. 1990 ");
                            ans = Console.ReadLine();
                            if (ans == "B" || ans == "b")
                            {
                                GenScore += 10;
                            }
                            break;
                        case 5:
                            Environment.Exit(0);
                            break;
                    }
                    if (stop)
                        break;
                    TotalScore = MathScore + GenScore + EngScore + AptScore;
                    Console.WriteLine("Your total score is : " + TotalScore);
                    if (TotalScore == 10)
                    {
                        Console.WriteLine(" You have no Bonus point ");
                    }
                    else if (TotalScore == 20)
                    {
                        bonus += 2;
                        Console.WriteLine("Your Bonus is {0}", bonus);
                    }
                    else if (TotalScore == 30)
                    {
                        bonus += 5;
                        Console.WriteLine("Your Bonus is {0}", bonus);
                    }
                    else if (TotalScore == 40)
                    {
                        bonus += 10;
                        Console.WriteLine("Your Bonus is {0}", bonus);
                    }
                    else
                    {
                        FinalScore = TotalScore + bonus;
                        Console.WriteLine("Your finalscore is : " + FinalScore);
                    }
                    switch (FinalScore)
                    {
                        case 10:
                            if (FinalScore >= 10)
                            {
                                Console.WriteLine("Your IQ level is below average");
                            }
                            break;
                        case 22:
                            if (FinalScore >= 22)
                            {
                                Console.WriteLine("Your IQ level is average");
                            }
                            break;
                        case 35:
                            if (FinalScore >= 35)
                            {
                                Console.WriteLine("You are intelligent");
                            }
                            break;
                        case 40:
                            if (FinalScore == 40)
                            {
                                Console.WriteLine("You are a genius");
                            }
                            break;
                        default:
                            break;
                    }
                }
        }
    }
}
4

2 に答える 2

6
if (stop)
    break;

これは決して起こりません。

于 2013-07-17T21:15:55.217 に答える
1

そうですか:

bool stop = false;

また:

if (stop)
    break;

しかし、私は見たことがないstop = true;

どこで stop を true に設定するつもりですか?

于 2013-07-17T21:23:09.853 に答える