C # Консольный регистр - PullRequest
       13

C # Консольный регистр

0 голосов
/ 17 декабря 2009
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace LittleQuizworld_3
{
    class Program
    {
    public string QuestionText; //Actual question text.
    public string[] Choices; //Array of answer from which user can choose.
    public int Answer; //Index of correct answer with Choices.



    static void Main(string[] args)

    {

        int correct = 0;
        int iChoice =0;

        Console.WriteLine("Hello Welcome to Litte Quiz World, We hope you will have fun here");
        Console.WriteLine("Please press enter to continues :) ");
        Console.ReadLine();
        while (iChoice != 4)
        {
        Console.WriteLine("Please select the following");
        Console.WriteLine("1.Play Game");
        Console.WriteLine("2.Future game");
        Console.WriteLine("3.Credits");
        Console.WriteLine("4.Exit");
        Console.ReadLine();
        iChoice = Convert.ToInt32(Console.ReadLine());



          using (StreamReader sr = new StreamReader("./quiz.txt"))
        {



           switch (iChoice)
           {

         case 1:

            while (!sr.EndOfStream)
            {
                Console.Clear();
                for (int i = 0; i < 5; i++)
                {
                    String line = sr.ReadLine();
                    if (i > 0)
                    {
                        if (line.Substring(0, 1) == "#") correct = i;
                        Console.WriteLine("{0}: {1}", i, line);
                    }
                    else
                    {
                        Console.WriteLine(line);
                    }
                }

                for (;;){
                {
                    Console.Write("Select Answer: ");
                    ConsoleKeyInfo cki = Console.ReadKey();
                    if (cki.KeyChar.ToString() == correct.ToString())
                    {
                        Console.WriteLine(" - Correct!");
                        Console.WriteLine("Press any key for next question...");
                        Console.ReadKey();

                    }
                    else
                    {
                        Console.WriteLine(" - Try again!");
                        Console.Clear();
                    }




                    case 2:

                    if (iChoice == 2)
                    {
                        Console.WriteLine("Future game of Little Quiz World");
                        Console.WriteLine("Little Quiz Would will continues working on the patch for this game");
                        Console.WriteLine("Also the new game which is planned will be call BattleShip World beta testing will be very soon ");
                        Console.WriteLine("Please stick close to us ");
                        Console.ReadLine();
                    }
                            break;
                    case 3:
                    if (iChoice == 3)
                    {
                        Console.WriteLine("Credit");
                        Console.WriteLine("We hope you enjoy the game and please feel free to give us feeback at email : tonycheung2006@hotmail.co.uk");
                        Console.ReadLine();
                    }
                    break;


                        }
                    }
                }
             }
            }
        }

    }
}

} Я создаю небольшую игру-викторину и небольшую систему меню, но кажется, что мой случай не работает, кто-нибудь может мне помочь?

Ответы [ 4 ]

0 голосов
/ 17 декабря 2009

Помимо балансировки фигурных скобок, обратите внимание, что избыточно иметь if (iChoice == 2) в случае 2: ​​потому что ваш оператор switch находится на iChoice. То же самое касается iChoice == 3.

извини, я не совсем понял, я новичок в c #

0 голосов
/ 17 декабря 2009

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

Также у вас есть операторы case, которые, кажется, прыгают в середину циклов.

0 голосов
/ 17 декабря 2009

Помимо балансировки фигурных скобок, обратите внимание, что избыточно иметь if (iChoice==2) при case 2:, потому что ваш оператор switch включен iChoice. То же самое касается iChoice==3.

Edit: Для уточнения необходимо написать

case 2:
    if (iChoice == 2)
    {
        //...
    }

в

case 2:
    //...

Но это не то, что мешает вашему коду компилироваться. Как отмечали другие, ваши скобки не сбалансированы, и вы помещаете некоторые из своих операторов case в цикл, а другие нет.

0 голосов
/ 17 декабря 2009

Проверьте свои брекеты. Они не сбалансированы - по крайней мере, не так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...