mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: come mai questo codice non funziona

ciao a tutti
ho definito la seguente funzione stampaSito nella classe sito.
quando dal file .cpp chiamo la funzione mi da un errore del tipo
stampasito undeclared identifier
ecco il codice
/*file sito.h*/
class Sito
{
	public:
	//stampa un sito
	void stampaSito(Sito h)
{cout<<"_____________________";
 cout<<"|                    |";
 cout<<"|"<<h.codice;
 cout<<"|....................|";
 cout<<"|                    |";
 cout<<"|"<<
h.name
;
 cout<<"|....................|";
 cout<<"|                    |";
 cout<<"|"<<h.superficie;
 cout<<"|....................|";
 cout<<"|                    |";
 cout<<"|"<<h.correnteArtistica;                   
 cout<<"|                    |";
 cout<<"|____________________|";
} 	
	//accede al campo private superficie
		card getSuperficie(){return superficie;}
	//accede al campo private codice
		card getcodice(){return codice;}
	//accede al campo private corrente artistica
		char* getCorrenteArtistica(){return correnteArtistica;}
	//accede al campo private nome name
		char* getName(){return name;}
	//restituisce nmaxs per l'array semistatico
		int getnmaxs(char*);
	//costruttore senza argomenti
		Sito(){name=0;
		       correnteArtistica=0;
			   superficie=0;
			   codice=0;
		}
		Sito(card cod,char* nam,char* corrart,card superf)
		{
			codice=cod;
			name=nam;
			correnteArtistica=corrart;
			superficie=superf;
		}
	private:
	//campi della classe
		card codice;
		char* name;
		char* correnteArtistica;
		card superficie;
	};
inline int Sito::getnmaxs(char* c)
		{int i=0;
			while(*c!='\0')
				{i+=1;c++;}
		return i;
		}
#endif
//file prova.cpp
#include <iostream.h>
#include "sito.h"
#include "utilita.h"
int main(){
Sito a(5,"Picasso","rinascimento",500);
stampaSito(a);
return 1;
}
grazie anticipato
-- 
Posted from 
cs1-431.dialup.tiscalinet.it
 [62.10.171.175] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 grazie anticipato
Prego posticipato ;)
Ciao,
Cecco

stampasito undeclared identifier
Aggiungo che stai gestendo i campi "name" e "correnteArtistica" in
maniera molto avventurosa: da qualche parte devi allocare lo spazio
per le stringhe. O, ancora meglio, usa std::string.
-- 
Ciao, Marvin
Newsgroup: it.comp.lang.c++
Titolo: [Info] Iniziare a programmare in C++..

Salve a tutti, vorrei provare a programmare in C++, da 3 anni piů o meno ho
preso confidenza con il Visual Basic e ora vorrei provare a programmare con
questo linguaggio...
Mi potete consigliare un buon libro, che parta da zero ma che sia completo
nelle spiegazioni...?
Grazie!
-- 
Enea
Wonderful Alexis Web Site - 
www.e1universe.net/alexisbledel/
Alexis Bledel Fan Site!
en...@e1universe.net

Adesso non ricordo bene il titolo, ma se cerchi in qualche portale per la
vendita di libri (tipo mondadori informatica) ed inserisci come autore
"Deitel" e come titolo naturalmente "C++" dovresti trovare un buon manuale,
adatto ai principianti.
Sono due volumi, il primo con la copertina arancione ed il secondo con la
copertina blu.
Mi spiace non riuscire a dirti di piů, ma al momento il titolo mi sfugge, ad
ogni modo sono libri molto conosciuti, quindi non dovresti avere problemi a
trovarli in giro.
"Wonderful Alexis Web Site" <en...@e1universe.netNOSPAM> wrote in message
news:bq5347$d81$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.lang.c++
Titolo: Dichiarazione classi in Visual C++

Salve a tutti.
Sto da poco affrontando il C++ (VC++) ed ho un problema in fase di 
compilazione.
Riportero' dei brevi spezzoni di codice per illustrare
il problema:
Nel file Classe.h:
class Classe
{
 // Qui dichiaro le funzioni
};
Nel file Classe.cpp c'e' l'implementazione della classe
Es: Classe::Classe() ecc.
Mentre in un terzo file denominato "Main.cpp"
istanzio la classe
Es:
#include "Classe.h"
Classe *g_pCl;
      ^
      |
      |-- Esattamente in questo punto il compilatore 
	  mi dice che ho dimenticato un ";"
Ho guardato vari esempi di codice e la dichiarazione della
classe e' corretta (compilandola non mi da' problemi)
ma il compilatore si rifiuta di riconoscere la classe
che ho definito.
Quale potrebbe essere il problema ?
Grazie in anticipo.
P.S: ho ridotto il codice al minimo poiche' e' molto lungo
-- 
JaM!

 --------------------------------------------------


il compilatore non riconosce Classe come un tipo;
quando ho avuto problemi del genere ho sempre guardato il
file .h e cercato errori (tipicamente un ; o una parentesi graffa
dimenticati
in qualche dichiarazione). In questo tipo di
errori succede che il codice scritto nel file .cpp viene considerato
come
una estenzione della dichiarazione che comincia nel file .h e si estende
abnormenmente...
Prova a commentare quasi tutto il file classe.h tranne la dichiarazione
di classe, e,
se va, poi aumentare la parte di codice che compili fino a riavere
l'errore. A quel
punto hai trovato l'errore. Il fatto e' che il compilatore in questi
casi ti segnala
l'errore in un punto "sbagliato". dove cioe' scrivi qualcosa che non
puo' essere
scritto in una dichiarazione, tipicamente molto lontano dal punto dove
e' il vero
errore logico...

Newsgroup: it.comp.lang.c++
Titolo: Relazione di realizzazione in c++

Salve,
avrei un quesito riguardante l'implementazione della relazione di
realizzazione in c++; vista la mancanza di costrutti dedicati a tale
scopo (in java si userebbe interface...implements) in c++ si usa
tipicamente implementare l'interfaccia come classe con metodi astratti e
senza attributi (o solo costanti) e poi, utilizzando la relazione di
generalizzazione, si implementa una classe che eredita dalla
classe/interfaccia considerata.
La mia domanda... è possibile implementare la relazione di realizzazione
in c++ senza ricorrere alla generalizzazione?

 ha scritto nel messaggio 
news:cxsId.743895$35.29...@news4.tin.it...

Secondo il mio umile parere no. di fatto la "relazione di realizzzazione" 
come l'ho capita
è una derivazione a tutti gli effetti. Non conosco java, ma credo che siano 
simili come concetti.
In c++ potresti usare dei puntatori all'interfaccia ma a questi puntatori 
devi passarli ugualmente un indirizzo
che punti a qualcosa che deriva dall'interfaccia in questione (oppure usi 
dei cast )
Nota:
Che vantaggi avresti ?
[bug] correzzioni sul mio ragionamento sono gradite...[/bug]
ciao.

 Che vantaggi avresti ?
E' una domanda fatta a lezione dal mio docente di linguaggi di 
programmazione, a scopo puramente didattico/teorico :)
Mi incuriosiva conoscere il parere di qualche programmatore c++ più 
esperto di me.
Ciao e grazie per aver espresso il tuo parere

Secondo me la distinzione tra realizzazione e generalizzazione, cosi'
come la descrivi, e' artificiosa e serve solo ad inquadrare in qualche
modo la scarsa ortogonalita' causata in Java dalla distinzione
interfaccia/classe.
Tieni poi conto che la modellazione OO pura al C++ sta stretta, dal
momento che supporta anche altri paradigmi. Ad esempio potresti parlare
di realizzazione nel descrivere la relazione tra un template base e le
sue istanziazioni.
Ciao,
Nicola

 interfaccia/classe.
Parole sante!!!
Secondo me in Java hanno deciso di limitare la derivazione ad una sola
classe padre per una specie di convinzione diffusa che derivare da due
classi "e' male". In effetti questo in C++ apre la strada al famoso
"problema del diamante"...
Quasi subito pero' si sono resi conto che "derivare" da piu' di una classe
e' in molti casi indispensabile, quindi hanno introdotto il concetto di
"realizzazione", molto artificioso e poco ortognale come dici tu.
Come dire... il rimedio e' peggio del male... :-)
Ciao!
-- 
Qual'e' il colmo per uno studente-lavoratore?
Avere un quadrato che si crede un rettangolo.
Newsgroup: it.comp.lang.c++
Titolo: richiamare dll in c++

Ho una applicazione che deve richiamare delle funzioni da una dll che
risultano esportate come (ad esempio) _PSLInit@4 ; premesso che non ho
accesso ai sorgenti, come posso fare per richiamarle da un'altra dll
(interfaccia) ? La seconda dll include come oggetto il .lib della prima, ha
vari moduli *.c (dove faccio altre operazioni) ed un modulo .cpp dove sono
definite delle funzioni che richiamano quelle della dll (in sostanza, solo
per cambiargli nome); qual e' il nome con cui vanno chiamate nel modulo *.cpp
? (il messaggio che mi becco, e', inevitabilmente, unresolved external; il
modulo *.cpp e' evidentemente compilato come c++, presumo che il nome con cui
richiamare la funzione sia quello standard con cui compare nel *.h della
libreria ( PSLInit () ), anche se ho provato varie altre possibilita'
(compreso il nome con cui e' stata esportata, che comunque non e' un
identificatore valido);
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp
   Create Your Own Free Member Forum

accesso ai sorgenti, come posso fare per richiamarle da un'altra dll
Questo e` il mangling che fa il C/C++ della Microsoft a routine definite
(extern "C" se in sorgenti C++, ma soprattutto...) __stdcall.  In altri
termini, questo sorgente:
extern "C" {
    __declspec(dllexport)
        void __stdcall PSLInit(int) {}
}
compilato da VC++5.0 e messo in una DLL, esporta esattamente il
simbolo da te citato.  Nota che lo "@4" indica che si tratta di una funzione
che prende esattamente 4 byte di argomenti.
Puoi dunque chiamarla dichiarandola come sopra (senza il declspec):
extern "C" void __stdcall PSLInit(int);
(o altro set di argomenti per un totale comunque di 4 byte).
Alex

Newsgroup: it.comp.lang.c++
Titolo: Engine 2D

Qualcuno conosce engine 2D per C++ ? (uso il VC++ 5.0 )
Grazie e ciao.

...

Newsgroup: it.comp.lang.c++
Titolo: Classi e template

Supponendo di avere la classe A, e A1, A2 sue derivate, vorrei definire
un "container" template, qualcosa di questo genere
template <A> class container_A
{
    A    data;
    A& getdata()   {return data;};
......
};
Nelle mie intenzioni avrei voluto allocare dinamicamente container_A,
che avrebbe contenuto quindi A,A1,A2, a seconda del parametro passato in
input.
Com'e' che dovrei fare esattamente (se si puo' fare...)? Di fatto questo
non funziona:
container_A<A> *ptr;
main(...)
{
       ptr=new container_A<A1>;
}
e mi da' un errore di cast.
Dove sto sbagliando? Grazie a tutti, spero di essermi spiegato bene.

 Dove sto sbagliando? Grazie a tutti, spero di essermi spiegato bene.
Il problema e' che il fatto che "Der" deriva da "Bas" non implica che
"Templ<Der>" derivi da "Templ<Bas>". I due template sono cue classi
completamente distinte.
Come devi fare dipende da cosa vuoi fare. Se vuoi una classe che possa contenere
oggetti di un solo tipo usi un template. Se vuoi una classe che possa contenere
oggetti di vari tipi ma tutti derivati dalla stessa base, fai un contanitore
(non templatizzato) di puntatori alla base e gestisci i contenuti dinamicamente.
L'inserimento e' banale, per l'estrazione otterrai puntatori alla classe base.
Se questo ti basta sei a posto. Altrimenti dovrai provvedere ogni volta ad un
dinamic_cast.
--
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

"Andrea Ferro" <And...@UrkaDVD.it> wrote in message
news:9i51qc$70t$1...@serv1.iunet.it...

Sostanzialmente il problema era questo:
l'utente sceglie una serie di parametri, sulla base dei quali io scelgo
un modello (classe A1 o A2).
Dovro poi eseguire una certa routine(), implementata (con la stessa
sintassi, ma diversa all'interno) in A1 e A2 (e anche in A, ma come
funzione pure).
Senza scendere nei dettagli sull'implementazione, avrei bisogno di un
oggetto globale che si ricordi della classe scelta, senza dover fare
ogni volta degli "if" per vedere se si tratta di A1 o di A2. Era per
questo che avevo pensato ai template. La classe template avrebbe dovuto
fare da interfaccia, chiamando A1::routine() o A2::routine.
Saluti.

 fare da interfaccia, chiamando A1::routine() o A2::routine.
Ti basta un puntatore ad A. Se la funzione e' pura in A e poi hai fatto
l'override in A1 e A2, basta che la chiami tramite il puntatore ad A e verrà
automaticamente eseguita quella corretta in base alla classe realmente
istanziata.


 istanziata.
Ok. Ti ringrazio per la spiegazione (mi chiedevo giusto a cosa
servissero le funzioni pure, sto imparando).
Ciao e buona domenica.
Newsgroup: it.comp.lang.c++
Titolo: o.l.- help

Salve,
qualcuno ha un esempio di codice sorgente C++ o VBA per realizzare una
funzione di permutazione concretizzantesi in un riordino lessicografico di
tutti gli elementi di un stringa data?
Grazie mille,
K
__________________________________________________________________ "Kurt
Fleißig" ICQ#: 158716837 Current ICQ status: + More ways to contact me
__________________________________________________________________

 lessicografico di tutti gli elementi di un stringa data?
eh???
Non sono sicuro di aver capito la domanda.
Per le permutazioni, il C++ mette a disposizione l'algoritmo
std::next_permutation (anche prev_permutation)
es.
#include <iostream>
#include <algorithm>
int main()
{
    char v[] = "abcd";
    std::cout << v << '\t';
    while(std::next_permutation(v,v+4))
    {
        std::cout << v << '\t';
    }
}
Per il riordino, invece, dai un occhio a std::sort come descritto
nel thread "Ordinamento A-Z" del 8/10/02 (3 giorni fa...)
ciao
--
Gerolamo

 Non sono sicuro di aver capito la domanda.
Esempio pratico:
In Excel metto, nella cella A1, la stringa CASA, ed ottengo,
automaticamente, nella cella B1(per effetto della presenza, in essa, di una
macro VBA), la stringa AACS.
Cosě, penso, il concetto dovrebbe essere chiarissimo.
Saluti
K

 Cosě, penso, il concetto dovrebbe essere chiarissimo.
Allora era giusta anche la mia soluzione, o no?
Ovviamente la soluzione era C++ e non una macro VBA,
ma era quel che chiedevi :-)
--
Gerolamo

 wrote in message
hjWp9.21227$%M1.5...@twister2.libero.it...

A me occorrerebbe la macro VBA.
ciao
K

 A me occorrerebbe la macro VBA.
visto che nell'altro post parli di ovvietà, sono sicuro che non
ti è sfuggito il particolare che qui si parla di C++, vero?
--
Gerolamo
"Stai attento con 'ovviamente'. Se è davvero ovvio non occorre
che tu lo dica e, se non è ovvio, è offensivo dire che lo è."
                (John Crichton)


Non lo si dica a me, prego: la mia è stata una reazione, non un'azione.
Newsgroup: it.comp.lang.c++
Titolo: Consiglio

Scusate la domanda:
ho un esercizio di esame che chiede di gestire una serie luminosa..delle
lampadine possono essere accese, spente o lampeggianti.
io ho pensato di usare tale file .h:
**************************************************************************
#include <iostream>
using namespace std;
class SerieLuminosa{
    friend ostream& operator << (ostream&, const SerieLuminosa&);
    int nLampade;
    int nSpente;
    int nAccese;
    int* lampade;
public:
    SerieLuminosa (int = 100);
    SerieLuminosa (const SerieLuminosa&);
    SerieLuminosa& operator = (const SerieLuminosa&);
    SerieLuminosa& operator *= (int);
    SerieLuminosa& operator /= (int);
    SerieLuminosa& operator &= (int);
    SerieLuminosa& operator |= (int);
    SerieLuminosa& operator ! ();
    ~SerieLuminosa (){ delete[] lampade; }
};
**************************************************************************
per quanto riguarda il costruttore di copia:
**************************************************************************
SerieLuminosa::SerieLuminosa (const SerieLuminosa& s){
    nSpente = s.nSpente;
    nAccese = s.nAccese;
    lampade = new int[nLampade = s.nLampade];
    for (int i = 0; i < nLampade; i++)
        lampade[i] = s.lampade[i];
}
**************************************************************************
è equivalente a
**************************************************************************
SerieLuminosa::SerieLuminosa (const SerieLuminosa& s){
    nSpente = s.nSpente;
    nAccese = s.nAccese;
    lampade = new int[nLampade = s.nLampade];
    int i;
    for (i = 0; i < nSpente; i++)
        lampade[i] = s.lampade[i];
    for (i = nLampade; i < nLampade-nAccese; i++)
        lampade[i] = s.lampade[i];
}
**************************************************************************
io credo di sì......... ma la prof dice di no..... voi che ne pensate??

 }
Premetto che la mia spiegazione si basa sul fatto che:
nLampade = nSpente + nAccese
Nel secondo for tu poni i = nLampade e come condizione poni i < nLampade -
qualcosa di conseguenza la condizione sara' sempre falsa perche' nLampade <
nLampade-x non e' mai vera per x >= 0, e il numero di lampade, o accese o
spente sara' sempre >= 0.
In definitiva, nella tua versione, il secondo ciclo for non viene mai
eseguito. Una modifica che dovrebbe far funzionare tutto sarebbe questa:
// Secondo ciclo for modificato
for (i = nSpente; i < nLampade; i++)
    lampade[i] = s.lampade[i];
Infatti con il primo for copi le spente, poi partendo dall'ultima spenta,
arrivi fino alla fine dell'insieme delle lampade e quindi copi le accese.
Ma per curiosita: la prof. ti ha detto il motivo? Te lo ha lasciato come
esercizio scoprirlo oppure ha compilato le due versioni, ha ottenuto due
risultati
diversi e ti ha detto che non funziona e basta?
Ciao
Newsgroup: it.comp.lang.c++
Titolo: Watcom c/c++

Salve a tutti, sono da poco approdato al modo del C/C++ ed ho scoperto
che molti sorgenti sparsi qua e la sono fatti per il compilatore
Watcom, che non trovo. Qualcuno sa dirmi dove lo posso trovare? O
qualcuno puo' postarmelo? (se non e' grande).
Grazie.

...


Newsgroup: it.comp.lang.c++
Titolo: Help su Edit->Text in Borland

Ciao,vorrei poter scrivere una cosa del genere,con un oggetto TEdit *Edit :
int i=0;
Edit->Text="Il contenuto di i č ..."; e vorrei il contenuto della variabile
i a video.
Ho provato a spulciare sull'Help in linea ma non ho trovato nulla :-(
Qualcuno puņ aiutarmi ?
Grazie a tutti,Marco

 Ho provato a spulciare sull'Help in linea ma non ho trovato nulla :-(
Chiedilo a Topoldo, lui che sostiene che l'help del Borland e' 
infallibile :-)
A parte questa piccola polemica, e il fatto che sei OT, devi utilizzare
la funzione IntToStr .
	int i=0;
	Edit->Text= AnsiString("Il contenuto di i č ") + IntToStr(i);
Ovviamente ci sono altre maniere, come il metodo Format della classe
AnsiString o addirittura utilizzando l'iostream standard per poi 
passare il buffer ottenuto alla "Edit->Text".
Guardati gli esempi, che non fa mai male.
Fausto


sprintf
IntToStr
itoa
eccetera, eccetera .....
Ciao,
Stefano


Edit->Text = "Il contenuto di i č " + String(i) ;
Comunque domande di questo genere vanno poste su it.comp.programmare.win32
Ciao, Sly_55
--
Per la casella di posta
metti si al posto di NO

infallibile :-)
Eh eh! Simpatico :-)
L'help di Borland, con 2 click (due a numero)  fornisce questo esempio
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int Size = Edit1->GetTextLen(); //Get length of string in Edit1
  Size++;                      //Add room for null character
  char *Buffer = new char[Size];  //Creates Buffer dynamic variable
  Edit1->GetTextBuf(Buffer,Size); //Puts Edit1->Text into Buffer
  Edit2->Text = Buffer;
  delete Buffer;
}
da cui si capisce che basta creare una stringa formata da una stringa
più un numero (convertito in stringa) ed assegnarlo a Edit->Text.
Se poi uno non sa unire due stringhe in una, basta cercare "integer to
string converting" e viene fornito (al primo colpo) un esempio di uso
di IntToStr. Tempo un minuto, e si è in grado di scrivere
Edit->Text="Testo"+IntToStr(i).
Non mi sembra malissimo, no?
-- 
Topoldo  
www.pianetalinux.com
(Grazie a Dio, sono ateo)
Newsgroup: it.comp.lang.c++
Titolo: Qualità dei numeri casuali

Ciao,
ho letto quanto si è detto sui numeri casuali e come fare
a generarne di sufficientemente buoni. Quindi ho scritto questo
pezzetto di codice, che viene eseguito quattro volte (ma ogni volta
relativamente ad un diverso oggetto), ed il valore neur.size() resta
sempre pari a 2.
          srand(reinterpret_cast<unsigned>((unsigned)(time(0))));
          pesiUscenti.reserve(neur.size());
          for (int i=0;i<neur.size();i++) {
           pesiUscenti.push_back((rand()/2.0)/RAND_MAX-0.25);
           cout<<"Peso sorteggiato: "<<pesiUscenti[i]<<endl;
          }
Il problema è che l'output del programma è il seguente, e non si
può certo dire che i numeri siano venuti uniformemente distribuiti!
Non c'è un modo per farli risultare per lo meno tutti diversi tra loro?
Peso sorteggiato: 0.177152
Peso sorteggiato: 0.167692
Peso sorteggiato: 0.177152
Peso sorteggiato: 0.167692
Peso sorteggiato: 0.177152
Peso sorteggiato: 0.177152
Grazie e ciao
Misirion

           for (int i=0;i<neur.size
scusa la mia ignoranza ma cosa rappresenta
neur.size() ?
grazie duido
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

...



E ho dimenticato il mitico Knuth (mea culpa):
http://sunburn.stanford.edu/~knuth/programs.html
 : cerca RANARRAY nella
pagina




Newsgroup: it.comp.lang.c++
Titolo: range constructor da array

int a[] = { 1, 2, 3 };
vector<int> v( a, a + sizeof(a)/sizeof(int) );
Domanda: che succede se a + sizeof(a)/sizeof(int) porta ad un indirizzo
di memoria non valido ?
La documentazione dice [i,j) quindi immagino che il costruttore
controllera` per minore di j, ma questo confronto tra puntatori (in
questo caso) *potrebbe* generarmi un segfault quando uno dei due
eventualmente punta memoria non valida ?
Saluti
-- 
int

 eventualmente punta memoria non valida ?
No, perché un confronto tra puntatori non richiede dereferenza.
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
Newsgroup: it.comp.lang.c++
Titolo: Problemi con DirectDraw7

Salve,  da poco ho iniziato a programmare in Visual C++ 6 e sto cercando di
impratichirmi con le DirectX7.
Ho iniziato snazzicando l'SdK del directX7 e modificando l'esempio WormHole
di DirectDraw7. Ma quando compilo mi da il seguente errore :
c:\projects\1st c++\starfield\starfield.hpp(26) : error C2501:
'LPDIRECTDRAW7' : missing storage-class or type specifiers
nella seguente linea :
LPDIRECTDRAW7         g_pDD = NULL;
Aiuto Please ci sto facendo il capo matto !!!!
Grazie in Anticipo........
Mark "A.D.E"
gonn...@iol.it

 wrote:
Ciao,
premesso che avresti fatto meglio a postare su it.comp.giochi.sviluppo
(dove ti invito ad andare per conoscere tante persone che come te si
dedicano allo sviluppo di videogiochi :)
Il problema credo che derivi dal fatto che il VC include degli header
per qualche versione delle DirectX precedente alla 7.
Per risolvere il problema non devi fare altro che inserire il path
della libreria (qualcosa tipo tipo x:\dxsdk\include) in
Tools->Option->Directories->Include. Ricordati di metterlo in testa
alla lista delle directories altrimenti il VC andrà sempre a leggersi
i vecchi header!
Ciao

Francesco Pischedda
Coder - Siderion

Newsgroup: it.comp.lang.c++
Titolo: info sulla funzione ExtEscape.

Ciao a tutti,
il problema che tormeta i mie sonni č questa maledetta ExtEscape. La dovrei
usare per inviare ad  stampante Epson alcuni comandi (ESC/P) per
disabilitare il form feed (FF).
Dal manuale msdn:
The ExtEscape function allows applications to access capabilities of a
particular device that are not available through GDI.
int ExtEscape( HDC hdc, int nEscape, int cbInput, LPCSTR lpszInData, int
cbOutput, LPSTR lpszOutData );
Parameters
hdc
Identifies the device context.
nEscape
Specifies the escape function to be performed.
cbInput
Specifies the number of bytes of data pointed to by the lpszInData
parameter.
lpszInData
....
Il problema č l' 'nEscape' come faccio a conoscere il valore di nEscape
associato ad un comando ESC/P?
Chiarisco con un esempio: Se volessi inviare alla stampante il comando 'ESC
O' quale valore dovrei dare al parametro nEscape?
Grazie per la collaborazione.
Max .

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

 ha scritto nel messaggio
news:3B121719...@divalsim.it...

Grazie Nicola  per il consiglio.
Max
Newsgroup: it.comp.lang.c++
Titolo: Web cam (una sfida?)

Avrei bisogno di sapere come fare a gestire immagini da web-cam (USB) in
c++. Suppongo che esistano librerie specifiche. Non è che qualcuno ha
suggerimenti o (ancora meglio) esempi di programmi (anche solo per riuscire
a visualizzare l'immagine)??????
Grazie dell'aiuto,
Carlo Canali

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

Newsgroup: it.comp.lang.c++
Titolo: vai un poco su questo link!! :-)

http://www.lellomele.supereva.it



Newsgroup: it.comp.lang.c++
Titolo: Definizione di un metodo di una classe

Salve,
cosa definisce lo standard circa la dichiarazione di un metodo di una 
classe senza effettuarne la definizione ???
Se in una classe A (ad esempio nel file A.h) dichiaro il metodo void 
f(); e non lo implemento nel file A.cpp, come si comporta il compilatore 
??? Genera una sorta di funzione in automatico o cosa ???
Grazie !

Bruno Ripa wrote:

beh, il compilatore se ne sbatte. L'importante è che la dichiarazione 
sia corretta e sia corretto il codice dove la funzione membro viene 
richiamata. Se poi non la definisci, sarà il linker ad avvertirti che la 
funzione non è stata definita.
-- 
"E' solo dopo aver perso tutto che siamo liberi di fare qualsiasi cosa."

 funzione non è stata definita.
Posto che la funzione sia utilizzata da qualche parte, altrimenti "se
ne sbatte" pure il linker.
Ciao,
Nicola

Nicola Musatti ha scritto:

Era quello che mi ha fregato :D
Grazie !

Newsgroup: it.comp.lang.c++
Titolo: string - casting automatico?

sto vedendo la classe string
moooolto comoda, anzi spettacolare direi per quello che ero abituato a fare
con il C  :)
però vorrei sapere se la passo a una funzione che vuole un'array di char:
BOOL SetWindowText( void * hWnd, char * lpString );
come 2° parametro devo passare un LPCTSTR, ovvero un puntatore a char (array
di char)
viene fatto un casting automaticamente? o devo chiamare qualche funzione
membro della classe string::  ?
--
ciao
..::[xaero]::..

 membro della classe string::  ?
Se ti accontenti di un puntatore a const char, allora chiama
std::string::c_str(); altrimenti, devi lavorare di strcpy.
Ciao
Domenico Barra


Si, devi chiamare il metodo std::string::c_str().
EMG
Newsgroup: it.comp.lang.c++
Titolo: Avvio di un programma

Ho scritto un programma (utilizzando MFC - Visual C++ 5.0) che funge da
interfaccia per un'apparecchiatura hardware esterna. La comunicazione
avviene tramite porta seriale. Il problema è questo: devo inviare dei valori
di settaggio iniziale all'avviamento. Ho provato a mettere il codice nella
OnInitDialog() (il programma è una Dialog Based Application), ma non mi
piace perchè questa viene eseguita prima di visualizzare l'interfaccia. L'ho
scritto in una funzione in risposta a WM_SHOW_WINDOW, ma anche in questo
caso viene eseguito prima della comparsa del programma. Alla fine ho
impostato un timer nella OnInitDialog(), che viene distrutto poi nella
OnTimer(). Non c'è un modo per sapere quando il programma ha finito di
inizializzare tutti i controlli e visualizzarli? Mi serve perchè la fase di
inizializzazione può visualizzare dei messaggi, ed è brutto vederseli
comparire prima ancora della maschera principale del programma.
--
N.B. rimuovere KKK per rispondermi

...


Ho già provato con WM_SHOWWINDOW richiamando CWnd::OnShowWindow(bShow,
nStatus) prima della mia inizializzazione, ma non funziona.

Ho gią provato con WM_SHOWWINDOW richiamando CWnd::OnShowWindow(bShow,


Sono daccordo con te.
Avevo già provato a metterlo in WM_PAINT, con un controllo su una variabile
booleana che viene posta a TRUE nella OnInitDialog (o nella DoModal, non
ricordo) e che veniva poi posta a FALSE la prima volta che veniva richiamata
OnPaint, dopo aver fatto la mia inizializzazione.
Risultato: Compare solo lo sfondo della finestra di dialogo prima di
lanciare la mia inizializzazione.
Ciao e grazie.

...


...


    }
Non servirebbe a molto, per una dialog-based
application, che e` quello che veniva domandato...
La Run() non entra mai in gioco per una tale
applicazione, visto che essa ritorna FALSE dalla
sua InitInstance!!!
Alex
Newsgroup: it.comp.lang.c++
Titolo: Domanda sui distruttori

Supponiamo che io crei una classa nella quale uso malloc() o new.
Il distruttore standard si proccupa di liberare da solo la memoria
oppure devo usare esplicitamente free() e delete?
grazie e ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
ICQ-UIN: 69071547
Io mi ricordo sempre il compleanno della mia ragazza:
cade il giorno dopo di quando lei me lo ricorda


La seconda che hai detto.
Manlio Perillo

oppure devo usare esplicitamente free() e delete?
Se intendi dire che hai un membro che e' un puntatore a della
memoria ottenuta con malloc/new alloda devi chiamare free/delete.
Es:
class A
{
  private:
    int ndati_;
    int *dati_;
  public:
    A(int ndati)
      : ndati_(ndati),
        dati_(new int[ndati_])
    {
      int i;
      for (i=0; i<ndati_; i++)
        dati_[i]=0;
    }
    ...
    ~A()
    {
      delete[] dati_; // DEVE essere chiamato delete[]
    }
};
In pratica il distruttore di una classe chiama il
distruttore di tutti i membri e poi passa ai distruttori
delle classi da cui la classe deriva.
Il distruttore di un puntatore pero' non fa nulla,
in particolare non dealloca la memoria puntata.
Se nella classe si fosse usato std::vector<int> invece
di "int *" allora non sarebbe servito nessun delete in
quanto il distruttore dell'oggetto vettore dealloca il
conenuto.
ATTENZIONE:
Sempre per la stessa regola se il vettore contiene dei
puntatori gli oggetti puntati non vengono deallocati!
Il vettore butterebbe via solo i puntatori.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Ok, grazie


Newsgroup: it.comp.lang.c++
Titolo: perchèperchèperchè

Ho questo programma: perchè secondo voi, a scuola sul c++ 3 non builder ogni
tanto mi da valori strani e negativi (cose che si inventa lui al momento
come al cabaret) e a casa sul c++ bulider 3 mi da sempre i valori corretti?
da che dipende?
non cambia nemmeno una virgola tra le 2 versioni del programma.
a voi il programma:
#pragma hdrstop
#include <condefs.h>
#include <conio.h>
#include <iostream.h>
//--------------------------------------------------------------------------
-
#pragma argsused
void main()
{
int i,j,n,temp;
int arr[100];
cout << "Inserisci La Quantità Di Numeri Da Ordinare: ";
cin >> n;
for (i=1; i<=n; i++)
 {
   cout << "Inserisci Il " << i << "° Numero: ";
   cin >> arr[i];
 }
for (i=1; i<=n; i++)
 {
  for (j=1; j<=n; j++)
   {
    if (arr[j+1]<arr[j])
     {
      temp=arr[j];
      arr[j]=arr[j+1];
      arr[j+1]=temp;
     }
   }
 }
cout << "I Numeri Ordinati Sono:";
for (i=1; i<=n; i++)
{
 cout << " " << arr[i];
}
while (!kbhit());
}

 }
Il codice di questa specie di bubble-sort degli
elementi arr[1] ... arr[n] e' sbagliato perche'
quando j==n viene usato anche arr[j+1].
Questo implica che anche l'elemento non inizializzato
arr[n+1] prende parte al sort. Se questo valore e'
sensato e maggiore di tutti i precedenti allora non
ti accorgerai dell'errore del programma, se invece
e' un valore sensato ma non maggiore di tutti gli
elementi allora ti sembrera' che il programma stia
dando i numeri.
HTH
Andrea

 ha scritto nel messaggio
news:3c6f695c...@news.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: Corso C++

Salve
Un mio amico vuole iscriversi a un corso di C++ di 500 ore.
Deve scegliere tra due:
entrambi propongono l'insegnamento di basi di informatica, Java, HTML, SQL e
C++
la differenza tra i due e' dovuta al fatto che uno insegna il C++ standard
per realizzare programmi su console DOS mentre l'altro utilizza il
compilatore Borland C++ Builder!
Secondo voi 500 ore sono sufficienti per un neofita per assorbire bene sia
il C++ che l'utilizzo del Borland C++ Builder. Quale dei due secondo voi e'
migliore?
Grazie
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.303 / Virus Database: 164 - Release Date: 24/11/2001

Non conta il numero di ore.
Conta come vengono utilizzate.
Ti consiglio il corso di Borland C++ Builder, probabilmente l'approccio
windows-oriented
lo renderà più accattivamente, anche se poi i contenuti di base non
cambiano.
"Maxy" <SP...@Tiscalinet.it> wrote in message
news:HLfc8.19419$8F6.8...@twister2.libero.it...


 Release Date: 24/11/2001
-- 
/****************************************/
/HomePage: 
http://accessdenied85.cjb.net
 /
/E-mail: .....access_denied[at]
libero.it
 /              *AccessDenied*
/****************************************/
Newsgroup: it.comp.lang.c++
Titolo: Aiuto! BCB 5 e IO, uno dei due è pazzo!

Come mai ottengo un errore:
[C++ Error] utilcls.h(2334): E2031 Cannot cast from 'const
TBaseVariantT<tagVARIANT>' to 'TVariant &'
[C++ Error] utilcls.h(2334): E2031 Cannot cast from 'const
TBaseVariantT<tagVARIANT>' to 'TVariant &'
nell header utilcls.h (di sistema, non l'ho scritto io) quando da una mia
classe chiamo.
RangePtr cells;
 TVariantInParam intValue;
...
...
cells=ws->get_Range(Cell1,TNoParam());
cells->Activate();
intValue=1234;
// Se lascio l'istruzione qua sotto il compilatore mi manda a utilcls.h con
l'errore di sopra, se la levo mi compila tutto!
cells->set_Value(intValue);
Eppure set_Value chiede un TVariantInParam...
Grazie!
Io uso Borland C++ Builder e sto cercando di lavorare sui workbook excel
(set_Value è definita in Excel_2k.h).

Guarda che su it.comp.lang.c++ sei OT, anche se mi rendo conto che non
esistono newsgroup specifici Borland in italiano. Vedo che hai gia'
scritto su it.comp.programmare.win32, se l'inglese non e' troppo un
problema puoi provare a chiedere sui newsgroup della Borland, che trovi
sul server 
newsgroups.borland.com
 .
Ciao,
Nicola
P.S. Perche' non create un newsgroup apposta?

 ha scritto nel messaggio
news:RQI96.802$lV5....@twister1.tin.it...


 sul server 
newsgroups.borland.com
 .
Non e` per fare polemica, ma il BCB e` un compilatore c++, quindi non e` OT.
Se il nome del gruppo fosse it.comp.lang.c++.microsoft potrei anche capire
...
Bye.

...
BCB puo' benissimo essere offtopic quando la domanda riguarda
qualcosa di specifico del BCB e non il linguaggio C++ in
generale. Una domanda sulla classe "CString" delle MFC sarebbe
altrettando offtopic.
Parlare di BCB, g++ e VC++ (o qualunque altro compilatore) non
e' offtopic quando la discussione riguarda il linguaggio C++ e
la libreria standard.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

http://beatles.cselt.it/news-it/manif/it.comp.lang.c++.txt
Ciao,
Nicola

 >Se il nome del gruppo fosse it.comp.lang.c++.microsoft potrei anche
capire
Mi sembra che invece riguardi il C++!!
Fino ad ora ero sempre stato buono e tranquillo però ora state esagerando!
Non si può chiedere nulla che si è OT!
Non sapete dir altro che siamo off-topic.
Questo se aveste letto bene è un problema di casting in una classe di C++.
Il fatto che sia BCB non c'entra assolutamente niente potrebbe essere una
classe qualunque scritta con un C++ ANSI qualunque...
Ma a voi (Musatti in testa) non importa, purchè sia diverso da qualche
stereotipo di c che avete in testa è off-topic.
Grazie!

 Probabilmente devi includere vcl.h prima di utilcls.h
Corro subito a provare...
Grazie mille!
Paolo Ferraresi.

 stereotipo di c che avete in testa è off-topic.
Del C non mi interesso. Lo "stereotipo" del C++ lo puoi trovare nello
standard del linguaggio, che puoi acquistare per 18 dollari su
www.ansi.org
.
Quando ti vedro' rispondere in modo preciso e dettagliato a problemi che
riguardano piattaforme che non usi, specificati male come hai
specificato male il tuo forse smettero' di riprenderti per la tua
maleducazione.
Ciao,
Nicola

 Nicola
Grazie per l'aiuto!
Paolo Ferraresi.
Newsgroup: it.comp.lang.c++
Titolo: precisazione su new/delete

Ciao a tutti, piccola domanda su new/delete:
Posso esser certo che la memoria allocata con new rimanga allocata (a meno 
di non usare delete) anche dopo l'uscita dalla funzione che l'ha allocata?
Ovviamente immagino che una volta usciti da main il SO liberi tutta la 
memoria usata dal programma, ma fino a quando main è in esecuzione?
(Cioè in sostanza vorrei scrivere una funzione che alloca memoria 
restituendo un puntatore e poi usare questo puntatore in main o altre 
funzioni per accedere alla memoria allocata).
Ho come il sospetto di aver chiesto una cosa banale ma avrete capito che 
sono un tantinello principiante...
:)
grazie,
br 

 memoria usata dal programma,
Sì, normalmente è così ma il linguaggio non lo garantisce. Dipende dal
sistema operativo.
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic

 funzioni per accedere alla memoria allocata).
E' certamente possibile. Attento pero' che prima o poi dovrai chiamare 
delete su tale puntatore, ed assicurarti che sia sempre questo il caso. Dai 
anche una occhiata a: 
http://www.boost.org/libs/smart_ptr/smart_ptr.htm
 ed 
in particolare a 
http://www.boost.org/libs/smart_ptr/shared_ptr.htm
 . In 
alcuni casi, poi,  invece di allocare memoria con new basta usare un 
semplicissimo container tipo vector.
Tommaso
Newsgroup: it.comp.lang.c++
Titolo: Documentazione c, c++

Vi chiedevo se conoscevate un sito dove poter trovare della
documentazione sulla programmazione. In particolare sarei interessato a
testi che riguardano l'Ingegnerizzazione del software, le modalità di
strutturazione di un programma, come se ne effettua l'analisi, e tutto
quello che riguarda la progettazione del software (individuazione delle
classi, strutturazione e suddivisione del codice in più file, cose da
evitare ecc..), prima della stesura del codice.
Grazie anticipatamente
Davide
P.S.
Gradirei, risposte anche in e-mail
davide_...@bigfoot.com

 wrote in message
7j09ru$a8c$1...@nslave1.tin.it...


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

Mi spiegate perche' mi da l'errore?
grazie (VC++5)
#include <iostream.h>
template <typename Lista>
class clista {
	public:
		clista();
		~clista();
		clista *inserisci_in_fondo(clista*,Lista&);
	    clista *visita_lista(clista*);
	    clista *inserisci_in_posizione(clista*,Lista&,Lista&);
	    clista *cancella_ultimo_elemento(clista *);
	    clista *cancella_elemento_posizione(clista *,Lista&);
	private:
		Lista& elemento;
		clista* next;
};
template <typename Lista>
clista* clista<Lista>::inserisci_in_fondo(clista* inizio,Lista& obj) 
{ //ERROR: use of class template requires template argument list
    struct clista *scorri;
    if (inizio){
        for (scorri = inizio; scorri->next;scorri=scorri->next);
        scorri->next = new clista*;
		scorri->next->elemento=c;
        scorri->next->next = NULL;
		grand++;
    }
	else
	{
        inizio = new clista*;
        inizio->next = NULL;
		grand++;
    }
return inizio;
}

Mi spiegate per favore perche' mi da questo errore?
Grazie (VC++5)
#include <iostream.h>
template <typename Lista>
class clista {
	public:
		clista();
		~clista();
		clista *inserisci_in_fondo(clista*,Lista&);
	    clista *visita_lista(clista*);
	    clista *inserisci_in_posizione(clista*,Lista&,Lista&);
	    clista *cancella_ultimo_elemento(clista *);
	    clista *cancella_elemento_posizione(clista *,Lista&);
	private:
		Lista& elemento;
		clista* next;
};
template <typename Lista>
clista* clista<Lista>::inserisci_in_fondo(clista* inizio,Lista& obj) 
{   //ERRORE : use of class template requires template argument list


Newsgroup: it.comp.lang.c++
Titolo: funzione tipo getch()

Sapete se esiste una funzione std tipo getch() di conio.h che permetta di
inserire un carattere direttamente da tastiera senza premere invio?

 inserire un carattere direttamente da tastiera senza premere invio?
No, non vi e` nessuna funzionalita` del genere nel C++ Standard; devi
usare approcci specifici delle singole piattaforme che ti interessano.
Alex
Newsgroup: it.comp.lang.c++
Titolo: dove scarico C++ anche trial???

Dove posso scaricare Borland C++ anche trial???
Grazie a tutti
Ciao
djAxe

 ha scritto nel messaggio
news:a8mfk7$tikmd$1...@ID-138700.news.dfncis.de...


 ha scritto nel messaggio
news:3oAr8.65887$S52.2...@news2.tin.it...


percorso completo?
tu hai detto Borland C++ (si sottintende il compilatore) non
Borland C++ Builder
--
Lawrence Oluyede
rhy...@myself.com

 percorso completo?
Quella e' la versione 6, puoi invece
scaricare la trial della 5.
Ciao

 ha scritto nel messaggio
news:a8mfk7$tikmd$1...@ID-138700.news.dfncis.de...


Newsgroup: it.comp.lang.c++
Titolo: [OT]formati audio

Salve a tutti,
sono interessato a conoscere cosa contengono i file audio(wav,mp3,mpc,etc).
Soprattutto come sono organizzati i byte al loro interno, a quali si trovano
i tag con le informazioni ed altro.
Grazie

"Peter Parker" ha scritto:

su
http://www.wotsit.org/
trovi vari documenti sul formato dei file
--
imho

 trovi vari documenti sul formato dei file
aggiungerei
it.comp.musica
per questo genere di domande.
-- 
Gerolamo

 ha scritto nel messaggio
news:98tBa.44698$lK4.1...@twister1.libero.it...

Newsgroup: it.comp.lang.c++
Titolo: Array di una struttura con membri CSting

Ciao, non sono molto afferrato in C++
come faccio a rendere una struttura con membri CString un'array da
dimensionare a seconda del numero di record che devo inserire?
il sizeof(struttura) non funziona correttamente.
appena accedo al membro CString e scrivo la stringa che mi interessa il
programma mi va in errore...
struct TEST
{
    CString Campo
    bool    ValorediControllo
} *myTest;
myTest=malloc(n * sizeof(TEST))
ringrazio anticipatamente chi puo' darmi una mano.
Stefano

Ciao, non sono molto afferrato in C++
Notato... 8-) malloc() è C non C++

#include <vector>
std::vector<TEST> ArrayDiTest;
ecc...
Ciao, Luc.


Il programma va in errore perché la funzione malloc alloca i byte in memoria
heap ma non chiama il costruttore standard della struttura TEST e quindi non
chiama nemmeno il costruttore del membro Campo che quindi non viene
inizializzato.
Io ti consiglio di usare la funzione new piuttosto che malloc:
myTest = new TEST[n];
e quando non ti serve piů il vettore utilizzare
delete [ ] myTest
per liberare la memoria ( le due parentesi quadre sono importanti per
informare il compilatore di chiamare il distruttore per tutti gli oggetti
allocati ).

Newsgroup: it.comp.lang.c++
Titolo: Come funziona il <locale> ?

Per esempio:
#include <string>
#include <sstream>
int main ()
{
   std::string str("1.500,25");
   std::istringstream istream (str);
   double dbl;
   istream >> dbl;
   return 0;
}
non funziona; dbl diventa 1.5 perchè interpreta il . come separatore
decimale, e
non come separatore delle migliaia.
Ho spulciato il sorgente della libreria e mi sono accordo che quando
chiama
numpunct.decimal_point() ritorna il carattere . e non il carattere
virgola, come
vorrei io.
Come mai, quindi, non funzionano le impostazioni locali?
Grazie, FBF

 ha scritto nel messaggio
news:3A2E5DF...@libero.it...

In realtà il locale funziona benissimo, solo che in tutti i locales io
conosco (per il C++) non c'è alcun separatore di migliaia, e il separatore
decimale è il punto. Se vuoi altre impostazioni devi configurarti un locale
personalizzato.
Ciao
Domenico Barra

Grazie, FBF
Io non mi cercherei grane con questa roba... ho trovato
un bel po' di bug in queste parti in vari compilatori.
Per esempio giusto ora ho provato BCC55 che ha comportamenti
assurdi con il tuo esempio (da lettura di numeri pazzeschi,
a "abnormal program termination" a GPF).
Comunque perche' l'input dovrebbe accettare 1.000,75 ?
non credo che con le impostazioni americane tolleri
la virgola in mezzo ai numeri (anche se la virgola e'
negli states il separatore delle migliaia).
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 negli states il separatore delle migliaia).
Si, ho notato questa cosa, e non ho capito bene perchè.
Comunque adesso ho capito come ottenere il carattere
utilizzato per la divisione delle migliaia (std::use_facet con
std::numpunct) e quindi prima lo elimino dalla stringa e
poi lo do in pasto all'istringstream.
Ciao Fbf.
Newsgroup: it.comp.lang.c++
Titolo: Problema di sintassi

Qual e' la sintassi da utilizzare per scrivere il mio programma C su pių
moduli? Ad esempio un file per il Main ed uno per tutte le procedure che poi
richiamo nel Main? Non mi ricordo la sintassi chi ha pių memoria di me mi
aiuti per piacere.
Ciao a Tutti e grazie anticipatamente per l'aiuto
                                                        Filo

Devi far uso della Keyword extern.
Se spulci fra i recenti messaggi sul news c'è una discussione che io stesso
ho aperto, e che si chiama "l'uso che faccio di extern è corretto?" o
qualcosa di simile.
Sostanzialmente farai dei files.h in cui dichiari le funzioni e dei files .c
in cui implementi (cioè definisci) le funzioni.
Poi fai gli #include e.. dovrebbe filare.
Bye,
Sebastiano

 wrote in message
8oge5b$eoe$1...@nslave1.tin.it...

Il Problema e' che il codice che sto scrivendo e' un mix fra C e C++ e
probabilmente devo usare la sintassi C++ perché quella che mi hai suggerito
tu non funziona per cui se non ti scoccia sai per caso qual e' la sintassi
del C++ per fare il programma in più moduli?
Scusa e grazie in anticipo
Ciao Ciao Filo

Puoi dare una occhiata al mio tutorial su 
www.programmazione.it
Paolo
-------------------------------------------
  Paolo Marotta
 
http://web.tiscalinet.it/paolo_marotta/
-------------------------------------------

Finite le ferie, eh? :-)
Ciao,
Nicola

 Puoi dare una occhiata al mio tutorial su 
www.programmazione.it
Bentornato! :-)
EMG



Felice di rivedervi...
Che fine ha fatto quell'enciclopedia di nome Alex Martelli?  


Finite le ferie, eh? :-)
E gia`....
Mi ci voleva proprio un intero mese di quasi assoluta distanza dalla
tecnologia (computer in primis).
Ora sono in febbrile attivita causa trasferimento a Roma per lavoro,
per adesso non mi resta molto tempo perche` non ho ancora
definitivamente concluso con l'universita`, spero comunque di riuscire
a seguire ancora il NG.



Bentornato!
Vedo post di Alex Martelli su comp.lang.python
di piů non so...
Gerolamo

di piů non so...
Evidentemente al momento e` preso da python che
ricordo ammira molto!


Newsgroup: it.comp.lang.c++
Titolo: Come settare data/ora di un file?

Salve a tutti,
devo scrivere un programmino che possa cambiare la data e l'ora di un file,
ma non so proprio come fare... Qualcuno puň aiutarmi?
Grazie!

 ma non so proprio come fare... Qualcuno puņ aiutarmi?
E scommetto che devi scriverlo in C++,
altrimenti perche' avresti postato qui ?
Qui sei OT, ti conviene chiedere su un NG piu'
inerente al sistema operativo a cui il file
appartiene.
G.

 devo scrivere un programmino che possa cambiare la data e l'ora di un file,


 devo scrivere un programmino che possa cambiare la data e l'ora di un file,
