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].
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; }
Grazie per l'aiuto!