mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Re: [OT] Sulle FAQ

 beh, io sono decisamente a favore :)
Ok, vediamo gli altri...
Intanto potrei postare quella vecchia, siete d'accordo?
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg

 arricchirla man mano che vedo altre domande frequenti.
beh, io sono decisamente a favore :)
grazie
-- 
sbi

 indietro tutti... )
Potrei farlo io. Potrei partire dalla versione di cui sopra e
arricchirla man mano che vedo altre domande frequenti.
EMG


sbaglio o un tempo(un paio di anni fa?) venivano postate delle faq in 
questo ng?
Qualcuno č contrario al fatto che vengano postate su base mensile delle 
faq minimali che rispondano alle domande piů frequenti? ( tanto per 
lapidare la gente che fa le solite domande? )
Nel caso qualcuno si offrirebbe volontario per postarle? (un passo 
indietro tutti... )
-- 
sbi

 Ok, vediamo gli altri...
Io a favore.
-- 
RiK0
Non credo negli schemi non vincenti.

 Io a favore.
Intanto chiederei se qualcuno dei "vecchi" ha una versione piů recente
della mia. Intanto la posto nel prossimo messaggio.


Newsgroup: it.comp.lang.c++
Titolo: HELP ME!!!

Un calcolatore multilivello ha interpreti identici ai livelli 1,2 e
3.Questi,per interpretare un' istruzione, richiedono l'esecuzione di n
istruzioni.Determinare i tempi di esecuzione di un'istruzione ai livelli 2,3
e 4,sapendo che l'esecuzione a livello 1 richiede k nsec.
Grazie Mille!!!



una istruzione a livello 1 sono k nsec.
una istruzione a livello 2 sono n istruzioni a livello 1
una istruzione a livello 3 sono n istruzioni a livello 2
una istruzione a livello 4 sono n istruzioni a livello 3
...
suggerisce qualcosa ?
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 ha scritto nel messaggio
news:3a20e094...@news.interbusiness.it...

Sì.
L'abissale pigrizia di questo tizio.
Massimo

una istruzione a livello 4 sono n istruzioni a livello 3
Ma la soluzione allora è questa?
A "k" e a "n" dobbiamo assegnare valori a nostro piacimento?
Ipotizziamo che k = 4 e n = 5
il numero di istruzioni eseguite da ogni interprete, non è costante (aumenta
di 5 volte, 2° livello 20 sec, 3° livello 100 sec. etc..) perchè è un
calcolatore multilivello?
Perchè c'è questo "rapporto" 2->1 3->2 4->3? Ogni interprete per eseguire
un'istruzioni ha bisogno che il suo precedente le abbia terminato una serie?
Se i livelli sono 1 2 e 3, come si fa a determinare i tempi di 2 3 e 4? A
ogni livello si sottrae 1?
Grazie.
Luigi
-- 
Posted from [195.223.215.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

il numero di istruzioni eseguite da ogni interprete, non è costante...
Volevo dire il tempo di esecuzione di ogni istruzione.

Newsgroup: it.comp.lang.c++
Titolo: [OT] editor sorgenti c++

Scusate il leggero off-topic innanzitutto.
Volevo chiedervi qual'e' l'editor di sorgenti che preferite:
a me piace molto Jedit che pero' ha un piccolo difetto:
e' molto lento ad aprirsi.
L'ideale sarebbe qualcosa del genere ma un'attimino
piu' veloce.
Avete qualche consiglio da darmi?
Ho gia' provato Emacs ma non mi attira tanto
e su SciTE non riesco a cambiare il font.
ciao

di capirti.
ti sbagli: uso windowsXP anch'io. Emacs c'e' anche in
versione windows e mi era stato suggerito da un utente
Linux in effetti.
Provero' questo "crimson editor": grazie per la dritta.
ciao

 giusto per me.
Prova anche GVIM, la versione per windows e' "facilitata" nella 
configurazione di base, ma e` un editor che non ha paragoni come 
velocita` di lavoro una volta che ti impratichisci con la sua filosofia 
d'uso (doppio modo edit/comando), inoltre ha tutto quello che ci si 
aspetta da un editor moderno (syntax highlighting di svariate centinaia 
di linguaggi, word completion, auto-indent, viste multiple, tab, 
possibilita` di includerlo in un ide come VisualStudio o di farlo 
diventare un semi-ide lanciando il makefile e intercettando gli output 
degli errori se si usa mingw o simili...)
--
Bye,
  Gabry

 wrote in news:4783dc6e$0$36449
$
4faf...@reader5.news.tin.it
:

Io su Win, come editor di testo, utilizzo esclusivamente SciTE :
http://rsoftware.altervista.org/scite/
Quale problema hai, di preciso, con i font? 
Che font vorresti utilizzare?
-- 
Ciao.
Roberto Rossi
Web    : 
http://rsoftware.altervista.org

 Che font vorresti utilizzare?
Mah, nulla di particolare: un courier 10 per i font monospaced, anziche'
quello proposto (fixedsys mi pare).
Non riesco a trovare dove si cambia: trovo solo dove poter attivare e
disattivare i font monospace.
ciao

 
A me risulta che l'impostazione base di SciTE sia "Courier New,size:10". 
Comunque, per modificarlo apri il file 'SciTEGlobal.properties' e modifica 
questa linea :
    	font.monospace=font:Courier New,size:10
N.B.: bisogna porre attenzione a modificare l'impostazione 
'font.monospace' posta nella sezione PLAT_WIN e non quella in PLAT_GTK.
Quale versione di SciTE usi?
Ho appena finito un rapido controllo e ti confermo che, SciTE 1.75 (e 
quindi anche RSciTE) ha già questa impostazione di default.


    font.monospace=font:Courier New,size:10
[...]
Grazie per le info: sono riuscito a cambiare il font.
Come versione uso la 1.57 e di default il font monospaced e'
il Fixedsys.
ciao

 ciao
Quando scrivo codice su XP uso Notepad++, è carino ed è anche Free SW
Alex
Newsgroup: it.comp.lang.c++
Titolo: radix sort

Ciao a tutti,
ho una vaga idea di che cosa sia il radix sort, qualcuno saprebbe rendermela
meno vaga???
Ovviamente anche a parole (cioč: non č necessario in c++).
In pratica, io devo ordinare delle stringhe (diciamo: 100) con una certa
lunghezza (diciamo k caratteri, presi tra "a" e "h").
Grazie a tutti - saluti :-)
--
Marco Zanon (
m.z...@usa.net
)
http://www.geocities.com/SiliconValley/Peaks/6455
(BUY CDS AT THE LOWEST PRICES through my site!!!
Zamorano fan page, free MIDI mailing list, Music db...)

lunghezza (diciamo k caratteri, presi tra "a" e "h").
Ecco un approccio 'becero' ma corretto (usando ``stringhe'' che sono
in realta` array di caratteri con 0 come terminatore...):
struct radix_sort_trie {
    // un nodo del trie...:
    struct nodo {
        // nodi successori di stringhe con questa
        // come prefisso
        vector<nodo*> succ;
        // numero di stringhe che _terminano_ qui
        // (con questo nodo)
        int conteggio;
        nodo(): succ(8), conteggio(0) { }
    };
    // R numero di stringhe eguali a questa, >=1
    // (compresa questa nuova copia, che
    // contestualmente inserisce)
    int inserisci(const char* stringa) {
        return recins(&testa, stringa);
    }
    // R numero di stringhe eguali a questa, >= 0
    // (non modifica la struttura)
    int cerca(const char* stringa) const {
        return reccer(&testa, stringa);
    }
private:
    nodo testa;    // di per se rappresenta stringa vuota
    // data una lettera a..h torna un intero 0..7
    static int index(char c) {
        if(c<'a' || c>'h') throw bad_index;
        return c-'a;
    }
    // inserimento con recursione
    static int recins(nodo* n, const char* s) {
        if(!*s) // stringa finita
            return ++n->conteggio;
        int i = index(*s);
        if(!n->succ[i])
            n->succ[i] = new nodo;
        return recins(n->succ[i], s+1);
    }
    // ricerca con recursione
    static int reccer(const nodo*n, const char* s) {
        if(!*s) return n->conteggio;
        int i = index(*s);
        if(!n->succ[i]) return 0;
        return reccer(n->succ[i], s+1);
    }
};
Naturalmente non e` difficile eliminare queste recursioni
in coda, collassare reccer e recint in una sola funzione,
ecc ecc, ma penso che questa presentazione sia + chiara.
Questo "radix-sort trie" usa il concetto base del radix
sort, che e` quello di usare gli elemento delle stringhe
che stiamo sortando come indici in opportuni array,
per dare delle stringhe stesse una rappresentazione
particolare (ogni stringa e` rappresentata in modo
implicito dalla sequenza di nodi; ogni nodo rappresenta
una lettera di un mazzetto di stringhe accomunate
dall'avere eguale prefisso) tipica appunto dei "trie".
Alex

 wrote in message F6BrJ...@cadlab.it...
Newsgroup: it.comp.lang.c++
Titolo: domanda da newbie su ereditarieta'

ciao a tutti
volevo sapere uan cosa
quando eredito una classe devo per forza chiamare il costruttore della 
classe base nel mio nuovo costruttore?
io nei sorgenti vedo spesso cose del genere:
class BASE
{
public:
    BASE() { }
    virtual ~BASE() { }
};
class DER : public BASE
{
public:
    DER() : nVal(0), BASE() { }
    virtual ~DER() { }
private:
    int nVal;
};
č giusto? e deve essere necessariamente cosě?
grazie
ciao

 č giusto? e deve essere necessariamente cosě?
Il codice e' giusto. Ma ci sono due cose che non e' necessario specificare.
Quando dico non necessario non intendo dire sbagliato, intendo dire non
necessario. Sarebbe come scrivere:
a = ( b + c );
Non e' sbagliato, ma le parentesi sono inutili.
Depurato dalle cose inutili la tua classe diventa:
class DER : public BASE
{
public:
    DER() : nVal(0) { }
    ~DER() { }
private:
    int nVal;
};
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556


Non vedo motivi per scrivere questo codice. La funzione BASE() e' il
costruttore di default della classe base, e viene chiamato automaticamente
nella chiamata DER().
Non so cosa dice lo standard, ma nel mio VC 5.0 la chiamata BASE() prima
del corpo del costruttore DER() e' ignorata: il costruttore di default di
BASE() viene chiamato una volta sola sia che BASE() sia presente, sia che
sia assente.

 classe base nel mio nuovo costruttore?
Solo se la classe base non ha un costruttore di default
(quello senza argomento o eventualmente uno con valori di default per
tutti i suoi parametri).
Il compilatore non fornisce automaticamente un default constructor nel momento
in cui tu ne dichiari esplicitamente uno.
Paolo
--
Paolo Marotta
Home: 
http://web.tiscalinet.it/paolo_marotta
Master's Level in C++ Certified by Brainbench
http://www.brainbench.com/transcript.jsp?pid=2440649

Newsgroup: it.comp.lang.c++
Titolo: fopen con un memory stream

ho una funzione (generata da flex/bison) che legge da un FILE*,
generalmente un file aperto con fopen...
č possibile che io passi una stringa a tale funzione, usando FILE* per
leggere dalla memoria (che ne so, da una std::string ad esempio) ???
-- 
]\/[ad]\/[age (
www.madmagelab.cjb.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 leggere dalla memoria (che ne so, da una std::string ad esempio) ???
No, a meno di non fare salti mortali utilizzando servizi di sistema, ad
esempio passando alla tua funzione un file pointer aperto su un pipe.
Per i dettagli rivolgiti ad un newsgroup specifico per il tuo sistema
operativo.
Ciao,
Nicola
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: dove un manuale on line?

Esiste un sito che offra un manuale da scaricare?
Grazie

 Esiste un sito che offra un manuale da scaricare?
Libro completo:
"Thinking in C++" Volumi 1 e 2, scaricabili da 
www.bruceeckel.com
In italiano il manuale di Paolo Marotta che trovi su
http://cpp.programmazione.it
(
http://www.programmazione.it/index.php?entity=earticle&idArticle=203&idA
rea=4 )
--
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: Colore testo (Ctrl + C)  Code::Blocks

Quando copio il codice da Eclipse e lo incollo su un file word, mi 
ritrovo gli stessi colori di Eclipse.
 
Se faccio la stessa operazione su Code::Blocks, il testo copiato sul 
file word viene in nero.
 
Come posso settare Code::Blocks in modo tale da copiare il testo a colore?
 
Grazie
nero23


Umh... non ho sotto mano Code::Blocks quindi è da prendere col beneficio 
del dubbio, ma secondo me o lo fa già di suo o è improbabile che ci sia 
un'opzione per farglielo fare.
 
Quando inserisci testo negli appunti di Windows hai la possibilità di 
indicargli in che formato è all'interno di un certo range di possibilità 
(plain text, RTF, Html e altri). L'applicazione di destinazione usa poi 
quello che è capace di gestire, alla peggio il testo semplice che ti 
viene restituito ripulito di tutte le formattazioni.
 
Evidentemente Eclipse copia il testo anche in RTF (o html) inserendo le 
necessarie formattazioni mentre Code::Blocks solo il testo nudo e crudo. 
Word vedendo che c'è il testo formattato lo preferisce a quello plain, 
in sua assenza usa quello che trova.
 
-- 
r--r--r--


 
 
-- 
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
Soviet_Mario - (aka Gatto_Vizzato)
 


 
Il suo formato nativo ï¿œ quasi certamente testo semplice, anche in 
considerazione del fatto che l'editor di Code::Blocks ï¿œ uno dei piï¿œ 
scrausi che puoi trovare in giro, non credo abbia chissï¿œ quali metadati 
da attaccargli. Perfino un elefante come Visual Studio si limita questi 3:
 
- Text
- UnicodeText
- Rich Text Format
 
Discorso un po' diverso per gli accrocchi che usano Java. Questo ï¿œ il 
marasma di pattume generato copiando del testo in NetBeans:
 
- Text
- UnicodeText
- UniformResourceLocator
- JAVA_DATAFLAVOR:application/x-java-jvm-local-		
	objectref;class=java.lang.String
- Locale
- OEMText
 
Dove perï¿œ mi sa che c'ï¿œ dentro anche roba ad uso e consumo della JVM.
 
Per mera curiositï¿œ ho guardato cosa c'ï¿œ dentro quella URL.... mi 
aspettavo chissï¿œ cosa ma c'ï¿œ ancora dentro il testo copiato, senza altre 
aggiunte!! :-)
 
 

Se faccio la stessa cosa con Visual Studio 2010, cioè copio il codice e 
  incollo su un file word, il testo copiato rimane a colore. Se lo copio 
su un file excel, il testo è tutto nero.
 
Per avere il testo a colori sul file excel, sono costretto a incollare 
il testo, copiato da Visual studio, sul file word e successivamente 
copio il testo dal word e lo incollo sul file file excel.
 
ciao
nero23
 
 
 

 nero23

Newsgroup: it.comp.lang.c++
Titolo: Costruttore X(const X&) e baco di g++ ?

--cut
Come uscita ottengo:
// Linux egcs-2.90.29 980515 (egcs-1.0.3 release)
Costruttore X(const char*) [str1]
Costruttore X(const char*) [str2]
Operatore += (this=str1 + s=str2)
s1 = [str1str2]
Costruttore default
Operatore + (this=str1str2 + s=str2)
Costruttore X(constX&) [str1str2]
Operatore += (this=str1str2 + s=str2)
Costruttore X(constX&) [str1str2str2]
Distruttore su [str1str2str2]
Distruttore su [str1str2str2]
s3 = [str1str2str2]
Distruttore su [str1str2str2]
Segmentation fault (core dumped)
// HP-UX
Costruttore X(const char*) [str1]
Costruttore X(const char*) [str2]
Operatore += (this=str1 + s=str2)
s1 = [str1str2]
Costruttore default
Operatore + (this=str1str2 + s=str2)
Costruttore X(constX&) [str1str2]
Operatore += (this=str1str2 + s=str2)
s3 = [str1str2str2]
Distruttore su [str1str2str2]
Distruttore su [str1str2str2]
Distruttore su [str2]
Distruttore su [str1str2]
Ciao,
-Alessandro
-----------------------------------------------------
mailto:
alessand...@usa.net
-----------------------------------------------------
Disastri Umani: HiroShima 45, CernoByl 86, Windows 95
-----------------------------------------------------
Mailbox di riserva: 
mailto:
alessand...@bbs.olografix.org
mailto:
alg...@yahoo.com
 
mailto:
alg...@hotmail.com

	s3 = ( s1 + s2 );
infatti s3 viene creata con il costruttore di default e quindi qui` non viene invocato
il copy costructor. L'operatore di assegnamento di default copia nei campi del
lvalue i valori presenti nei corrispondenti campi dell'rvalue. Quando il temporaneo
generato da (s1 +s2) viene distrutto, viene deallocata la porzione di memoria
puntata dal suo campo str, ma dopo l'assegnamento s3.str punta all'area deallocata
e la distruzione di s3 provoca un tentativo di deallocazione di un'area gia` deallocata!
Possibili soluzioni:
  1) usare Stringa s3(s1+s2); al posto della coppia dichiarazione + assegnamento
      (che oltretutto e` piu` efficiente).
  2) dichiarare e implementare un operatore di assegnamento consistente con
      le specifiche della classe.
Infine mi permetto di darti qualche dritta...
ogni qual volta una classe contiene dei membri puntatore, sarebbe bene implementare
esplicitamente copy ctor, dtor, e assegnamento.
Al piu` se si pensa che una di queste operazione possa non essere necessaria (ad esempio
il costruttore di copia non sara` mai usato) sarebbe bene dichiararli ma non implementarli.
La dichiarazione impedirebbe al compilatore di generare l'operazione di default, la mancata
definizione originerebbe un errore del linker se il programma dovesse tentarne l'uso.
Infine per tracciare l'esecuzioni delle funzioni, non utilizzare il valore dei campi dei parametri,
usa qualcosa che possa identificarli univocamente (nel caso di oggetti il valore di this
potrebbe essere molto piu` utile).
Saluti,
Paolo
----------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: [?] ripulire la finestra console

Salve a tutti.
Come da oggetto, come si ripulisce la finestra console?
So che è una domanda troppo semplice ma non ho proprio trovato la qual
è la funzione che fa ciò.
Grazie anticipatamente.
Salvo

 Come da oggetto, come si ripulisce la finestra console?
Col Glassex? Scherzi a parte, questo newsgroup si occupa del
linguaggio C++ in quanto tale, e non di aspetti specifici di
particolari implementazioni. Per
questo non e' il posto piu' adatto per porre domande specifiche come
la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in 
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

 è la funzione che fa ciò.
Se avessi cercato con Google Groups avresti scoperto che
 1. in questo newsgroup la domanda è stata posta circa 3 miliardi di volte
 2. lo Standard del linguaggio non prevede alcun meccanismo per pulire
  la finestra di console
http://groups.google.com/groups?q=group:it.comp.lang.c%2B%2B+pulire+schermo
Max

Salve!
Stavo leggendo il post, ed anche se sono un neofita forse potrei 
rispondere...
io uso questa istruzione:
system ("cls");
includendo la libreria "iostream", e funziona tranquillamente.
Spero di aver centrato la risposta, e di esser stato d'aiuto.


 Spero di aver centrato la risposta, e di esser stato d'aiuto.
Di sicuro gli hai dato quel che gli serviva, anche se questo non è il
posto più adatto. :)
-- 
          Andrea Spadaccini a.k.a. Lupino         
                    - Catania -                   
Linux Registered User #313388 - Mandrake Linux 9.1

 
Vabbè dai! Quà a furia di reindirizzare ad altri ng si intasa internet!!! :D
A volte una piccola risposta può essere un trampolino di lancio verso 
nuove conquiste...

 lancio verso nuove conquiste...
Tra le altre cose, quella è la FAQ più FAQ che esista! >:|


 lancio verso nuove conquiste...
Tra le altre cose, quella è la FAQ più FAQ che esista! >:|
-- 


 nuove conquiste...
Solo perche' la gente e' pigra e maleducata; cosi' un messaggio di
reindirizzamento puo' far imparare un po' di educazione, che vale
sicuramente di piu' di qualsiasi risposta informatica. Poi il
trampolino per le nuove conquiste ciascuno puo' trovarlo, con maggior
probabilita' e senza dar fastidio a nessuno, nel newsgroup corretto.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Aiuto C

Vorrei realizzare un programmino per il super enalotto,dovrebbe
visualizzarmi in maniera casuale sei numeri da 1 a 90 con la pressione
di un qualsiasi tasto, con la condizione che la scelta casuale delle
colonne deve esclude a priori le colonne già uscite che devono essere
aggiornate settimanalmente.Purtroppo sono ancora un neofita e non so
come (o meglio mi mancano le basi ) per impostare la programmazione.Chi
di voi è così gentile da darmi una mano?
Io vi ringrazio anticipatamente e aspetto una vostra
risposta.Grazie.....
Rocco.

...


Ah, essendo le caselle solo 90, come struttura dati ti consiglierei la
seguente:
Crei un array di 90 elementi 0..89.
Ogni volta che da disco leggi un numero n, vai ad incrementare il contenuto
di a[n-1] di una unita'. Tutti gli elementi dovevano essere portati
precedentemente a 0.
In questo modo se rand() produce il numero 25, a te bastera' sapere se
a[25-1]!=0 :
if(a[n-1]){ /* codice */}
Questo e' il metodo piu' veloce per verificare se un numero era' gia uscito
o no. Il suo tempo di esecuzione e' O(1).
Questa struttura e' in effetti molto simile all'esempio del cartoncino che
ti avevo fatto. Ah, questa struttura va piu' che bene quando l'intervallo
possibile e piccolo: 0.. 2.000.000.000 non e' un buon intervallo, anche
quando sono usciti tre numeri ti costringe a dichiarare un array di 2
miliardi di elementi!!!
In quel caso dovresti cambiare struttura. Ma 90 numeri sono una sciocchezza
e questa struttura risparmia tempo e memoria!
Inoltre incrementando ++a[n-1]; non sai solamente se il numero e' gia'
uscito o no, ma volendo sai anche quante volte. Questo ti permette quando ne
avrai voglia di migliorare il tuo programma con qualche banale calcolo
statistico!
Alex
Newsgroup: it.comp.lang.c++
Titolo: Macchina a stati

Salve a tutti,
sono abituato a scrivere macchine a stati in harwdare, e questa e' la prima 
volta che mi capita di doverne scrivere una in software, e non so bene come 
fare.
Le uniche due cose che mi vengono in mente sono uno switch di switch (switch 
sugli stati, con in ognuno uno switch sulle azioni, o viceversa), ma viene 
un papocchione enorme, o una tabella bidimensionali (stati X azioni) con un 
puntatore a funzione in ogni cella (che porta alla routine da eseguire). Ma 
nessuno dei mi entusiasma particolarmente... ci sono modi piu' eleganti e 
leggibili di scrivere una macchina a stati?
Thx,
Pleg

 leggibili di scrivere una macchina a stati?
Io mi ero fatto una libreria (in altro linguaggio) dove una classe 
rappresentava lo stato, con funzioni di controllo ingressi e azione 
(uscita).
Avevo previsto dei metodi di add e remove per aggiungere e rimuovere gli 
stati dalla macchina stessa (di fatto una lista).
Nel progetto inizializzavo le mie macchine a stati con i puntatori alle 
funzioni necessarie. Poi bastava avviare il tutto e ci pensava la classe 
a controllare periodicamente (o con trigger manuale) gli ingressi e a 
decidere cosa fare.
Il vantaggio di questa soluzione � che puoi eseguire del codice sia 
all'ingresso che all'uscita, quindi � pi� potente della semplice 
verifica/assegnazione del valore delle variabili.
Marco


http://www.boost.org/doc/libs/1_43_0/libs/statechart/doc/index.html
(forse un po' overkilling se sei appena approdato in C++)
Ciao
Gio

Non si capisce su che macchina hai deciso di far girare questo codice?
Ti posso consigliare di utilizzare un sistema a stati basati su classi 
(1 classe per stato + 1 state manager) che per� non � molto efficiente a 
livello di prestazioni ma sicuramente facile da espandere.
Ogni stato gestisce sia gli eventi che la migrazione ad un altro stato.
Io la ho trovato l'idea pi� elegante ma non � molto adatto a sistemi 
embedded.
Se vuoi ti dico di pi� sull'implementazione
Caio
Il 09/05/2010 16.43, Pleg ha scritto:


 Se vuoi ti dico di più sull'implementazione
Si' grazie sarebbe d'aiuto!
Pleg

Hello, Pleg!
Non so molto di macchine a stati ma giorni fa mi era capitato sott'occhio 
questo.
Sono classi per l'ambiente qt.
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qt-state-machine-framework
With best regards, massimo riserbo.  E-mail: 
cli...@server.it
 

 
http://qt.nokia.com/products/appdev/add-on-
products/catalog/4/Utilities/qt-state-machine-framework
Stica, c'e' anche quello?? Fantastico, visto che sto sviluppando con Qt 
credo proprio che gli daro' un'occhiata :)
Grazie mille!
Pleg
Newsgroup: it.comp.lang.c++
Titolo: Domanda newbie: inserire un int in una string

Ciao,
come faccio ad inserire un valore intero in una variabile di tipo string
?
Tipo il printf(str, "%d", intVal) del C ?
Grazie


Che ne dite di mettere questa nella FAQ?
#include <string>
#include <sstream>
std::stringstream strstr;
std::string str;
int a;
strstr << a;
strstr >> str;
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Che ne dici di spiegarlo?
giuro non ci capisco niente... e poi non mi funziona.. ma bisogna
scrivere solo questo?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: domanda su: evitare l'ereditarietabilita'

Data una classe A scritta in C++, e' possibile fare in modo che non si possa
ereditare da questa? E' cio' che in java viene realizzato tramite la keyword
"final".
Grazie in anticipo.

 ha scritto nel messaggio
news:bsu68r$4c0$1...@newsreader.mailgate.org...


 Intendi una classe sealed??
Intendo questo: ho una classe qualunque
class A {
    ....
};
vorrei che fosse segnalato errore tentando di estenderla; il seguente codice
deve risultare errato:
class B: public A {
    ...
};

 
La risposta breve è anche la più sensata: non proccupartene. Nella 
documentazione avrai scritto che la classe non è fatta per essere 
ereditata. Basta questo. Se il programmatore non legge la documentazione è 
giusto che venga punito.
Ad ogni modo, c'è un trucchetto per ottenere questo effetto (ma non ne vale 
la pena): derivi 'virtual' da una classe con costruttore accessibile solo 
alla tua classe:
  class my_class;
  class VB 
   {   friend my_class;
        VB() {}
   }
  class my_class : virtual VB
  {
        public:
         my_class() {}
  };
Se provi a derivare da 'my_class', hai un errore perché il costruttore 
della base 'virtual' viene invocato dal costruttore dalla classe "più 
derivata" e questo non sarà possibile.
(La spiegazione del motivo per cui non è sufficiente dichiarare 'protected' 
il ctor di VB è lasciato come esercizio per il lettore.)
Max
Newsgroup: it.comp.lang.c++
Titolo: Matrici - prestazioni in c++

in particolare per simostro che so che ha affrontato questo problema
nel calcolo numerico si sa sono importanti le prestazioni
per quanto riguarda i vettori unidimensionali:
i compilatori hanno fatto passi da gigante - ho fatto molti test e sono 
arrivato alla conclusione che se si usano gli array con l'accesso random 
stile c non cambiano le prestazioni. Infatti se si paragonano gli array 
a basso livello creati con new, i valarray, i vector, i dense1D della 
MTL e gli array1D della TNT il tempo di esecuzione non cambia ... e 
comunque il codice generato è veloce tanto quanto se non piu' 
dell'equivalente scritto in fortran77 (!!!!!!!!!)
cosa sapete dirmi riguardo i contenitori 2d?
vector<vector <float> > è veloce tanto quanto gli array bidimensionali a 
basso livello del c?
-- 
Hai recensioni nel cassetto di musica, cinema, letteratura,fumetti??
Ascolta e pentiti e se hai tempo vergognati
http://tonysuper.altervista.org

 basso livello del c?
Faccio una cosa che odio, rispondo con una domanda (anzi due): quanto è
grande la matrice? Come viene organizzata la memoria dell'oggetto
vector<vector TIPO>?  Cosa sa di come io voglio accedere ai dati?
SiMoStro

 bidimensionali a basso livello del c?
Tempo fa avavo fatto una classe matrice costruita come un valarray
di valarray per poter sfruttare ciò che è già esistente per i valarray:
typedef std::valarray<T> row_type;
std::valarray<row_type> column_rows;
(trovi su questo NG tutti i miei post su questa classe o se vuoi ti do un
link)
Si è trattato più che altro di un esercizio didattico per imparare
i valarray, gli algoritmi e in generale i template ecc...
Prestazionalmente non ho mai testato la mia classe con una
implementazione "seria" di una matrice in C++, ma facendola
mi sono reso conto che alcune operazioni (in pratica quelle che
si appoggiavano direttamente su analoghi metodi dei valarray)
potevano risultare anche particolarmente ottimizzate, ma altre
non lo erano, col mio approccio.
Quindi per un approccio più performante concordo con le parole
dello Stroustrup (e ti pare che mi metto a criticare Stroustup sul
C++??? :-) ) quando dice che "[il valarray di valarray] può funzionare,
tuttavia non è facile ottenere l'efficienza richiesta dalle computazioni
ad alte prestazioni, senza ricadere al livello più basso e convenzionale
rappresentato da valarray e slice."
Approposito, hai dato un occhio all'implementazione delle slice e
degli slice_array che spiega Stroustrup (cap. 22)?
-- 
Gerolamo

 
ma ... a sto punto preferisco usare gli array del c che vado sicuro..
l'importante comunque è non usare il fortran! :-D


 l'importante comunque è non usare il fortran! :-D
Ah beh... se la metti così.... :-)))
-- 
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: Funzioni membro di tipo static

Ciao a tutti!
Una domandina veloce: chi mi puo' spiegare bene a cosa servono le
funzioni membro di tipo static? Sto imparando il C++, ed il mio libro
non mi sembra molto chiaro su questo argomento.
Grazie,
ri-ciao
<manu>

...

Tutte le volte che una funzione e` "logicamente" membro di una
classe, ma non ha nessun riferimento "privilegiato" ad un oggetto
istanza di quella classe, puoi scegliere di dichiararla come static
della classe (o, in alternativa, come funzione "friend" della classe,
se vuoi o devi tenerla fuori dallo scope della classe stessa).
Supponi ad esempio che la classe conti il numero complessivo
di suoi oggetti mai generati:
class conto_qualcosa {
    static int quanti;
public:
    conto_qualcosa() {++quanti;}
};
come puo` un cliente della classe farsi dire questo conteggio?
Il dato stesso e` privato, come da buona prassi; dovra` dunque
esserci una funzione di accesso pubblica.  Ma come farla, dove
piazzarla?  La scelta piu` naturale e` una funzione static della
classe stessa, cioe` aggiungendo fra i public: di conto_quacosa:
    static int quanti_generati() { return quanti; }
I clienti possono ora chiamare conto_qualcosa::quanti_generati()
e accedere cosi` (in sola lettura) al desiderato conteggio.
Altri usi di una certa importanza sono quelli _interni_ alla
implementazione della classe stessa, che possono giustificare
ad esempio una funzione statica private o protected.  Supponi
che varie funzioni-membro della classe debbano fare lo stesso
conteggio, che non interessa 'esportare' dalla classe e non ha
diretto riguardo ad una 'istanza particolare privilegiata'; il posto
piu` naturale per alloggiarlo puo` essere appunto una funzione
static private.
Alex

come solo con  il concetto di classe puoi ottenere.
Grazie mille per la risposta, ora ho capito il concetto. Mi rimangono pero'
un paio di dubbi (se non ti scoccia troppo aiutarmi ;)):
1- il "this pointer" e' un puntatore alla particolare istanza di una
classe, giusto?
2- dalla tua risposta sembra che il C sia piu' efficace del C++... e non e'
la prima volta che lo sento dire. E' prorio vero? (lo so che e' la classica
domanda la cui risposta ci sta a malapena nei volumi dell'Enciclopedia
Britannica, ma a me basta un si' o un no ;))
Grazzzzzie ancora,
ciao,
<manu>

Newsgroup: it.comp.lang.c++
Titolo: CodeWarrior

Salve a tutti,
siccome sarei agli inizi...vorrei avere qualche consiglio!
e' preferibile usare codewarrior o il visual c++
oppure quale altro ambiente di sviluppo mi consigliate??
grazie 
Sandro Pons



Dovresti descrivere le tue 'attitudini' e il sistema operativo host
e/o target.
Luc.
Newsgroup: it.comp.lang.c++
Titolo: Array di tipi?

Vi pongo un quesito : io ho bisogno di gestire un array di oggetti 
derivati dalla stessa classe base. Supponiamo di avere
std::vector<ClasseBase*> a;
Per popolare questo array potrei procedere in n-mila modi diversi, uno 
potrebbe essere
a.push_back( new ClasseDerivata1 ());
a.push_back( new ClasseDerivata2 ());
...
Esiste un metodo per popolare questo array iterativamente prelevando i 
tipi da un array precedentemente dichiarato?
Qualcosa tipo
ARRAYDITIPI ListaDiTipi;  //<<-- Non ho idea di come definire questo!!!
ARRAYDITIPI::iterator i;
for( i = ListaDiTipi.begin() ; i != ListaDiTipi;.end() ; i++)
    a.pusb_back( new *i ); //Creo un oggetto per ogni tipo diverso
Se ho scritto eresie vi autorizzo a coprimri di cacca!!!

     a.pusb_back( new *i ); //Creo un oggetto per ogni tipo diverso
Potresti usare un array di funzioni factory.
 typedef ClasseBase* ( *factory_func_t ) ();
 template< class T > ClasseBase* new_T() { return new T; }
    std::vector<ClasseBase*> a;
    factory_func_t factory[2] = { 
             &new_T<ClasseDerivata1>, 
             &new_T<ClasseDerivata2> };
 
   for ( int n = 0; n != 2; ++n )
          a.push_back( factory[n]() );
Max
 

> Potresti usare un array di funzioni factory.
Esattamente quello che volevo fare, grazie.


boost::mpl::vector 
(
http://www.boost.org/doc/libs/1_40_0/libs/mpl/doc/refmanual/vector.html
) � 
quello che ti serve per fare esattamente ci� che vuoi.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: esecuzione programma in ms visual c++

Ciao a tutti,
seguendo il vostro consiglio ho provato ad usare il visual c++ di microsoft.
Da subito ho visto che ci sono un sacco di funzioni in più rispetto al turbo
c++ che stavo usando prima. Ovviamente accanto ad una nuova interfaccia e a
nuove funzioni ci sono nuove complessità...
Nel mio caso quando ho scritto il sorgente in c++ e provo a compilarlo mi
chiede di aggiungere un nuovo progetto. Accetto e quando provo ad eseguirlo
(ctrl+f5) mi dice che il file blocco.exe (blocco è il nome che ho dato al
sorgente) non esiste.Vuoi crearlo? Metto si ma non succede nulla.
Cosa mi manca?
Ciao
Domenico

 wrote in message
S0whd.112099$b5.55...@news3.tin.it...

Come non detto.
Riavviando è andato tutto bene.
Ciao
Domenico

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in 
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

Nicola Musatti <Nicola....@ObjectWay.it> wrote in message
a327cf48.04110...@posting.google.com...

Ciao
chiedo umilmente scusa per l'ot anche se il tuo post sembra un pņ severo....
E FATTELA NA C.... DI RISATA!!!!:-))))) (come dicono i turbolenti)
Ciao
Domenico

 E FATTELA NA C.... DI RISATA!!!!:-))))) (come dicono i turbolenti)
E' l'unico modo per evitare che il newsgroup diventi una discarica abusiva.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: [URGENTE-Semi-OT] Rappresentazione IEEE

Non è proprio c++, ma è comunque inerente alla programmazione...
non ho capito assolutamente come funziona, c'è qualche tutorial che
spieghi come convertire un numero decimale in IEEE e viceversa? Oppure
qualche buona anima che mi spiega come funziona? Ho un esame domani
pomeriggio fate in fretta per favore ^_^
---
Membro numero 85 del Luigino Fans Club.
Luigino sei tutti noi!
Anche se ti ho plonkato il tuo ricordo sarà per sempre!

 pomeriggio fate in fretta per favore ^_^
http://docs.sun.com/source/806-3568/ncg_goldberg.html
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: htmlhelp

Devo usare l'help in chm non so + come provare io hi aggiunto l'header al
mio progetto poi la htmlhelp.lib ma continua adarmi l'errore del linker che
 la funzione non è presente.
Cosa manca?Come ambiente uso codegear
Grazie Matteo
 

 ha scritto nel messaggio 
news:g7hlbq$8ej$1...@aioe.org...

Alla fine ho scoperto il problema. Per usare htmlhelp è sufficiente il .lib 
ed il .h il problema derivava solo dal fatto che il .lib è derivato dalla 
libreria hhctrl.ocx e viene generato in fase di installazione dell'ambiente 
codegear.
Il problema che nei vari sp installati da m$ la libreiria è cambiata quindi 
bisogna rigenerarla con il seguente comando:
implib htmlhelp.lib hhctrl.ocx
Ciao Matteo

Newsgroup: it.comp.lang.c++
Titolo: double -> int

Come da oggetto: come faccio a convertire un valore double (risultato di un
calcolo) in un valore int (coordinata schermo)?
Mi basta sapere come troncare o meglio ancora arrotondare un numero... non
sono riuscito a trovare la funzione di libreria adatta.
Esempio: 430.3 -> 430
              200.9 ->  300
Thanks
Kojak
vrke...@hotmail.com
http://space.tin.it/io/viscorci


wrote:

~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@libero.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

Grazie per la risposta, ma il problema rimane: sia ceil che floor
restituiscono un valore double! Come faccio ad avere un int? Facendo un
semplice cast, mi ritrovo con 28 warnings!
(Comunque, uso VC++ 6.0 SP3)
--
Kojak
vrke...@hotmail.com
http://space.tin.it/io/viscorci

               200.9 ->  300
Spiacente, ma non mi viene in mente proprio nulla che a fronte di
"200.9" ti potrebbe tornare "300" -- che senso di "arrotondamento"
hai mai in mente...?  La semplice assegnazione causerebbe
troncamento, e quindi darebbe il valore intero 200.
Se prima di assegnare ad int aggiungi 0.5, avrai l'arrotondamento.
Alex

 >


 (Comunque, uso VC++ 6.0 SP3)
Con il tuo stesso compilatore si ottiene il seguente messaggio 
Compiling...
pippo.cpp
c:\pippo\prova.cpp(12) : warning C4244: '=' : conversion from 'double'
to 'int', possible loss of data
Basta un cast esplicito per risolvere questo piccolo warning.
Il fatto che tu ne ottenga 28 puo' dipende da altre cose. 
Controlla il codice.

 Facendo un semplice cast, mi ritrovo con 28 warnings!
Strano. Normalmente i cast eliminano warnings...
EMG

La riga di codice incriminata è questa:
  pDC->MoveTo(Zero.x + Passo * i / UnitaMisura, Zero.y - 2);
dove Zero è un CPoint, Passo e i sono int, UnitaMisura è double.
Grazie


Ho risolto! Mamma mia che cavolata! Mi è bastato richiudere l'espressione
tra parentesi!
  pDC->MoveTo((int) (Zero.x + Passo * i / UnitaMisura), Zero.y - 2);
E io che ci ho perso una giornata di lavoro!


              200.9 ->  300
cosa succede se fai un semplice cast?
il_t@sso
il_t...@freemail.it
Newsgroup: it.comp.lang.c++
Titolo: Help... problemi con una Bitmap

Ho creato una bitmap in memoria con CreateDIBitmap e quindi ho il 
rispettivo Handle.
E' possibile salvare la Bitmap sul disco sempre utilizzando una API
partendo dal suo handle ?
Saluti,Ettore.
______________________________________________________
Get Your Private, Free Email at 
http://www.hotmail.com
--
Posted from [193.76.127.8] by way of 
f93.hotmail.com
 [207.82.250.199]
via Mailgate.ORG Server - 
http://www.mailgate.org

...


 BITS
Ti ringrazio Franco,  il formato lo conosco già ed ho già provato a salvarlo con
ottimi risultati, ma il problema non è questo ....
Vò ad illustrarti il problema:
Io programmo correntemente in VisualBasic e mastico anche qualcosa in C/C++
Ho un problema in VisualBasic
( e tù dirai "allora perchè non lo posti sul NG preposto ?", grazie per la
domanda!
Risposta : Non ho mai avuto risposta a questo quesito su
it.comp.lang.visual-basic ,
... forse perchè di là non masticano molto le API [me compreso])
Anyway,...
Ho un programma che disegna all'interno di un controllo Picture in VB dei dati
che acquisisco da un sistema di rilevazione automatica ( Analizzatore di
spettro,
ricevitore FM, GPS, ecc...), quando salvo la bitmap VB, che è abbastanza
ritardato, mi salva l'immagine utilizzando le impostazioni della scheda grafica,
producendo
nel mio caso un file di 3MB circa, mentre dato che non utilizzo più di 16 colori
vorrei, .. dovrei ... potermela cavare con 300 KB circa.
Se poi tieni in considerazione che nel mio caso la mia scheda grafica è
impostata a 65mila colori, ma altri potrebbero averla impostata a 16milioni di
colori ...
Da quì l'esigenza di lavorare con una Device Indipendent Bitmap.
L'IDEA:
Creo la bitmap 16 colori utilizzando CreateDIBitmap , copio la Bitmap presente
nella mia picture nella DIBitmap con BitBlt o chi per esso, e poi la salvo su
disco.
... si ma come ?
Ho provato a salvare la Bitmap come anche tù hai scritto pocanzi, però ho il
problema che dovrei leggere l'immagine Pixel per Pixel dal mio controllo Picture
e reinterpretare il colore letto utilizzando i colori presenti nella mia
Palette, ... LAVORACCIO  (fra l'altro la mia Bitmap è all'incirca 1000x700 Pixel
circa)
Non posso disegnare direttamente sull'oggetto in memoria poiche dovrei passare
tutte le coordinate in Pixel alle varie GDI mentre io lavoro in gradi decimali e
convertirle sarebbe troppo lungo ...
Ti ringrazio per ogni suggerimento che potrai, ... vorrai darmi.
Ciao,Ettore.

Newsgroup: it.comp.lang.c++
Titolo: Trasformata di Fourier in c/c++

Come da oggetto, sto cercando questa funzione, qualcuno ne sa qualcosa?
grazie!!
-- 
Demetrio Filocamo
(
filo...@demetrio.it
)

 grazie!!
www.fftw.org
E' una libreria C ma ha dei wrappers per diversi linguaggi compreso in
C++.
Ciao
Antonio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Realizzazione di un programma indipendente dalla risoluzione dello schermo

il mio problema è il seguente:
come si può fare per evitare che in un programma sviluppato in c++ builder
o in visual basic i controlli si adattino alla variazione della risoluzione
dello schermo, variazione della dimensione dei caratteri?
Ho realizzato un programma in cui visualizzo una matrice, che a seconda se
la risoluzione è 800*600 o 640*400 mi nasconde altri controlli presenti
sullo schermo.
ringrazio chi mi vorrà rispondere.
pit...@tin.it


Utilizza Java, ed il layout ed il gioco è fatto.
Saluti
 >>mailed by                              ''~``
 Stefano Del Furia                       ( o o )
  __________________________________.oooO--(_)--Oooo._
 | ___/ / _/__ 
www.geocities.com/SiliconValley/3546/
  |
 |/ _  / _(_-< Computer Science Department            |
 |\_,_/_//___/ 
de...@tech-center.com
  .oooO           |
 |ITIS "E.FERMI" Bibbiena 52010 AR IT (   )   Oooo.   |
 |_____________________________________\ (____(   )___| 
 THEORY is when you know everything     \_)    ) /
        but nothing works.                    (_/
 PRACTICE is when everything works
        but you don't know why.
 Our aim is to join THEORY and PRACTICE:
 (-: NOTHING works and we don't know WHY :-)

>Utilizza Java, ed il layout ed il gioco è fatto.
Risposta del cazzo, scusa il linguaggio...
Newsgroup: it.comp.lang.c++
Titolo: Overloading operatori

Buongiorno a tutti,
sto scrivendo un piccolo giochino matematico.
In una parte del programma c'e' l'estrazione di un
numero random da 1 a 4 che a seconda dei casi
genera una delle 4 operazioni:
es.
switch ()
case 1:  x = (a + 10)
case 2 : x = (a - 10)
case 3 : x = (a * 10)
case 4 : x = (a / 10)
Per evitare ciň vorrei ridefinire il comportamento degli operatori
aritmetici in modo da snellire il codice con un'unica operazione,
una volta estratto il numero casuale.
C'e' qualcuno che puň darmi un suggerimento su come fare?
Grazie
Francesco
gi...@tin.it

 C'e' qualcuno che puň darmi un suggerimento su come fare?
Te lo sconsiglio. Gli operatori andrebbero ridefiniti solo se il nuovo
significato appare naturale per il simbolo prescelto, cosa che mi pare
non si applichi al tuo caso. Meglio definire una funzione.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Errore che non trovo

So gia' che mi frustero' quando mi direte la cavolata che ho fatto!! :-)
mi da errore sulla riga 32: parse error before 'else'.
// ex5.cpp
// dato un numero reale lo arrotonda al piu vicino intero (anche se e' 
negativo)
#include <iostream>
#include <math.h>
using namespace std;
int main() {
  double a;
  int risultato;
  int b;
    do {
  cout << "inserire un numero reale:  "; cin >> a;
   } while (a = 0);
  if (a > 0) {
    b = ceil(a);
    if ((a + 0,50) > b) {
      risultato = b;
  cout << "/n";
  cout << "risultato: "; cin >> risultato; cout << "/n";
    }
    else
      risultato = floor(a);
  cout << "/n";
  cout << "risultato: "; cin >> risultato; cout << "/n";
  else              //questa e' la riga dell errore
      b = ceil(-a);
      if ((-a +0,50) > b){
        risultato = floor(a);
  cout << "/n";
  cout << "risultato: "; cin >> risultato; cout << "/n";
      }
      else {
        risultato = ceil(a);
  cout << "/n";
  cout << "risultato: "; cin >> risultato; cout << "/n";
  }
 }
}
Sapete se c'e' un altro modo per scrivere il programma?
Grazie

 Grazie
Ps. Ogni funzione parziale puň essere calcolata da un numero infinito di
programmi.

 mi da errore sulla riga 32: parse error before 'else'.
Indentare perbenino e contare le parentesi graffe no, eh? ;-)

Sapete se c'e' un altro modo per scrivere il programma?
Beh... se intendi effettivamente arrotondare all'intero
piu' vicino basterebbe usare l'espressione
   risultato = floor(x+0.5)
sia per x positivo che per x negativo.
HTH
Andrea

Grazie.
Ciao,
Gabriele

 Mathematics and its applications, McGRAW-HILL".
Scusa, mi potresti spiegare come funziona questo teorema euclideo?
Grazie molte,
Dome
Newsgroup: it.comp.lang.c++
Titolo: Manuale in ITA x newbie

Hi, come da oggetto sto cercando un manuale in italiano (semplice da capire,
con esempi di codice, ecc. ) ma che sia adatto a me che sono newbie, anzi
quasi, dato che ho letto degli articoli e, da quello che so il c++ si può
paragonare in certi aspetti al linguaggio basic (del quale ho una breve
conoscenza grazie ad un amstrad 464plus che ho avuto anni fà), o al pascal
correggetemi se sbaglio. Per cui se volete potete anche darmi consigli utili
su qualche compilatore, ad esempio ho scaricato il borland c++ compiler 5.5
dal sito dalla borland, ma nn so come farlo funzionare, questo xché ancora
sono agli inizi, ma col tempo e spero con voi magari riuscirò a capirci
qualcosa in più.
Spero che possiate e vogliate aiutarmi.
Vi ringrazio per l'attenzione.
Danger /!\

su 
www.programmazione.it
 (e in copia sul mio sito) c'è un mio articolo sul
bcc55 che spiega proprio quello che ti interessa.
Scaricati anche Vide (pagina link del mio sito) un editor integrabile con
Bcc55.
Su 
programmazione.it
 (o da me sul "mirror di TCP") c'è anche il tutorial C++
di Paolo Marotta (C++, una panoramica, 2a ediz.).
--
----------
Lello Mele
c/o VTM VideoTecnica Mele
Via San Sebastiano, 22
84036 Sala Consilina (SA)
Cell.:0347/643.35.25
HOMEPAGE:
http://www.lellomele.supereva.it
eMAIL:
v...@libero.it
me...@programmazione.it
-------------
"Esistono due modi per elaborare il progetto di un software.
 Il primo consiste nel renderlo semplice al punto tale che non
 manifesti lacune evidenti. Il secondo consiste nel renderlo
 complicato al punto tale che non manifesti lacune evidenti.
 Il primo metodo e' di gran lunga piu' difficile." [C.A.R. Hoare]

 di Paolo Marotta (C++, una panoramica, 2a ediz.).
Grazie mille per le dritte, ora ci do un'occhiata.
Ciao.
Danger /!\

Newsgroup: it.comp.lang.c++
Titolo: SelectNext....!!!

Salve,
qualcuno potrebe farmi un esempio di utilizzo di SelectNext in
C++Builder?
Con Delphi lo uso tranquillamente, ma la translazione da Delphi a
C++B. non funziona.
Grazie in anticipo.
Robin

Mbè me lo son trovato da me :-)
SelectNext(ActiveControl, true,true);
questo è tutto
Robin
