Newsgroup: it.comp.lang.c++
Titolo: Ho del codice e non so che farmene

Ciao a tutti,
sto cercando di imparare il c++ ma la strada non è facile.
Sto leggendo il libro "C++" terza edizione di bjarne Stroustrup e da 
quel che posso vedere è tutt'altro che un manuale semplice.
Mi trovo a pagina 27 e qui iniziano i problemi ho questo codice e non so 
che farmene
bool accept(){
     cout << "Vuoi procedere (s o n)? \n";
     char answer = 0;
     cin >> answer;
     if (answer =='s') return true;
return false;
}
Ovviamente non funziona quindi ho provato a trasformarlo in
# include <iostream>
using namespace std;
int main(){
     cout << "Vuoi procedere (s o n)? \n";
     char answer = 0;
     cin >> answer;
     if (answer =='s') return true;
return false;
}
Ma il programma si chiude immediatamente.
Che cosa devo fare per farlo funzionare?
Scusatemi per l'ignoranza.
Lele

Ti traduco ciò che c'è scritto:
Caso 1:
Funzione:
Chiedi all'utente se vuole procedere se preme s e invio ritorna true 
(VERO) altrimenti fasle (FALSO); questa la puoi utilizzare nell'int main 
in questo modo:
if(accept())
	cout<<"Hai accettato";
Caso 2:
Chiedi all'utente se vuole procedere se si chiudi il programma con 
"Numero di chiusura" (Non so quale sia la vera traduzione in italiano) 1 
altrimenti chiudi il programma lo stesso ma con numero di chiusura 0;
Se il C++ lo devi imparare ti conviene comprarti un bel libro, Prendi 
qualcosa della Apogeo che è moolto semplice e non devi sbarellare o 
perderci la vita appresso per capirci qualcosa.
Se lo devi fare come hobby puoi sbatterti a cercare su internet... Ma me 
la sento dal cuore di consigliarti di cambiare Hobby...
Ciau
Lele ha scritto:


 Ma me la sento dal cuore di consigliarti di cambiare Hobby...
ehehhehe non lo prendo neanche in considerazione questo consiglio :-) . 
Mi piace MOLTO l'informatica e non ho intenzione di ritirarmi davanti 
alla prima difficoltà
Ciao
Lele

 MAI a chi da solo vuol imparare e non ha un professore di fianco!!
secondo me stai giudicando male il tuo libro (e l'autore) senza 
nemmeno rendertene conto.
Lo Stroustrup è un libro orientato ad un certo target di persone 
(programmatori essenzialmente) che quindi ha da subito un 
livello alto e a volte sconfina in considerazioni di tipo 
filosofico o di design, accennando alla struttura del codice 
adatto senza perdersi nei singoli dettagli per filo e per segno 
laddove considerati ovvi (e non per tutti lo sono). Non si 
prefigge di insegnare con cura particolare il concetto di 
"funzione" nei termini generali o tantomeno la differenza tra 
una qualsiasi funzione e "main" (o magari sottolinea alcuni 
aspetti di main dove, si, dice grossomodo cosa "fa", ma poi 
spiega in che senso si può considerare realmente punto di 
ingresso e uscita dell'esecuzione, magari per svelare il lavoro 
dietro le quinte di codice di inizializzazione e chiusura 
trasparente, o come agganciare handler vari per uscita con 
eccezioni, etc).
Quindi hai un ottimo libro, ma è troppo presto per te studiare 
quello se hai la pretesa di compilare e smanettare da subito. Se 
invece hai un due mesi di puro studio a disposizione, le cose 
cambiano.
ciao
Soviet


 alla prima difficoltà
Alla 3178° difficoltà ne riparliamo ^_^
Seriamente, stai cominciando in modo pessimo.
Il C++ come primo linguaggio non è una buona idea: molto meglio python o 
Delphi o C#. Magari pure Java, ma meno...
Se vuoi proprio incaponirti col C++, a parte cambiare tipologia di testi 
come ti dicevano prima, io ti consiglierei anche di usare un RAD e di 
non cercare di fare tutto a mano su programmini da console. Scaricati 
Borland C++Builder 3.0 (è gratis) e comincia con quello...

 Quindi hai un ottimo libro, ma è troppo presto per te studiare quello
 > se hai la pretesa di compilare e smanettare da subito. Se invece hai 
un due
 > mesi di puro studio a disposizione, le cose cambiano.
Io sono una persona che prima vuole "toccare con mano" e dopo si spara 
tonnellate di cose filosofiche.
Grazie per la tua disponibilità.
Ciao
Lele

 o ti consiglierei anche di usare un RAD
Che cosa è mi puoi illuminare?
 > Scaricati Borland C++Builder 3.0 (è gratis) e comincia con quello...
Che cosa è un suite di programmazione vero? Puo essere una cosa simile 
al dev-c++
Ciao
Lele

 tonnellate di cose filosofiche.
beh, è una scelta.
MA considera quasi certo che lo toccherai e non ti piacerà. Del 
resto se io tocco un violino, che non so suonare, esso mi 
rimanda dei suoni orripolanti che mi convincono a lasciarlo 
stare. Ma il problema è mio, non dello strumento. Non lo ho 
studiato a lungo, quindi non ne riesco a trarre quello che PUO' 
dare. Perchè il C++ può darti praticamente tutto quello che SAI 
tirarci fuori, alcuni suoi limiti vengono fuori solo quando si 
chiedono cose davvero piuttosto strane.
ciao
Soviet


 al dev-c++
RAD = Rapid Application Development. E' un concetto, ma per estensione 
si chiamano RAD anche gli ambienti che lo consentono. Il VB è un RAD, 
Delphi è un RAD, ABAP è un RAD (credo).
Il Dev-C++ è solo un IDE (a meno che non comprenda anche l'editor 
visuale per wxWidgets, nel qual caso possiamo considerarlo un RAD 
anch'esso). Sono piuttosto vituperati dai programmatori "duri e puri" 
perchè di solito implicano un framework che ti solleva di parecchie 
incombenze, e non ti fa venire a contatto con tutte quelle piccole 
piacevoli nozioni fondamentali per imparare a programmare, come per 
esempio sapere che CreateWindow() ha 14 parametri diversi e conoscerli 
uno per uno, o che WM_MOUSEBUTTONUP vale 0x0000004B... ;-)
Invece i RAD ti permettono di creare senza sforzo programmi che si 
comportano "bene" nei riguardi sia del sistema che dell'interfaccia 
verso l'utente, e di concentrarti sugli algoritmi, sui dati da trattare 
e sulla struttura del tuo programma invece di dover perdere giorni e 
giorni dietro a mille cazzatine che vista una le hai viste tutte, e non 
ti insegnano niente di utile (per inciso cin, cout e gli stream li 
impari lo stesso con la gestione delle stringhe e dei file, anche senza 
aprire una finestra di console e gestire input e output).
Secondo inciso: se il fatto di avere a che fare con un framework anzichè 
con le API nude e crude ti fa storcere il naso, sappi che _NESSUNO_ 
programma professionalmente in windows (o in Xwindows, o in OS_X se è 
per questo) solo a livello di API. Usano tutti un qualche tipo di 
framework. Mi ricordo gli anni scorsi su it.comp.programmare i puristi 
che disprezzavano sempre quelli che usavano i RAD, le MFC e/o altri 
framework... alla fine, qualche mese dopo la diatriba saltava fuori lo 
stesso tizio "io-uso-solo-API" di prima che annunciava di aver creato il 
SUO bellissimo perfettissimo framework per programmare sotto windows e 
che con quello, usare le API non era più necessario... !!! :-D

 quel che posso vedere è tutt'altro che un manuale semplice.
I libri che in assoluto mi hanno preso di più nella lettura (del tipo 
che mi dimenticavo di scendere dal treno alla stazione giusta) sono 
stati: il nome della rosa, il signore degli anelli e lo Stroustrup terza 
edizione. Solo che la traduzione in italiano lascia (come al solito) un 
po' a desiderare.
E.

 
non è certo un libro per iniziare a programmare in c++,
ti consiglio o
C++ fondamenti di programmazione di Deitel&Deitel (Apogeo)
o
Fondamentti di C++ di Cay Horstammnn (McGraw-Hill)
ciao
-- 
Andrea Corradi | Debian User | 
www.debian.org
Fingerprint: A41E F6B0 DBDB F04C 4940 E411 30F3 CD62 57B1 8458
gpg --keyserver 
keyserver.linux.it
 --recv-key 57B18458
Please avoid sending me Word or PowerPoint attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

 tempo fa ho scaricato da internet un libro gratis (cito a memoria ma forse mi sbaglio, non sono sicuro) : Bruce Eckel (o qualcosa di simile) : thinking in C++. 
Gran bel libro, inizia bene ma poi si perde in cose complicatissime. Ma 
per  ora è ancora la scelta migliore.
Ho trovato altra documentazione, in rete inizierò a leggerla sperando in 
bene
Nel caso trovassi problemi mi rivolgerò qui dove trovo sempre degli 
esperti disponibili.
Ciao
Lele

Ciao Massimo Soricetti,
grazie di tutte queste informazioni, ho ancora una curiosità con il c++ 
come si fa gestire la grafica inteso come textbox, bottoni e cose vare?
In vb era decisamente facile ma in c++?
Ciao
Lele

 o Fondamentti di C++ di Cay Horstammnn (McGraw-Hill)
Grazie per la dritta.
Ciao
Lele

Lele ha scritto:

In C++... NON si gestiscono nè textbox, nè bottoni, nè niente :-)
Se vuoi farlo da C++ nudo e crudo devi chiamare una serie di API di 
windows per ogni controllo che usi, il che come dicevo è una cosa lunga, 
noiosa e decisamente soggetta a errori e distrazioni. Ecco perchè tutti, 
dicevo, usano i RAD, i framework o almeno una serie di classi che 
facciano buona parte del lavoro spicciolo... quando dicevo che il VB è 
un RAD e il C++ no parlavo proprio della differenza che hai notato tu.
Ed è per questo che ti ho suggerito il C++Builder, che è un RAD per C++ :-)

 perderci la vita appresso per capirci qualcosa.
Qui siamo al consiglio dei libri per *casa editrice*. Pare ridicolo
scusa č.Un consiglio vuoto in modo terribile.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 come si fa gestire la grafica inteso come textbox, bottoni e cose vare?
Non si può. Non con la libreria standard. Devi usare una libreria
esterna. 
Ma personalmente credo che prima convenga imparare a programmare. 


 Ed č per questo che ti ho suggerito il C++Builder, che č un RAD per C++ :-)
Attenzione perň: buttarsi sulle GUI senza avere buone basi rischia di
essere inultilmente dispersivo.


Ed č per questo che ti ho suggerito il C++Builder, che č un RAD per C++ :-)
E che non utilizza praticamente nessuno :-) (parola di
(ex)utilizzatore).

MAI a chi da solo vuol imparare e non ha un professore di fianco!!
Ci pensano, invece. Lo sbaglio, semmai, è confidare sulle capacità di
ragionamento del lettore :-)  Il fatto è che il C++ non è adatto a chi
inizia a programmare.
In ogni caso, confermo la qualità del Lippman-Lajoie e ti consiglio di
prendere *sempre* i libri in lingua originale. Io posseggo la 3^
edizione ed ora sto leggendo l'ultima, la 4^, alla cui stesura si è
aggiunta anche Barbara Moo e che (si vede) è maggiormente orientato al
newbie di quanto non fosse l'edizione precedente (che era un po'
dispersiva, a dire il vero).
Altri ottimi testi sono quello di Stroustrup (che io non ho trovato
così ostico) e "Inside the C++ Object Model", che non so se si trovi
ancora in giro (è abbastanza vecchiotto), ma che dà un'idea di come si
muovano le cose dietro le quinte di questo linguaggio.

 (ex)utilizzatore).
In effetti non ne sento parlare molto, per cui non dev'essere tanto 
diffuso, perň non capisco perchč: a me pare un ottimo prodotto, facile 
da usare e molto efficace... io mi ci trovo magnificamente. Viceversa le 
poche volte che ho usato VC++ mi sono dannato l'anima, lo trovo 
assolutamente controintuitivo.

Ciao Massimo Soricetti,
Ok ti sono molto grato per tutto l'interesse che mi stai dando.
Levami un ultima curiosità un bel programma come Emule con una buona 
interfaccia grafica non mi sembra utilizzare qualche framework.
La stessa domanda te la faccio per enviroments GPE/OPIE sono delle 
interfacce grafiche che si appoggia ad un ambiente Linux per palmare
Confermi quello che detto?
Se si, hanno dovuto utilizzare le api nude e crude?
Ciao
Lele

 inizia a programmare.
E qui che casca l'ansino :-), quando una persona inizia a programmare 
non si può pretendete che sappia già tutto. Quindi dare per scontato 
cosa che non lo sono si commette un errore.
bool accept(){
     cout << "Vuoi procedere (s o n)? \n";
     char answer = 0;
     cin >> answer;
     if (answer =='s') return true;
return false;
}
Cosi com'è questo codice non può funzionare non voglio fare fare nessuna 
polemica. Per il resto sono consapevole che è un bellissimo libro, 
purtroppo non è adatto per chi per la prima volta si affaccia al mondo 
del c++. Come scritto negli altri post ho già programmato in altri 
ambienti anche se solo a livello base.
Grazie per l'interesse.
Ciao Lele

del c++.
E' quello che dicevo.

 Confermi quello che detto?
GPE/OPIE non le ho mai viste, quindi non ti so dire nulla.

 vedrai.
Non lo sapevo aahi me le mi conoscenze in .NET sono al di sotto dello zero
Ciao
Lele

 L'asino, semmai. L'ansino sarà la versione standard dell'asino ?
[OT] lol !
:-)
si riconosce anche dal classico verso :  I/O  !
P.S.
esiste anche l'ASCIINO ?
Soviet

vedrai.
Da cosa lo vedi ? ho i sorgenti davanti ma non mi sembra...

 Da cosa lo vedi ? ho i sorgenti davanti ma non mi sembra...
Oops... io ho emulePLUS e non emule normale, i sorgenti a cui mi 
riferivo erano quelli :#)

 Borland C++Builder 3.0 (è gratis) e comincia con quello...
Io aspetterei a lanciarmi sul RAD, anche se un buon ambiente integrato
aiuta. Non sono d'accordo su BCB 3.0 e' vecchio, bacatuccio ed il suo
compilatore e' veramente poco aderente allo standard.
Piuttosto allora Visual C++ 2005 Express, altrettanto gratuito, ma
molto piu' recente.
Ciao,
Nicola

 che con quello, usare le API non era più necessario... !!! :-D
Di nuovo, non e' questo il punto. Personalmente trovo il realizzare
GUI una tale rottura di scatole che senza un framework moderno
semplicemente non sono disposto neanche a cominciare ed in questo sono
d'accordo che la VCL Borland resta una libreria particolarmente
usabile. Il problema che descrivevo sopra esiste anche programmando
direttamente con una libreria di basso livello: sei costretto a
spendere il tuo tempo dietro alla libreria e non impari il linguaggio
come si deve.
Ciao,
Nicola
P.S. Se Borland (cioe', CodeGear) dev'essere almeno sia il nuovo Turbo
C++, che e' dell'anno scorso e non di dieci anni fa.

 ambienti anche se solo a livello base.
No, secondo me l'errore e' tuo che pretendi di bruciare le tappe. Il
paragrafo 2.2, subito prima del tuo esempio, dice a proposito del
capitolo corrente, che non a caso si intitola "A Tour of C++" (ho
l'edizione inglese): "The presentation of language features is not
exhaustive. The emphasis is on design approaches and ways of
organizing programs rather than on language details. At this stage, it
is far more important to gain an idea of what can be done using C++
than to understand exactly how it can be achieved."
Vedi? Il professore ce l'avresti, ma non lo ascolti ;-)
Ciao,
Nicola

 esiste anche l'ASCIINO ?
Solo in Arvernia ;-)
Ciao,
Nicola
P.S. Una birra alla prima persona che coglie la citazione :-)

 Lele