Написать калькулятор, производящий 4 или 5 математических операций с тремя (или больше) дробными числами - C#
Формулировка задачи:
Помогите пожалуйста написать калькулятор, производящий 4 или 5 математических операций с тремя(или больше) дробными числами.
Калькулятор принимает строку в виде “a # b # c”, где символ # - это математический оператор ( +, - , * , / , ^ ). Программа должна считывать выражение в строку, производить её разбор , записывая числа в соответствующие переменные и выполнять с ними нужные действия. Также программа должна правильно расставлять приоритеты, т.е. возведение в степень должно выполняться раньше умножения и деления, а умножение и деление – раньше сложения или вычитания, не зависимо от места их расположения.
Доп. Задание: Защитить программу от некорректного ввода данных. Программа должна считать выражения при введенном неполном выражении вида “a # b”. В случае ввода некорректных данных (букв, лишних символов) программа должна выдавать сообщение об ошибке, не вылетая.
Решение задачи: «Написать калькулятор, производящий 4 или 5 математических операций с тремя (или больше) дробными числами»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplicationCalc_v__1_string
{
internal class Program
{
private static void Main(string[] args)
{
int a, b, c;
string aa, bb, cc;
double ab = 0, abc = 0;
string ac;
Console.WriteLine("Введите число ");
aa = Console.ReadLine();
a = int.Parse(aa);
string sing;
// Console.WriteLine("Введите действие:1.Сложение[+] ;2.Вычетание [-]; 3.Умножение[*] ;4.Деление [/]");
sing = Console.ReadLine();
// Console.WriteLine("Введите число");
bb = Console.ReadLine();
b = int.Parse(bb);
Start:
switch (sing)
{
case "+":
ab = a + b;
Console.WriteLine("=" + ab);
break;
case "-":
ab = a - b;
Console.WriteLine("=" + ab);
break;
case "*":
ab = a*b;
Console.WriteLine("=" + ab);
break;
case "/":
ab = a/b;
Console.WriteLine("=" + ab);
break;
default:
Console.WriteLine("Вы ввели неверное действие");
return;
break;
}
;
string sing2;
// Console.WriteLine("Введите действие:1.Сложение[+] ;2.Вычетание [-]; 3.Умножение[*] ;4.Деление [/]");
sing2 = Console.ReadLine();
// Console.WriteLine("Введите число");
cc = Console.ReadLine();
c = int.Parse(cc);
Finish:
switch (sing2)
{
case "+":
abc = ab + c;
Console.WriteLine("=" + abc);
break;
case "-":
abc = ab - c;
Console.WriteLine("=" + abc);
break;
case "*":
abc = ab*c;
Console.WriteLine("=" + abc);
break;
case "/":
abc = ab/c;
Console.WriteLine("=" + abc);
break;
default:
Console.WriteLine("Вы ввели неверное действие");
break;
}
Console.ReadKey();
}
}
}