Консольный мини-калькулятор с паролем - C#

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

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

Создайте консольное приложение. В начале работы производите запрос пароля, если пароль неверный проведите генерацию исключения. Далее в этой программе создайте мини калькулятор, который выполняет следующие операции: умножение, деление, возведение в степень, нахождение корня. (Все ошибки, которые могут возникнуть при выполнении программы, необходимо предусмотреть и исключить). на си шарпе. помогите пожалуйста

Решение задачи: «Консольный мини-калькулятор с паролем»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ProjectCsh
{
    class Program
    {
        static void Main(string[] args)
        {
            string password = "12";                                     // здесь вводите пароль, по которому будет осуществляться вход
            Console.WriteLine("Input the password :");
 
            M: if (Console.ReadLine() == password)                      // Проверяем вводимый нами пароль, если совпадает, то пишем ОК, и пускаем с программу
            {
                Console.Clear();
                Console.WriteLine("OK!");
                Console.ReadKey();
                Console.Clear();
                menu();
            }
            else
            {
                Console.Clear();
                Console.WriteLine("Incorrect!...Try again : ");
                goto M;                                                 // Если нет - попробуйте ещё раз, господа
            }
        }
 
        static void menu()                                              // Сама "Менюшка" приложения, ниже то что выведет на экран
        {
            Console.Clear();
            Console.WriteLine("Division - press 1");
            Console.WriteLine("Multiplication - press 2");
            Console.WriteLine("Involution - press 3");
            Console.WriteLine("Radical - press 4");
            Console.WriteLine("For exit press 0");
            Console.WriteLine("Input: ");
            int choose = 0;
 
            try                                                     // Здесь читаем с консоли целое число, если же ввели не число ...
            {
                choose = Convert.ToInt32(Console.ReadLine());
            }
            catch                                                   // Говорим об этом здесь, пусть пробуют ещё раз
            {
                Console.Clear();
                Console.WriteLine("It is not number! Try again...");
                Console.ReadKey();
                Console.Clear();
                menu();
            }
 
            switch (choose)                                         // Условный оператор, который и помогает определить, что же выбрал пользователь
            {
                case 1:
                    Division();
                    break;
                case 2:
                    Multiplication();
                    break;
                case 3:
                    Involution();
                    break;
                case 4:
                    Radical();
                    break;
                case 0:
                    return;
                default:                                            // Если введено число, которого нет в меню, пишем мол ошибка, пробуйте снова
                    Console.Clear();
                    Console.WriteLine("Error! Try again...");
                    Console.ReadKey();
                    Console.Clear();
                    menu();
                    break;
            }
        }
 
        static void Division()                                          // Функция "Деление"
        {
            Console.Clear();
            Console.WriteLine("Please, input 2 numbers :");         
            double first = 0;
            double second = 0;
            try                                                     // Считываем 2 числа
            {
                Console.WriteLine("First : ");
                first = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Second : ");
                second = Convert.ToDouble(Console.ReadLine());
            }
            catch                                                   // Опять же, если это не числа, пытаемся опять, может кто-то упал лицом на клавиатуру?:?:?             
            {
                Console.Clear();
                Console.WriteLine("It is not number! Try again...");
                Console.ReadKey();
                Console.Clear();
                Division();
            }
 
            try                                                     // Выводим результат на экран
            {
                Console.Clear();
                Console.WriteLine($"{first} / {second} = {first/second}");
                Console.ReadKey();
                menu();
            }
            catch
            {
                Console.WriteLine("Invalid division on zero");      // Если делимся на ноль :)
                Console.ReadKey();
                Console.Clear();
                Division();
            }
        }
 
        static void Multiplication()                                    // Умножение естессно 
        {
            Console.Clear();
            Console.WriteLine("Please, input 2 numbers :");
 
            double first = 0;
            double second = 0;
 
            try                                                     
            {
                Console.WriteLine("First : ");
                first = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Second : ");
                second = Convert.ToDouble(Console.ReadLine());
            }
            catch                                                                
            {
                Console.Clear();
                Console.WriteLine("It is not number! Try again...");
                Console.ReadKey();
                Console.Clear();
                Multiplication();
            }
 
            Console.Clear();
            Console.WriteLine($"{first} * {second} = {first * second}");
            Console.ReadKey();
            menu();
 
        }
 
        static void Involution()                                        // Возведение в степень
        {
            Console.Clear();
            Console.WriteLine("Please, input number and number of involution :");
 
            double number = 0;                                          // Число
            double result = 0;
            int INV = 0;                                                // Степень
 
            try
            {
                Console.WriteLine("Number : ");
                number = Convert.ToDouble(Console.ReadLine());
                result = number;
                Console.WriteLine("Involution : ");
                INV = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.Clear();
                Console.WriteLine("It is not number! Try again...");
                Console.ReadKey();
                Console.Clear();
                Multiplication();
            }
 
            for (int i = 0; i < INV; i++)                               // Функция возведения
            {
                result *= number;
            }
            Console.Clear();
            Console.WriteLine($"{number} ^ {INV} = {result}");
            Console.ReadKey();
            menu();
        }
 
        static void Radical()                                           // Квадратный корень числа
        {
            Console.Clear();
            Console.WriteLine("Please, input number :");
 
            double number = 0;
 
            try
            {
                Console.WriteLine("Number : ");
                number = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
                Console.Clear();
                Console.WriteLine("It is not number! Try again...");
                Console.ReadKey();
                Console.Clear();
                Radical();
            }
 
            try
            {
                Console.WriteLine($"SQRT({number}) = {Math.Sqrt(number)}");
                Console.ReadKey();
                menu();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
                Console.Clear();
                Radical();
            }
        }
    }
}

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


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

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

11   голосов , оценка 3.727 из 5
Похожие ответы