Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    chiarimenti sul primo programma in C

    ho letto da poco un manuale di c++...
    adesso stò leggendo un manuale del c(ansi),
    e spiega come fare il primo programma: il solito ciao mondo...
    e dice di fare così:
    #include <stdio.h>
    main()
    {printf("ciao mondo\n");}

    dice che si fa così...lo metto su codeblocks e non solo mi dà errore ma mi fa delle correzioni senza che io gli dicessi niente:
    mi aggiunge la libreria <stdlib> e mi mette return 0 sotto il comando printf, mi cambia la scritta "ciao mondo" in "hello world" e non so perchè mi continua a dare errore sull'apertura della parentesi graffa sotto al main...
    in c++ si scrive invece in maniera diversa,
    dopo il comando di output (cout<<"ciao mondo") si scrive system("pause")per non arrestare immediatamente il programma e poi return 0 per poi chiudere il main...
    dopo questo allora mi sorgono delle domande...sbaglia il libro oppure sbaglia codeblocks a correggermi quelle cose da solo??
    prima del main non ci va "int"? il comando system("pause") è lo stesso nel c?(anche se non lo scrive nel libro)
    return 0 ci va lo stesso nel c?(anche se manco questo è scritto nel libro)
    mi consigliate un'altro compilatore?(si può implementare il c in visualstudio?)
    non mi dite il dev come compilatore perchè ormai essendo un progetto abbandonato è molto indietro...
    grazie a tutti
    Notebook Toshiba: Windows 8.1, Windows 10

  2. #2
    Cioa,

    Printf("ciao mondo\n");
    è tipicamente ANSI C

    cout<<"ciao mondo";
    è tipicamente C++

    codeblocks non l'ho mai usato e non saprei dirti come si fa ma probabilmente devi solo dirgli che vuoi compilare ANSI C e non C++, così lui lo sa e non ti corregge

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    14
    Ciao!!!
    Innanzitutto ottimo scelta l'approccio al c++.
    Riguardo la scelta del compilatore e dell'ide secondo me codeblocks con il mingw è perfetto,
    e riguardo al frammento di codice che hai postato. Un programma "Hello World" o "Ciao mondo"
    in c++ su può scrivere in questa maniera
    codice:
    #include <iostream>
    
    using namespace std;
    
    int main (){
    
    cout << "Hello World" << endl;
    
    system("PAUSE");
    
    return 0;
    
    }
    Io come esperienza personale posso dirti che codebloks+mingw (scaricato da http://www.codeblocks.org/downloads/26#windows versione da 74 mb) è perfetto (addirittura le ultime due istruzioni del codice che ti ho postato non sono necessarie, ferma l'output in automatico). In più come manuale da seguire ti consiglio qualcosa della mcGraw oppure c++ for dummies che sono i migliori secondo me. Se hai quei problemi prova a disinstallare tutto il pacchetto che hai installato e reinstallarlo con il pacchetto che ti ho detto io. Vedi se in quel modo va.
    Un saluto

  4. #4
    mi sa che non avete capito
    in c++ lo so fare il programma... ansi... ho fatto un sacco di cose... i vettori, le matrici, for, if e via dicendo...
    io volevo chiarimenti sul c(ansi)
    nonostante su codeblocks creo un progetto per il c e metto il codice per il programma in c, che ho citato prima...
    mi dà quegli errori lì...
    volevo sapere perchè mi da quegli errori lì (se sbaglia codeblocks), e poi volevo chiedere se i comandi system ("pause") e return 0 (che fanno parte del c++ valgono anche per il c)
    Notebook Toshiba: Windows 8.1, Windows 10

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non si può dire che

    return 0

    faccia "parte" del C++ ...

    E' l'istruzione classica del C per restituire un valore da una funzione.
    Anche dal main (che è una funzione) e che dovrebbe essere

    int main

    e quindi restituire un valore.

    Anche

    system("PAUSE")

    non c'entra direttamente con il C++ (nè con il C) ma serve solo (tramite una istruzione di DOS, quindi solo nell'ambito di Windows) a garantire una pausa prima della chiusura della finestra in cui viene visualizzato l'output di un programma. Ma non è affatto necessaria dato che il programma stesso lo puoi direttamente eseguire in finestra.

    E' singolare che tu abbia affrontato il C++ e dopo il C, ma non dovresti avere tutti questi dubbi ...

    Il fatto che il codeblocks ti presenti del codice d'esempio (di default) non ti impedisce di ignorarlo, eliminarlo e scriverci il tuo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    i programmi che creo sono da console e se non metto system("pause") esce subito senza neanche farmi vedere che ho fatto quindi è indispensabile...visto che ci siamo... system("pause") e return 0 visto che sono funzioni legate a windows... come faccio a metterle su linux...
    comunque codeblocks (quello con mingw da 74mb) quando lo faccio partire la prima volta mi chiede il compilatore ma non c'è mingw...
    Notebook Toshiba: Windows 8.1, Windows 10

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da dario2588
    i programmi che creo sono da console e se non metto system("pause") esce subito senza neanche farmi vedere che ho fatto quindi è indispensabile...visto che ci siamo...
    Non è indispensabile se, come ti ho detto, provi i programmi da console ...

    Cioè, apri una console o finestra DOS, come preferisci (comando cmd), vai nella cartella dell'eseguibile e lo lanci.

    return 0
    Mai detto che sia legata a Windows ... fai un po' di confusione ... è necessaria perché la funzione main è di tipo int.

    come faccio a metterle su linux...
    La system("PAUSE") non la devi inserire su Linux ... ripeto, è solamente utile quando la utilizzi nell'IDE da Windows ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    quindi per non mettere return 0 come lo dichiaro il main?
    (comunque io gli exe non li faccio mai partire dal dos ma li compilo e li eseguo dal compilatore, ecco perchè per me è essenziale)
    comunque secondo te codeblocks va bene per il c?? a me da un sacco di errori...bho... e usare mingw con codeblocks non si può perchè se scarico la versione di codeblock con mingw, quando lo faccio partire all'inizio mi dice di scegliere il compilatore... e mingw non c'è tra i presenti...
    Notebook Toshiba: Windows 8.1, Windows 10

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da dario2588
    quindi per non mettere return 0 come lo dichiaro il main?
    Se una funzione restituisce un intero allora devi scriverlo ...

    int main()

    Ma in C++ è la stessa cosa e dici di averlo studiato ...

    (comunque io gli exe non li faccio mai partire dal dos ma li compilo e li eseguo dal compilatore, ecco perchè per me è essenziale)
    Non si eseguono dal "compilatore" ma dall'IDE ... adesso non sono sicurissimo sul tasto perché non l'ho installato, ma se utilizzi F9 pensa l'IDE a mantenere la console aperta e quindi non hai bisogno della system ...

    comunque secondo te codeblocks va bene per il c?? a me da un sacco di errori...bho...
    Certo che va bene, come altri ambienti e compilatori ... basta saperlo installare ed utilizzare ... ma vale per tutti gli ambienti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225

    Re: chiarimenti sul primo programma in C

    Originariamente inviato da dario2588
    ...
    prima del main non ci va "int"?
    ...
    in C, se non indichi esplicitamente il tipo, la funzione è supposta ritornare un int

    ciao
    sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.