Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
[C++] Errore "stdio.h"
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 18 Feb 2009 17:49    Oggetto: [C++] Errore "stdio.h" Rispondi citando

Salve.

Premetto che ho appena iniziato ad usare il C++, per ora ho voluto fare un programma che mi fa semplicemente la somma di due numeri inseriti in input dall'utente, in codice è questo:
Codice:

#include "stdio.h"
int a,b,ris;
main()
{
 printf("Inserisci il primo numero/n");
 scanf("%d",&a);
 printf("Inserisci il secondo numero/n");
 scanf("%d",&b);
 ris=a+b;
 printf("La somma tra 'a' e 'b' e' %d)",ris);
}

Mi da errore alla prima righa ( #include "stdio.h" ), ho pensato che il file stdio.h non esistema, ma esiste, quindi non saprei, mi da questo errore:
Codice:

[C++ error] somma.cpp(1): E2209 Unable to open include file 'STDIO.H'


Come posso risolvere?
Top
Profilo Invia messaggio privato HomePage
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 18 Feb 2009 18:05    Oggetto: Rispondi citando

usa:
Codice:

#include <stdio.h>

invece di
Codice:

#include "stdio.h"

tieni conto che la printf è una funzione di c e non di c++ però.
Top
Profilo Invia messaggio privato
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 18 Feb 2009 18:09    Oggetto: Rispondi citando

Provato. mi da lo stesso errore.
Top
Profilo Invia messaggio privato HomePage
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 18 Feb 2009 18:27    Oggetto: Rispondi citando

Puoi fornire la versione di compilatore che usi?
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11810
Residenza: Tokelau

MessaggioInviato: 18 Feb 2009 18:29    Oggetto: Rispondi citando

freemind ha scritto:
tieni conto che la printf è una funzione di c e non di c++ però.


a me sembra tutto C Wink
Top
Profilo Invia messaggio privato HomePage
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 18 Feb 2009 19:08    Oggetto: Rispondi citando

freemind ha scritto:
Puoi fornire la versione di compilatore che usi?

Che editor uso?

Cmq come editor uso Boirland C++ alla versione 5.0.

Ma cmq credo il problema non sia quello, visto che mi hanno detto in gilo che C++ incorpora anche il C.
Top
Profilo Invia messaggio privato HomePage
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 18 Feb 2009 20:29    Oggetto: Rispondi citando

Risolto. avevo messo l'interi prima della funzione main()

P.S: scusate se non ho modificato il post, non sò perche non me lo ha fatto modificare.
Top
Profilo Invia messaggio privato HomePage
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 18 Feb 2009 21:11    Oggetto: Rispondi citando

SverX ha scritto:
freemind ha scritto:
tieni conto che la printf è una funzione di c e non di c++ però.


a me sembra tutto C Wink

Ok, intendevo quello ma mi ero focalizzato sulla printf Prrr

sevenjeak ha scritto:

Che editor uso?

Cmq come editor uso Boirland C++ alla versione 5.0.

Ma cmq credo il problema non sia quello, visto che mi hanno detto in gilo che C++ incorpora anche il C.

Non è vero, dipende dal compilatore. Comunque i compilatori C++ di Borland compilano anche il C.

Però è strano che il C++ 5.0 ti dia l'errore posizionando globali le variabili.
Potrebbe essere che hai qualche impostazione "strana" nell'ambiente di sviluppo.
(qualche vecchia versione ci C, mi par di ricordare, prevedeva una sintassi un po' diversa per le var globali... è passato un bel po' di tempo da quei tempi...)
Top
Profilo Invia messaggio privato
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 18 Feb 2009 22:13    Oggetto: Rispondi citando

freemind ha scritto:

Però è strano che il C++ 5.0 ti dia l'errore posizionando globali le variabili.

Che intendi dire con " posizionando globali le variabili "?
Top
Profilo Invia messaggio privato HomePage
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 18 Feb 2009 23:01    Oggetto: Rispondi citando

In c e c++ una variabile è visibile dal punto in cui è dichiarata in poi.
Posizionare la dichiarazione di una var prima del main (ed eventualmente prima dei prototipi delle funzioni definite dallo sviluppatore) implica creare una variabile globale.
Esempio:
Codice:

#include <stdio.h>
int y;

void funzione();

int main()
{
   int x=5;
   
   printf("x vale %d\n",x);   
   
   funzione();
   
   return 0;
}

void funzione()
{
   int x=13;
   
   printf("x dentro funzione vale %d\n",x);   
}

Le variabili x dentro a main() e dentro a funzione sono dette variabili locali perchè finiscono di esistere con la terminazione della funzione.
Se esegui il programmino vedrai che la prima printf stamperà 5 e l'altra (quella dentro a funzione()) stamperà 13. Ogni variabile non ha nulla a che vedere con l'altra.
y invece che è definita fuori dal main e prima del proto di funzione() è visibile a tutto il programma: viene detta quindi variabile globale e termina la sua vita quando il programma finisce.
In C e C++ y viene in automatico inizializzata a zero, il valore di default degli interi definiti globali; se invece le x dentro a main e a funzione non fossero inizializzate allora non sapremmo che cosa le printf butterebbero fuori.
Nel caso dentro le funzioni venisse definita una var y, questa "nasconderebbe" quella globale.

P.S.
Non so se il programma ti si compila visto il problema che avevi quando hai aperto il 3d

P.P.S
Non ho provato il codice
Top
Profilo Invia messaggio privato
sevenjeak
Semidio
Semidio


Registrato: 04/02/08 22:05
Messaggi: 308
Residenza: Roma

MessaggioInviato: 19 Feb 2009 22:02    Oggetto: Rispondi

Ora ho capito, cmq ora non ho tempo di provarlo, lo provero quando avro tempo.
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi