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:
codice:#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![]()



Rispondi quotando

