PROBLEMA C++

  • Autore discussione Autore discussione hpled
  • Data d'inizio Data d'inizio
Pubblicità

hpled

Nuovo Utente
Messaggi
3
Reazioni
0
Punteggio
24
Ciao a tutti
avrei questo problema..
#include <stdio.h>main ()
{int pippo;
printf ("inserisci il suo valore:");
scanf ("%d");
if (pippo>8) printf ("è un valore maggiore di otto");
else printf ("non è un valore maggiore ma minore");
scanf ("%d");
}



quando vado a compilare questo programma il pc si blocca!! ;( non capisco perchè help ..
 
La sintassi di scanf è sbagliata.
Codice:
#include <stdio.h>
int main ()
{
int pippo;
printf ("inserisci il suo valore:");
scanf ("%i", &pippo);
if (pippo>8) 
 printf ("è un valore maggiore di otto\n");
else printf ("non è un valore maggiore ma minore\n");


}
E comunque è C (che non conosco) e non C++.
 
Esatto, il comando scanf non dice "Metti l'input nella variabile pippo" ma dice: input letto è un int, e lo schiaffo nella cella di nome pippo (&pippo è un puntatore, e punta alla cella di nome pippo appunto).
Questo è C, e quindi è anche C++, la libreria stdio contiene ancora scanf, printf, e cose simili.
In C++, Hpled, si usano cin (c-in per ciò che entra), e cout (c-out per ciò che esce). La sintassi da te usata sarebbe quindi pseudocorretta, perché il cin schiaffa direttamente in pippo, senza usare puntatori.
 
Avete ragione, ma c e c++ a parte, come cacchio è possibile che si blocchi???

hpled, dovresti chiarire questo punto, perchè altrimenti siamo di fronte ad un x-file :D
 
Avete ragione, ma c e c++ a parte, come cacchio è possibile che si blocchi???

hpled, dovresti chiarire questo punto, perchè altrimenti siamo di fronte ad un x-file :D


No ma è normale ce si blocchi:
Codice:
[COLOR=#333333]scanf ("%d");
è incompleto, lo scanf deve mettere la variabile appena digitata da qualche parte, e si blocca, attendendo di sapere dove!
Codice:
scanf("%d", &pippo);
infatti come ha detto signore del tempo, è corretto[/COLOR]
 
comunque in C++ è molto meglio:
Codice:
#include <iostream>
using namespace std;

int main () {
int pippo;
cout <<"Inserisci il valore:";
cin >>pippo;
if (pippo > 8) {
cout <<"Pippo è maggiore di 8";
} else {
cout <<"Pippo è minore di 8";
}
}
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top