Vai al contenuto

problema con C


Messaggi raccomandati

ciao ragazzi, ho un problema, sto facendo come esercizio una sorta di calcolatrice e ho pensato di farla così

#include <stdio.h>

int main (int argc, const char * argv[]) {

int x, y, risultato;
char segno;

printf("x=\n");
scanf("%d", &x);
printf("y=\n");
scanf("%d", &y);
printf("segno=\n", segno);
scanf("%c", &segno);
if (segno == 'p') {
	risultato = x + y;
	printf("risultato= %d", risultato);
}
if (segno == 'm') {
	risultato = x - y;
	printf("risultato= %d", risultato);
}
if (segno == 'x') {
	risultato = x * y;
	printf("risultato= %d", risultato);
}
if (segno == 'd') {
	risultato = x / y;
	printf("risultato= %d", risultato);
}

return 0;

il problema è che lo avvio in console e mi funziona fino a quando devo inserire y, cioè mi fa inserire y, faccio invio e poi mi dice segno= e poi finisce il programma...

allora, ecco la console

[session started at 2011-02-20 08:42:16 +0100.]
GNU gdb 6.3.50-20050815 (Apple version gdb-1472) (Wed Jul 21 10:53:12 UTC 2010)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin".tty /dev/ttys000
Loading program into debugger…
Program loaded.
run
[switching to process 561]
x=
Running…
2
y=
3
segno=

Debugger stopped.
Program exited with status value:0.

Link al commento
Condividi su altri siti

  • 2 settimane dopo...

printf("segno=\n", segno);

Questa dichiarazione è sbagliata...

Segno è un char quindi:

printf("segno=%c",segno);

Così stampa segno.

Tuttavia capendo quello che vuoi fare basta che elimini la variabile per cui:

printf ("segno=\n");

scanf("%c",&segno);

Week end? Gita? Vacanza? Leggi la nostra esperienza: Go2Go.eu

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...