PDA

View Full Version : Aiuti C++ (prime armi)


Raphael94
23-01-2011, 14:31
Salve,
Interessato al mondo della programmazione ho iniziato a guardare un pò in giro per capire come funziona, e ho cominciato con il C++

Solo che cercando di compilare i mini-programmi che ho provato a scrivere, mi da un errore che non riesco a capire (e i risultati su google non li riesco a capire :muro:)

posto il "programma" e l'errore

/* Programma per il calcolo della media di due numeri */

#include <stdio.h>
#include <iostream.h>

main()
{
long int n1;
long int n2;
long int media;

printf("Inserire primo numero e premere INVIO:"); //Input n1//
scanf("%d",& n1); //Lettura n1//

printf("Inserire secondo numero e premere INVIO:"); //Input n2//
scanf("%d",& n2); //Lettura n2//

media = ( n1 + n2 ) / 2 ; //Calcolo media//

printf("La media dei numeri inseriti è: %dn ,media"); //Output media//

return(0); //Fine programma//
}

1>------ Inizio compilazione: Progetto: Media 2 numeri, Configurazione: Debug Win32 ------
1>Compilazione avviata 23/01/2011 22:20:09.
1>InitializeBuildStatus:
1> Aggiornamento timestamp di "Debug\Media 2 numeri.unsuccessfulbuild".
1>ManifestResourceCompile:
1> Tutti gli output sono aggiornati.
1>LINK : error LNK2001: simbolo esterno _mainCRTStartup non risolto
1>D:\Users\Raff\Documents\Visual Studio 2010\Projects\Media 2 numeri\Debug\Media 2 numeri.exe : fatal error LNK1120: 1 esterni non risolti
1>
1>Compilazione NON RIUSCITA.
1>
1>Tempo trascorso 00:00:00.17
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========


Settando "configurazione selezione" su "release" la compilazione va a buon fine ma non c'è nessun eseguibile, mettendo invece "debug" appare quest'errore.

Uso il trial di Microsoft Visual Studio 2010 Professional

tuccio`
23-01-2011, 14:34
ma qual è l'errore scusa?

Raphael94
23-01-2011, 14:35
Ho postato male, correggo subito

Raphael94
23-01-2011, 22:29
up

Supdario
24-01-2011, 13:58
Ho applicato una serie di correzioni al tuo codice:

#include <stdio.h>
#include <iostream>

int main()
{
long int n1;
long int n2;
long int media;

printf("Inserire primo numero e premere INVIO:"); //Input n1
scanf("%ld",& n1); //Lettura n1

printf("Inserire secondo numero e premere INVIO:"); //Input n2
scanf("%ld",& n2); //Lettura n2

media = ( n1 + n2 ) / 2 ; //Calcolo media

printf("La media dei numeri inseriti è: %d\n ,media"); //Output media

return 0; //Fine programma
}

1) La libreria è <iostream> e basta, non <iostream.h>
2) "main" restituisce un int, e dev'essere definito come tale

Queste erano le cose più gravi, poi c'è anche:
3) Dato che hai definito i tipi di variabili come "long int", nello scanf devi aggiungere una "l" per identificare il tipo long.
4) Per i commenti non serve mettere i // finali, ci sono 2 modi:
//Commento che copra tutta la linea
/*Commento delimitato*/

In ogni caso questo non è C++, ma è C con l'inclusione delle librerie del C++. :asd: