Diskuze: Experiment s kalkulačkou
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Problém je v tom, že keď užívateľ zadá druhú hodnotu, potvrdí ju
klávesou ENTER a to je znak '\n', ktorý si hneď zoberie premenná b, preto to
vypisuje: "Zadal jste spatneho operatora."
Riešením je odstrániť znak ENTER nejak takto:
while(getchar() != '\n') ; // odstránenie znaku '\n' (ENTER)
Riadok je potrebné umiestniť za riadok
scanf("%d", &c);
Díky, dělal jsem také něco takového a pomohlo.
#include <stdio.h>
#include <stdlib.h>
int main(int p, int d, char o)
{
printf("Zadej prvni cislo\n");
scanf("%d", &p);
printf("Zadej druhe cislo\n");
scanf("%d", &d);
while(getchar() != '\n');
printf("Zadej operator\n");
scanf("%c", &o);
switch(o)
{
case '+': printf("%d\n\a", p+d);
break;
case '-': printf("%d\n\a", p-d);
break;
case '*': printf("%d\n\a", p*d);
break;
case '/': printf("%d\n\a", p/d);
break;
default: printf("\nNapsal si spatneho operatora\n\a\a");
break;
}
system("PAUSE");
return 0;
}
Zobrazeno 3 zpráv z 3.