[c] calcolatrice banale

frab1
Procedendo nello studio del linguaggio C, sto provando a scrivere un piccolo programma(a scopo didattico) che realizza una banalissima calcolatrice...

#include <stdio.h>

int main()
	
{
	int z;
	printf("Il sorgente realizza una banale calcolatrice con la quale,posso calcolare somma, prodotto, differenza e divisione\n\n\n");
	int x;	
	printf("Inserire primo valore (x) :\n");
	scanf("%d", &x);
	
	int y;
	printf("Inserire secondo valore (y) :\n");
	scanf("%d", &x);

	int op;	
	printf("Inserire il simbolo corrispondente all'operazione aritmetica da effettuare(1=+,2=-,3=*,4=/):\n");
	scanf("%d", &op);

switch (op) {

case 1:
	z=x+y;	
	printf("Il risultato dell'addizione vale: %d\n\n",z);
	break;  
case 2:
	z=x-y;
	printf("Il risultato della sottrazione vale: %d\n\n",z);
	break;
case 3:
	z=x*y;
	printf("Il risultato della moltiplicazione vale: %d\n\n",z);
	break;
case 4:
	z=x/y;
	printf("Il risultato della divisione vale: %d\n\n",z);
	break;
}
}

eseguendo il codice pero' ho come output numeri altissimi...se ad esempio inserisco $x=2$ e $y=3$ e seleziono l'operazione di somma, ho come output un numero esagerato($134514092$) :shock:
non capisco...mi sembra tutto formalmente corretto...

Risposte
claudio862
Nella seconda chiamata a scanf leggi ancora il valore di x, e non di y.

Summerwind78
Ciao

dipende dal fatto che memorizzi il valore di $y$ nella variabile $x$

se guardi bene vedrai che quando leggi $y$ poi fai

scanf("%d", &x);


dovresti fare
scanf("%d", &y);

frab1
che svista! grazie ad entrambi!!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.