problema con wxDev-cpp

Pubblicità

Cesa

Utente Attivo
Messaggi
56
Reazioni
1
Punteggio
26
salve a tutti, ho installato win8 e da allora solo problemi, derive (che sono riuscito a fare funzionare), e dev c++;
prima usavo dev c++ 4.qualcosa ma su win 8 non va il compilatore. era tutto più semplice, su wxDev-c++ invece per un semplice system("PAUSE") ci vogliono 3 librerie.

il problema ora è un altro, non riconosce il comando per la conversione di una stringa....
cout<<"inserisci nome"<<"\n";
cin>>vetnome;
transform(vetnome.begin(), vetnome.end(), vetnome.begin(), (int(*)(int))toupper)
da il seguente errore:
'tranform' was not declared in this scope


a scuola che usiamo il vecchio Dev-c++ funziona tutto che è una meraviglia..... qualcuno mi aiuti per favore... non mi va di passare a win7
:doh:
(anche perchè su win8 i giochi girano meglio :lol:)
 
è evidente che quel comando necessità di un ulteriore libreria, cerca su Google "utilizzo transform c++" e vedi cosa manchi.

c'è da dire che sono un po arrugginito con il c++ ma ricordo che io usavo le funzioni incluse in string.h per la loro manipolazione, quel comando non l'avevo mai visto
 
sw e utility credo sia la migliore :)

- - - Updated - - -

è evidente che quel comando necessità di un ulteriore libreria, cerca su Google "utilizzo transform c++" e vedi cosa manchi.

c'è da dire che sono un po arrugginito con il c++ ma ricordo che io usavo le funzioni incluse in string.h per la loro manipolazione, quel comando non l'avevo mai visto
grazie... ma ho trovato solo questo comando, la libreria string.h la metto e anche cctype ma niente...
 
cout<<"inserisci nome"<<"\n";
cin>>vetnome;
transform(vetnome.begin(), vetnome.end(), vetnome.begin(), (int(*)(int))toupper)

una volta letto il nome, lo mette nel vettore vetnome di grandezza 'i', nell'istruzione successiva trasforma i caratteri della stringa da minuscolo a maiuscolo, mentre lascia invariati i caratteri maiuscoli
 
beh volendolo fare manualmente potresti semplicemente ricavarti la differenza tra le maiuscole e minuscole in intero e scorrerti la stringa con un while, cambiando solo i caratteri che servono.
Codice:
[FONT=courier new]int diff, i=0;
diff='a'-'A';
while ([COLOR=#333333]vetnome[i]!='\0'[/COLOR])
[/FONT][FONT=courier new]{
    if([COLOR=#333333]vetnome[i]>='a' && [/COLOR][COLOR=#333333]vetnome[i]<='z'[/COLOR])
[COLOR=#333333]           vetnome[i]=(char)((int)[/COLOR][COLOR=#333333]vetnome[i]-diff);[/COLOR]
    i++;
}[/FONT]

scusami se eventualmente ho sbagliato qualcosa, ma tel'ho detto sono arrugginito col c++, l'importante è che ho reso l'idea :)
 
Ultima modifica:
questo comando lo ho usato in un programma assembler in sistemi, è bastato moficarlo un po' per implementarlo in c++ :)
si ho risolto comunque :)
 
Pubblicità
Pubblicità
Indietro
Top