Почему функция calc не работает - C#

Узнай цену своей работы

Формулировка задачи:

Почему при вводе команды calc консоль пишет: "Для продолжения нажмите любую клавишу...", а после нажатия клавиши программа завершается. Где ошибка?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
namespace MictuneOS
{
    class Program
    {

        static void Main(string[] args)
        {
            Login();
        }
 
        static void Login(){
            string password = File.ReadAllText("C:/MictuneOS/password.txt");
            string u_password;
            string welcome = File.ReadAllText("C:/MictuneOS/welcome.txt");
 
            Console.WriteLine("Введите пароль: ");
            u_password = Console.ReadLine();
            if (u_password == password)
            {
                Console.WriteLine("Пароль верный.");
                Thread.Sleep(2000);
                Console.Clear();
                Console.WriteLine(welcome);
                Thread.Sleep(2000);
                Console.Clear();
                Cmd();
            }
            else
            {
                Console.WriteLine("Пароль неверный!");
                Login();
            }
        }
 
        static void Cmd()
        {
            string command;
            Console.WriteLine("Введите команду:");
            command = Console.ReadLine();
            if (command == "system")
            {
                Console.WriteLine("MictuneOS 0.1");
                Cmd();
            }
            else if (command == "FM")
            {
                FM();
            }
            else if (command == "help")
            {
                Console.WriteLine("help - показать список команд.");
                Console.WriteLine("system - информация о системе.");
                Console.WriteLine("FM - файловый менеджер.");
                Console.WriteLine("GUI - графический интерфейс.(в след. обн.)");
                Console.WriteLine("cls - очистить экран.");
                Console.WriteLine("internet - подключиться к интернету.(в след. обн.)");
                Console.WriteLine("shutdown - выключить систему.");
                Console.WriteLine("calc - запустить калькулятор.");
                Cmd();
            }
            else if (command == "GUI")
            {
                Console.WriteLine("GUI появится в следующих обновлениях.");
                Cmd();
            }
            else if (command == "calc")
            {
            }
            else if (command == "cls")
            {
                Console.Clear();
                Cmd();
            }
            else if (command == "shutdown")
            {
                Environment.Exit(0);
            }
            else if (command == "internet")
            {
                Console.WriteLine("internet появится в следующих обновлениях.");
                Cmd();
            }
            else if (command == "calc")
            {
                Calc();
            }
            else
            {
                Console.WriteLine("Нет такой команды!");
                Cmd();
            }
 
        }
        static void FM()
        {
            string FM_command;
            int fs = int.Parse(File.ReadAllText("C:/MictuneOS/files.txt"));
            string fsc;
            Console.WriteLine("Введите команду для работы с файловой системой: ");
            FM_command = Console.ReadLine();
            if (FM_command == "help")
            {
                Console.WriteLine("fs - показать кол-во файлов.");
                Console.WriteLine("crf - создать файл.");
                Console.WriteLine("dlf - удалить файл.");
                Console.WriteLine("exit - выйти из файлового менеджера.");
                FM();
            }
            else if(FM_command == "fs")
            {
                Console.WriteLine("Кол-во файлов:" + fs);
                FM();
            }
            else if (FM_command == "crf")
            {
                fs += 1;
                Console.WriteLine("Вы успешно создали один файл!");
                fsc = fs.ToString();
                File.WriteAllText("C:/MictuneOS/files.txt", fsc);
                
                FM();
            }
            else if(FM_command == "dlf")
            {
                fs -= 1;
                Console.WriteLine("Вы успешно удалили один файл!");
                fsc = fs.ToString();
                File.WriteAllText("C:/MictuneOS/files.txt", fsc);
                FM();
            }
            else if(FM_command == "exit")
            {
                Console.WriteLine("Вы успешно вышли из файлового менеджера.");
                Cmd();
            }
            else
            {
                Console.WriteLine("Нет такой команды!");
                FM();
            }
 
        }
 
        static void Calc()
        {
            double num1;
            double num2;
            double num3;
            string action;
 
            Console.Write("Введите первое число: ");
            num1 = Convert.ToDouble(Console.ReadLine());
            Console.Write("Введите второе число: ");
            num2 = Convert.ToDouble(Console.ReadLine());
            Console.Write("Введите действие, которое нужно выполнить(+, -, *, /): ");
            action = Console.ReadLine();
            
            if (action == "+")
            {
                num3 = num1 + num2;
                Console.WriteLine("Ответ: " + num3);
            }
            else if (action == "-")
            {
                num3 = num1 - num2;
                Console.WriteLine("Ответ: " + num3);
            }
            else if (action == "*")
            {
                num3 = num1 * num2;
                Console.WriteLine("Ответ: " + num3);
            }
            else if (action == "/")
            {
                num3 = num1 / num2;
                Console.WriteLine("Ответ: " + num3);
            }
 
            Cmd();
 
        }
 
        }
}
Извините, разобрался.

Решение задачи: «Почему функция calc не работает»

textual
Листинг программы
[B]else if (command == "calc")
            {
            }[/B]
            else if (command == "cls")
            {
                Console.Clear();
                Cmd();
            }
            else if (command == "shutdown")
            {
                Environment.Exit(0);
            }
            else if (command == "internet")
            {
                Console.WriteLine("internet появится в следующих обновлениях.");
                Cmd();
            }
[B]            else if (command == "calc")
            {
                Calc();
            }[/B]

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5