Salve a tutti.
Il mio intento era di creare un programma che prendesse in input:
1)due numeri;
2)l'operatore;
ed eseguisse l'operazione corrispondente.
Utilizzando la scanf per memorizzare l'operatore ho avuto dei problemi; utilizzando la getchar idem. In entrambi i casi infatti, il programma non attendeva l'inserimento da tastiera dell'operatore ma terminava l'esecuzione come se io avessi inserito un carattere non valido.
Perché? [So che non conviene utilizzare la scanf per prendere valori in input..ma vorrei comunque capirne il funzionamento].
Grazie per l'aiuto!codice:#include<stdio.h> int main(){ printf("type 2 numbers\n"); int a,b; char car=' '; scanf("%d %d ", &a, &b); printf("Insert the operator\n"); while((car=='\n')|(car=='\t')|(car=='\n')|(car=' ')) car=getchar(); switch(car){ case '+': printf("a+b= %d",a+b); break; case '-': printf("a-b= %d",a-b); break; case '*': printf("a*b=%d",a*b); break; case '/': printf("a:b=%d",a/b); break; default : printf("the requested operation is not valid"); return -1; } return 0; }

Rispondi quotando