Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Introduzione C++
Forum - C/C++ - Introduzione C++

Avatar
MirkoDistefano (Normal User)
Pro


Messaggi: 119
Iscritto: 10/02/2013

Segnala al moderatore
Postato alle 2:01
Lunedì, 08/04/2013
Salve a tutti,
fino ad ora ho sempre programmato su un computer Windows in VB.Net su Visual Basic Express 2010.
Ho da poco comprato un Mac, e vorrei imparare a programmare in C++. Premetto che il mio intento sarebbe quello di programmare software multipiattaforma in C++ con interfaccia grafica.
Con questo intendo, la mia domanda era da dove potrei cominciare.
Ho appena installato XCode e quando creo un nuovo progetto mi dice di scegliere il tipo tra:

Cocoa Application  -  Cocoa-AppleScript Application  -  Command Line Tool

Che differenza c'è tra i tre tipi. Visto che il mio intento è programmare Multipiattaforma con GUI.
Vi chiedo una spiegazione passo passo e semplificata in quanto sono stato abituato a programmare su Visual Basic Express dove prendi un Button e lo trascini in un Form xD
Grazie in anticipo per la risposta.

P.S. Non per forza devo usare XCode, ma va bene anche qualche altro IDE.



Un buon bugiardo deve avere una buona memoria
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 3:29
Lunedì, 08/04/2013
Testo quotato

Postato originariamente da MirkoDistefano:

Salve a tutti,
fino ad ora ho sempre programmato su un computer Windows in VB.Net su Visual Basic Express 2010.
Ho da poco comprato un Mac, e vorrei imparare a programmare in C++. Premetto che il mio intento sarebbe quello di programmare software multipiattaforma in C++ con interfaccia grafica.
Con questo intendo, la mia domanda era da dove potrei cominciare.
Ho appena installato XCode e quando creo un nuovo progetto mi dice di scegliere il tipo tra:

Cocoa Application  -  Cocoa-AppleScript Application  -  Command Line Tool

Che differenza c'è tra i tre tipi. Visto che il mio intento è programmare Multipiattaforma con GUI.
Vi chiedo una spiegazione passo passo e semplificata in quanto sono stato abituato a programmare su Visual Basic Express dove prendi un Button e lo trascini in un Form xD
Grazie in anticipo per la risposta.

P.S. Non per forza devo usare XCode, ma va bene anche qualche altro IDE.




Lascia stare XCode, è pesante e poi, se non ricordo male, è ottimizzato solo per Object-C! Usa un semplice Editor di testi per ora!

1° Hai qualche base di C/C++, almeno i tipi di variabili?
2° Hai già provato a scrive un piccolo programma(anche un semplice Hello World) in C/C++?
3° C/C++ non è facile come VB.NET!

Ti mostro un Hello World in C++:
Codice sorgente - presumibilmente C++

  1. #include <iostream> // Richiama le librerie
  2. #include <stdio.h> // Richiama le librerie
  3.  
  4. using namespace std; // Dice di usare il namespace std
  5.  
  6. int main(int argc, char *argv[]) // In VB.NET è uguale a Sub Main
  7. { // La parentesi graffa aperta dice che da qui iniziano le istruzioni
  8.         char c; // Inizializzo una variabile c con tipo char
  9.         cout << "Hello World!" << endl; // cout scrive a schermo quello che c'è dopo << e endl fa andare a capo
  10.         c = getchar(); // Questa quando viene premuto un tasto, scrive il valore sulla variabile "c"
  11.         while(c != '\n'); // Questo è un ciclo infinito che dice: Finché "c" è diversa da "INVIO" allora continua a controllare la variabile "c", altrimenti vai alla prossima linea
  12.         return 0; // Questo ritorna "0", cioè chiudi il programma senza errori!
  13. } // Qui finiscono le istruzioni, dopo di questa non è più possibile inserire istruzioni...tipo End Sub



Quel using namespace std; serve per abbrebiare il codice, se non si metteva allora il codice diventava così:
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.         char c;
  7.         std::cout << "Hello World!" << std::endl; <-- Qui la modifica
  8.         c = getchar();
  9.         while(c != '\n');
  10.         return 0;
  11. }



In questo codice è poca roba, ma pensa un codice dove ci devono essere 20 o più cout e endl! Diventa un casino per chi lo programma e per li lo deve leggere!

Di sicuro non è la spiegazione migliore, ma è una spiegazione! :k:

P.S: int main(int argc, char *argv[]) è qualcosa di più di un semplice sub main! Se vai ad eseguirlo da Terminale, puoi fare una cosa del genere:
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.         char c;
  9.         cout << argv[1] << endl;
  10.         c = getchar();
  11.         while(c != '\n');
  12.         return 0;
  13. }



Tu nel terminale scrivi: main Hello, lui a schermo di scriverà Hello! :heehee:
Comunque ti consiglio di comprarti un libro o scaricarti da internet un pdf gratuito(:nono: illegale) sulle basi del C++!

Ti posso dare delle dritte:
Cerca su internet Compilatore C++ per Mac!
Editor di testi C++ con highlight text (colora il codice, tipo #include <>, char, while, return, etc.)
E poi http://lmgtfy.com/?q=PDF%3A+Basi+C%2B%2B#!
Ciao :k:


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote
Avatar
MirkoDistefano (Normal User)
Pro


Messaggi: 119
Iscritto: 10/02/2013

Segnala al moderatore
Postato alle 11:03
Lunedì, 08/04/2013
Ciao intanto grazie per la risposta.
Comunque si, per ora so fare solo qualcosa di semplicissimo. Variabili, Ciclo For Next, Ciclo While ecc..
Comunque volevo sapere che cos è l'Objective C?
Che cos è Cocoa Application?

Mi sono scaricato dall' App Store come editor "TextWrangler" che dovrebbe riconoscere anche il C++.
Poi mi sono scaricato come compilatore "gcc".
Solo che quando salvo un progetto su TextWrangler ad esempio:

Hello.c (e lo salvo nella scrivania)

Come devo fare per compilarlo?Devo scrivere qualcosa nel terminale?Devo impostare qualcosa su gcc?


Un buon bugiardo deve avere una buona memoria
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 20:16
Lunedì, 08/04/2013
L'object C è un'estensione a oggetti del C! C'è una bella spiegazione su Wikipedia!

gcc è per il C, tu devi usare il g++!

E poi l'estensione file .c è per il C, tu devi dare l'estensione .cpp

Comunque vai nel terminale e inserirsci
Codice sorgente - presumibilmente Plain Text

  1. cd /* il percorso per la scrivania */
  2. g++ Hello.cpp -o Hello



Se la compilazione è andata a buon fine(senza errori), sulla scrivania ti comparirà il file Hello(eseguibile), allora da terminale digita
Codice sorgente - presumibilmente Plain Text

  1. ./Hello "qui vanno gli argomenti(se il programma li richiede)"


:k:

Ultima modifica effettuata da LittleHacker il 08/04/2013 alle 20:16


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote
Avatar
MirkoDistefano (Normal User)
Pro


Messaggi: 119
Iscritto: 10/02/2013

Segnala al moderatore
Postato alle 20:52
Lunedì, 08/04/2013
Potresti spiegarmi invece cosa sono le librerie GUI? E se cambiano in base al sistema operativo


Un buon bugiardo deve avere una buona memoria
PM Quote
Avatar
MirkoDistefano (Normal User)
Pro


Messaggi: 119
Iscritto: 10/02/2013

Segnala al moderatore
Postato alle 21:29
Lunedì, 08/04/2013
Potresti darmi il tuo indirizzo Msn se lo hai, cosi posso chiederti più velocemente :D


Un buon bugiardo deve avere una buona memoria
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 2:06
Martedì, 09/04/2013
Testo quotato

Postato originariamente da MirkoDistefano:

Potresti darmi il tuo indirizzo Msn se lo hai, cosi posso chiederti più velocemente :D



Questo lo dovresti chiedere in PM! :ot: Comunque ti ho inviato un PM con il mio indirizzo Msn, però domani non so se sarò disponibile, ti invierò un PM se sarò disponibile :k: :ot:


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote