Qual è l errore in questo programma?
#include
#include
main ()
{
int numero1, numero2, somma
printf("inserisci il primo numero\n");
scanf("%d\n" , &numero1);
printf("inserisci il secondo numero\n");
scanf("%d" , &numero2);
somma = numero1 + numero2 ;
printf("la somma è%d\n" , somma);
system ("PAUSE");
return 0;
}
#include
main ()
{
int numero1, numero2, somma
printf("inserisci il primo numero\n");
scanf("%d\n" , &numero1);
printf("inserisci il secondo numero\n");
scanf("%d" , &numero2);
somma = numero1 + numero2 ;
printf("la somma è%d\n" , somma);
system ("PAUSE");
return 0;
}
Risposte
Per prima cosa utilizza il tag code per inserire in modo da renderlo più leggibile.
Ci sono poi diversi errori nel programma, anche se probabilmente il tuo compilatore ha problemi principalmente con la mancanza del punto e virgola alla fine della riga seguente.
Venendo invece ad altro:
1. Nel C++ moderno le librerie standard si includono senza scrivere .h alla fine e, nel caso di librerie provenienti dal C, inserendo una c prima del nome. Inserendo le librerie in questo modo tutte le funzioni/classi vengono inserite nel namespace std ed è quindi necessario inserire la riga
oppure, MEGLIO, inserire std:: prima delle funzioni o classi incluse da questa libreria.
2. Se una libreria non viene usata, non ha senso inserirla. NON USI iostream e quindi non ha senso includerla. Quando invece ci sono funzioni di una qualche libreria che vengono usate è NECESSARIO inserire tale funzione. system è definita in stdlib ed è quindi necessario inserire tale libreria!!!
3. In C++ il main DEVE restituire int e questo tipo non viene più inserito di default come nel vecchio C (nel C moderno ci sono simili restrizioni). Per cui devi per forza scrivere
4. system NON andrebbe usata per scopi così futili.
Direi che per il momento è tutto. Il codice corretto dovrebbe essere (C style..):
oppure usando iostream e uno stile più da C++:
somma non è necessaria come variabile.
Ci sono poi diversi errori nel programma, anche se probabilmente il tuo compilatore ha problemi principalmente con la mancanza del punto e virgola alla fine della riga seguente.
int numero1, numero2, somma
Venendo invece ad altro:
1. Nel C++ moderno le librerie standard si includono senza scrivere .h alla fine e, nel caso di librerie provenienti dal C, inserendo una c prima del nome. Inserendo le librerie in questo modo tutte le funzioni/classi vengono inserite nel namespace std ed è quindi necessario inserire la riga
using namespace std;
oppure, MEGLIO, inserire std:: prima delle funzioni o classi incluse da questa libreria.
2. Se una libreria non viene usata, non ha senso inserirla. NON USI iostream e quindi non ha senso includerla. Quando invece ci sono funzioni di una qualche libreria che vengono usate è NECESSARIO inserire tale funzione. system è definita in stdlib ed è quindi necessario inserire tale libreria!!!
3. In C++ il main DEVE restituire int e questo tipo non viene più inserito di default come nel vecchio C (nel C moderno ci sono simili restrizioni). Per cui devi per forza scrivere
int main()
4. system NON andrebbe usata per scopi così futili.
Direi che per il momento è tutto. Il codice corretto dovrebbe essere (C style..):
#include <stdio.h> int main() { /* è sempre preferibile inizializzare tutte le variabili... */ int numero1 = 0, numero2 = 0, somma = 0; printf("Inserisci il primo numero.\n"); scanf("%d", &numero1); printf("Inserisci il secondo numero.\n"); scanf("%d", &numero2); somma = numero1 + numero2; printf("La somma e' %d.\n" , somma); return 0; }
oppure usando iostream e uno stile più da C++:
#include <iostream> int main() { /* è sempre preferibile inizializzare tutte le variabili... */ int numero1 = 0, numero2 = 0, somma = 0; std::cout << "Inserisci il primo numero.\n"; std::cin >> numero1; std::cout << "Inserisci il secondo numero.\n"; std::cin >> numero2; somma = numero1 + numero2; std::cout << "La somma e' " << somma << std::endl; return 0; }
somma non è necessaria come variabile.