Ahoj, potřeboval bych poradit s jedním programem. Možná se vám to bude zdát jednoduché ale pro mě to rozhodně jednoduché není.
Chci vytvořit program podobný kalkulačce. vstup je ve tvaru num1 operator num2 , kde num1 a num2 jsou čísla typu double, operator je jedním ze znaků +,-,*,/.
Toto je můj pokus o napsání toho kódu:
#include <stdio.h>
int main()
{
char operator;
double num1, num2;
printf("Napiš co chceš vypočítat\n");
scanf("%f%c%f", &num1, &operator, &num2);
switch(operator);
{
case '+':
printf("num1+num2=%.2f",num1+num2);
break;
case '-':
printf("num1-num2=%.2f",num1-num2);
break;
case '*':
printf("num1*num2=%.2f",num1*num2);
break;
case '/':
if(num2 != 0)
{
printf("num1/num2=%.2f",num1/num2);
break;
}
else
{
printf("Error! Dělíte nulou.");
break;
}
default:
printf("Error! Špatně zadaný operátor.");
break;
}
return 0;
}
Musím ovšem vyřešit tyto problémy, doufám, že s vaší pomocí to vyřeším:
1) Musím nějak upravit ten můj kód protože nefunguje (nelze ho spustit). Nevím proč to nefunguje. Poraďte prosím.
2) Musím vyřešit problém se zadáváním vstupu. Konkrétně mám na mysli, jak programu říct, že pokud uživatel zadá
2.456 * 5
tak se tím myslí 2.456*5
Tedy že by program měl ignorovat ty mezery. Vůbec nevím, jak na to.
3) Co napsat aby pokud by uživatel zadal takový to vstup
3
program napsal
Chybně zadaný vstup
Byl bych moc rád kdyby mi někdo napsal ty kousky kódu, které mi chybí nebo poradil, jak je napsat abych je mohl implementovat do mého kódu. Díky