Problema con getchar()

di il
6 risposte

Problema con getchar()

Ciao a tutti
Stavo provando a fare questo esercizio
"Scrivete un programma in modo che sommi, sottragga, moltiplichi e divida due frazioni (immesse dall'utente) immettendo +, -, * o /".
Io avevo fatto in questo modo:
"

#include <stdio.h>
int main(void)
{
int num1, denom1, num2, denom2, result_num, result2_num, result3_num, result4_num, result_denom, result4_denom;
char ch;

printf("Inserisci la prima frazione: ");
scanf("%d/%d", &num1, &denom1);

printf("Inserisci la seconda frazione: ");
scanf("%d/%d", &num2, &denom2);

result_num = num1 * denom2 + num2 * denom1;
result2_num = num1 * denom2 - num2 * denom1;
result3_num = num1 * num2;
result4_num = num1 * denom2;
result_denom = denom1 * denom2;
result4_denom = denom1 * num2;

printf("Inserisci il segno: ");
while (ch != '\n') 
switch(ch) {
case '+' : printf("%d/%d", result_num, result_denom); break;
case '-' : printf("%d/%d", result2_num, result_denom); break;
case '*' : printf("%d/%d", result3_num, result_denom); break;
case '/' : printf("%d/%d", result4_num, result4_denom); break;
}
ch = getchar();
}
return 0;
}
"

Il problema è che dopo aver inserito le due frazioni va direttamente alla fine del programma e non mi fa inserire il segno... Sicuramente ho sbagliato qualcosa con getchar() e simili, ma cosa??
Aiutatemi voi, grazie in anticipo

6 Risposte

  • Re: Problema con getchar()

    Mi pare manchi la graffa di apertura dopo il while, certo che se usassi il tag code sarebbe più facile
  • Re: Problema con getchar()

    Si, mi sono dimenticata di scriverla qua. in ogni modo non funziona. E "code" non l'ho ancora fatto
  • Re: Problema con getchar()

    Khjaretta, code non è un comando di C/C++.. quando posti del codice qui sul forum, racchiudilo all'interno dei tag
    .
  • Re: Problema con getchar()

    Hahahahahahah ok, ora con code penso si capisca meglio quello che c'è scritto
  • Re: Problema con getchar()

    Ti consiglierei anche di inizializzare ch = ' ' (spazio) altrimenti rischi che non entri mai nel ciclo while.


    Ehehehe, Il code non si studia a scuola, si usa sui forum per postare il codice, devi far precedere il codice dal tag [code] e chiuderlo con [/code] oppure usare il comodo bottoncino con scritto Code in alto a sinistra, subito sopra la finestra dove scrivi il messaggio
  • Re: Problema con getchar()

    Khjaretta ha scritto:


    hahahahahahah ok, ora con code penso si capisca meglio quello che c'è scritto
    Sì, puoi usare anche un po' di indentazione e comunque manca sempre la graffa
Devi accedere o registrarti per scrivere nel forum
6 risposte