IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Dalibor Zeman:10.10.2022 12:47

Ahoj, snažím se o vytvoření kalkulačky. Jde o to že kalkulačka by měla fungovat v konzoli tak že třeba napíšu 2000+5000/2 a rovnou mi ukaze vysledek

Zkusil jsem:

class Program
{
static void Main(string[] args)
{
int num1;
int num2;
string operand;
ConsoleKeyInfo status;
float answer;

while (true)
{
Console.Write("Za­dejte první čislo: ");
num1 = Convert.ToInt32(Con­sole.ReadLine());
Console.Write("Za­dejte druhé čislo: ");
num2 = Convert.ToInt32(Con­sole.ReadLine());
Console.Write("Na­piš operátor: (+, -, /, *): ");
operand = Console.ReadLine();

switch (operand)
{
case "-":
answer = num1 - num2;
break;
case "+":
answer = num1 + num2;
break;
case "/":
answer = num1 / num2;
break;
case "*":
answer = num1 * num2;
break;
default:
answer = 0;
break;
}

Console.Write­Line(num1.ToS­tring() + " " + operand + " " + num2.ToString() + " = " + answer.ToString());
Console.Write­Line("\n\n Zavřít (Y/y)");
status = Console.ReadKey();
if (status.Key == ConsoleKey.Y)
{
break;
}
Console.Clear();
}
}
}

 
Odpovědět
10.10.2022 12:47
Avatar
Jan Poláček
Tvůrce
Avatar
Odpovídá na Dalibor Zeman
Jan Poláček:10.10.2022 15:43

Ahoj, ten přiložený kód mi nějak nesedí k tvé snaze, vypadá skoro jak ze C# kurzu tady na síti,
každopádně, ty tedy chceš pouze jeden vstup, ten ale nebude int, ale string, ten si pak musíš zpracovat, aby ti vyplivl výsledek a ty ho do konzole napsal, zpracovat se to dá různými způsoby, např. to nechat vypočítat externě někdě přes internet, tvůj testovací příklad umí i třeba Google, lze použít interně Eval, DataTable,... pokud by sis to chtěl spočítat sám, tak nějaké jednoduché příklady jdou postupně, spočítat, co má přednost (násobení a dělení před sčítáním a odčítáním atp.), jinak to musíš v programu analyzovat, co je co, kde co začíná, jako např. závorky a poté s tím pracovat. Snad jsem tě alespoň navedl.

Nahoru Odpovědět
10.10.2022 15:43
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.