簡體   English   中英

C#中的計算器並非從頭開始

[英]calculator in c# does not start from beginning

我是編程新手,我只遇到一個問題。 我試圖對計算器和二次冪計算器進行編程。 我要我或某人選擇是否要“ kalkulacka”或“ mocninator”。 當我用“ mocninator”或“ kalkulacka”完成操作后,我希望程序詢問我是否要再次運行它。 但是有問題。 每次我選擇選項1(mocninator)時,程序都會詢問我是否要重復。 我輸入“ ano”(是),它從kalkulacka開始。 它不會問我是否要選擇Mocninator或kalkulacka。 代碼可能真的很糟糕,但是正如我所說,我一直在為max。 4個小時。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WhatAnApp
{
class Program
{
    static void Main(string[] args)


    {



        bool kalkulacka = true;
        bool mocninator = false;
        bool pokracovat = true;
        while (pokracovat == true)
        {
            Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
            Console.WriteLine("1 - mocninátor");
            Console.WriteLine("2 - kalkulačka");
            int volba1 = int.Parse(Console.ReadLine());
            switch (volba1)
            {
                case 1:
                    mocninator = true;
                    break;
                case 2:
                    kalkulacka = true;
                    break;
                default:
                    Console.WriteLine("Zadal jste špatnout hodnotu!");
                    break;
            }

            if (mocninator)
            {
                Console.WriteLine("Vybrál sis mocninátor");
                Console.WriteLine("Zadejte číslo, které chcete umocnit");
                float s = float.Parse(Console.ReadLine());
                double d = s;
                double m = 2;
                Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
                Console.WriteLine("Přeješ si aplikaci spustit znovu? ano/ne");
                Console.ReadKey();

            }
            else
                pokracovat = true;


            switch (Console.ReadLine())
            {
                case "ano":
                    pokracovat = true;
                        break;
                case "ne":
                    Environment.Exit(0);
                    break;
            }

            while (kalkulacka == true)
            {
                Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
                Console.WriteLine("Zadej první číslo: ");
                float a;
                while (!float.TryParse(Console.ReadLine(), out a))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Zadej druhé číslo: ");
                float b;
                while (!float.TryParse(Console.ReadLine(), out b))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Výborně, teď si vyber operaci: ");
                Console.WriteLine("1 - sčítání");
                Console.WriteLine("2 - odčítání");
                Console.WriteLine("3 - násobení");
                Console.WriteLine("4 - dělení");
                char volba = Console.ReadKey().KeyChar;
                Console.ReadKey();
                Console.WriteLine("Zvolil jste volbu číslo: " + volba);
                float vysledek = 0;
                bool platnaVolba = true;
                switch (volba)
                {
                    case '1':
                        vysledek = a + b;
                        break;
                    case '2':
                        vysledek = a - b;
                        break;
                    case '3':
                        vysledek = a * b;
                        break;
                    case '4':
                        vysledek = a / b;
                        break;
                    default:
                        platnaVolba = false;
                        break;
                }
                if (platnaVolba)
                    Console.WriteLine("Výsledek: {0}", vysledek);
                else
                    Console.WriteLine("Neplatná volba operace");
                Console.WriteLine("Přejete si kalkulačku použít znovu? ano/ne");

                platnaVolba = false;
                while (!platnaVolba)
                {
                    switch (Console.ReadLine().ToString().ToLower())
                    {
                        case "ano":
                            platnaVolba = true;
                            pokracovat = true;
                            break;
                        case "ne":
                            platnaVolba = true;
                            pokracovat = false;
                            break;
                        default:
                            Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
                            break;
                    }


                }

                if (pokracovat)
                    Console.Clear();
            }
        }   
        Console.ReadKey();
    }
}

}

我更改了一些內容,但現在它無法啟動kalkulacka。 我不知道為什么。 bool kalkulacka = false,當我在volba1鍵入2時,它應該更改為true ---> while(kalkulacka == true),那么問題出在哪里呢?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WhatAnApp
{
    class Program
 {
    static void Main(string[] args)


    {

        bool kalkulacka = false;
        bool mocninator = false;
        bool pokracovat = true;
        while (pokracovat == true)
        {
            Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
            Console.WriteLine("1 - mocninátor");
            Console.WriteLine("2 - kalkulačka");
            int volba1 = int.Parse(Console.ReadLine());
            switch (volba1)
            {
                case 1:
                    mocninator = true;
                    break;
                case 2:
                    kalkulacka = true;
                    break;
                default:
                    Console.WriteLine("Zadal jste špatnout hodnotu!");
                    break;
            }

            if (mocninator)
            {
                Console.WriteLine("Vybrál sis mocninátor");
                Console.WriteLine("Zadejte číslo, které chcete umocnit");
                float s = float.Parse(Console.ReadLine());
                double d = s;
                double m = 2;
                Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
            }
            else
                kalkulacka = true;

            Console.WriteLine("Přeješ si aplikaci spustit znovu? ano/ne");

            switch (Console.ReadLine())
            {
                case "ano":
                    pokracovat = true;
                    break;
                case "ne":
                    Environment.Exit(0);
                    break;
                default:
                    Console.WriteLine("Špatná hodnota");
                    break;
            }



            while (kalkulacka)
            {
                Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
                Console.WriteLine("Zadej první číslo: ");
                float a;
                while (!float.TryParse(Console.ReadLine(), out a))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Zadej druhé číslo: ");
                float b;
                while (!float.TryParse(Console.ReadLine(), out b))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Výborně, teď si vyber operaci: ");
                Console.WriteLine("1 - sčítání");
                Console.WriteLine("2 - odčítání");
                Console.WriteLine("3 - násobení");
                Console.WriteLine("4 - dělení");
                char volba = Console.ReadKey().KeyChar;
                Console.ReadKey();
                Console.WriteLine("Zvolil jste volbu číslo: " + volba);
                float vysledek = 0;
                bool platnaVolba = true;
                switch (volba)
                {
                    case '1':
                        vysledek = a + b;
                        break;
                    case '2':
                        vysledek = a - b;
                        break;
                    case '3':
                        vysledek = a * b;
                        break;
                    case '4':
                        vysledek = a / b;
                        break;
                    default:
                        platnaVolba = false;
                        break;
                }
                if (platnaVolba)
                    Console.WriteLine("Výsledek: {0}", vysledek);
                else
                    Console.WriteLine("Neplatná volba operace");
                Console.WriteLine("Přejete si kalkulačku použít znovu? ano/ne");

                platnaVolba = false;
                while (!platnaVolba)
                {
                    switch (Console.ReadLine().ToString().ToLower())
                    {
                        case "ano":
                            platnaVolba = true;
                            pokracovat = true;
                            break;
                        case "ne":
                            platnaVolba = true;
                            pokracovat = false;
                            break;
                        default:
                            Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
                            break;
                    }


                }

                if (pokracovat)
                    Console.Clear();
            }
        }
        Console.ReadKey();
    }   

    }
}
namespace WhatAnApp

{類程序{靜態void Main(string [] args)

    {

        bool kalkulacka = false;
        bool mocninator = false;
        bool pokracovat = true;
        while (pokracovat == true)
        {
            Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
            Console.WriteLine("1 - mocninátor");
            Console.WriteLine("2 - kalkulačka");
            int volba1 = int.Parse(Console.ReadLine());
            switch (volba1)
            {
                case 1:
                    mocninator = true;
                    Console.Clear();
                    break;
                case 2:
                    kalkulacka = true;
                    Console.Clear();
                    break;
                default:
                    Console.WriteLine("Zadal jste špatnout hodnotu!");
                    break;
            }

            if (mocninator)
            {
                Console.WriteLine("Vybrál sis mocninátor");
                Console.WriteLine("Zadejte číslo, které chcete umocnit");
                float s = float.Parse(Console.ReadLine());
                double d = s;
                double m = 2;
                Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
                Console.WriteLine("Přeješ si aplikaci použit znovu? ano/ne");

                switch (Console.ReadLine().ToString().ToLower())
                {
                    case "ano":
                        pokracovat = true;
                        mocninator = false;
                        Console.Clear();
                        break;
                    case "ne":
                        Environment.Exit(0);
                        break;
                    default:
                        Console.WriteLine("Špatná volba");
                        break;
                }
            }
            while (kalkulacka == true)
            {
                Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
                Console.WriteLine("Zadej první číslo: ");
                float a;
                while (!float.TryParse(Console.ReadLine(), out a))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Zadej druhé číslo: ");
                float b;
                while (!float.TryParse(Console.ReadLine(), out b))
                    Console.WriteLine("Zadal jste neplatné číslo");
                Console.WriteLine("Výborně, teď si vyber operaci: ");
                Console.WriteLine("1 - sčítání");
                Console.WriteLine("2 - odčítání");
                Console.WriteLine("3 - násobení");
                Console.WriteLine("4 - dělení");
                char volba = Console.ReadKey().KeyChar;
                Console.ReadKey();
                Console.WriteLine("Zvolil jste volbu číslo: " + volba);
                float vysledek = 0;
                bool platnaVolba = true;
                switch (volba)
                {
                    case '1':
                        vysledek = a + b;
                        break;
                    case '2':
                        vysledek = a - b;
                        break;
                    case '3':
                        vysledek = a * b;
                        break;
                    case '4':
                        vysledek = a / b;
                        break;
                    default:
                        platnaVolba = false;
                        break;
                }
                if (platnaVolba)
                    Console.WriteLine("Výsledek: {0}", vysledek);
                else
                    Console.WriteLine("Neplatná volba operace");
                Console.WriteLine("Přejete si aplikaci použít znovu? ano/ne");

                platnaVolba = false;
                while (!platnaVolba)
                {
                    switch (Console.ReadLine().ToString().ToLower())
                    {
                        case "ano":
                            platnaVolba = true;
                            pokracovat = true;
                            kalkulacka = false;
                            Console.Clear();
                            break;
                        case "ne":
                            platnaVolba = true;
                            pokracovat = false;
                            kalkulacka = false;
                            break;
                        default:
                            Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
                            break;
                    }
                }
            }
        }

    }

}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM