PDA

Visualizza versione completa : [C++] Come si usa string?


Longhorn
05-03-2006, 14.26.02
Ho un programma del genere:
include <iostream>
int main() graffa( come si fa a scrivere la graffa?)
string word;
cout <<"Scrivi la parola e verifica che sia Ciao"<<;
cin >> word;
if (word==Ciao);
cout <<"La parola Ŕ ciao"<<;
else cout <<"La parola non Ŕ Ciao"<< endl;
chiusa graffa

Lasciate perdere eventuali , ' ; ed endl perchŔ lo scritto velocemente, comunque:
Come faccio a mettere la parola in una stringa che viene presa da cin e a confrontarla se Ŕ Ciao o no?
Bye!

Downloader
05-03-2006, 15.10.11
la parentesti graffa si fa cosi:
{ = ALT+123
} = ALT+125

Downloader
05-03-2006, 15.12.22
Credo che te abbia bisogno di un array di char.

char nome[30];

Downloader
05-03-2006, 15.16.57
E poi non credo che tu con l'if possa fare il controllo tra stringhe, dovresti usare la funzione strcmp.

Fast-M
06-03-2006, 10.17.43
Guarda, per le graffe credo che tu faccia prima ad usare la combinazione di tasti: shift-destro+altGr+Ŕ oppure +
Per la condizione di uguaglianza sulla stringa, non so come venga trattata precisamente in C, ma in java si usa il metodo:

stringa1.equals(stringa2);

PerchŔ le stringhe sono trattate come oggetti.

SkAkKo
06-03-2006, 13.29.40
devi utilizzare la funzione
int strcmp(const char *s1,const char *s2);
se restituisce il valore 0 le due stringhe sono uguali.

LoryOne
07-03-2006, 08.11.15
if (word==Ciao);
cout <<"La parola Ŕ ciao"<<;


Va bene ma occhio che Ciao Ŕ una stringa ed il punto e virgola dove lo hai messo tu non Ŕ corretto.

Il C++ ti consente di utilizzare la seguente sintassi "if(word=="Ciao") grazie ad una potentissima peculiaritÓ di C++ che Ŕ chiamata overloading degli operatori e grazie anche alla nuova tipologia string implementata appositamente per facilitare la gestione delle stringhe.

Downloader
07-03-2006, 08.50.21
Originariamente inviato da LoryOne

"if(word=="Ciao")



Scusa Lory, piccola curiositÓ visto che non conoscevo questo modo di operare:
ma le virgolette prima dell'if sono corrette o ti sei sbagliato a scrivere?
Te lo chiedo perchŔ non capisco il motivo per cui all'inizio dell'if ci sono ma non alla fine.

tnx! :)

LoryOne
07-03-2006, 12.03.15
E' chiaramente un " errore di battitura.

Downloader
07-03-2006, 12.42.31
Ok :p

SkAkKo
07-03-2006, 14.19.38
Originariamente inviato da LoryOne

if (word==Ciao);
cout <<"La parola Ŕ ciao"<<;


Va bene ma occhio che Ciao Ŕ una stringa ed il punto e virgola dove lo hai messo tu non Ŕ corretto.

Il C++ ti consente di utilizzare la seguente sintassi "if(word=="Ciao") grazie ad una potentissima peculiaritÓ di C++ che Ŕ chiamata overloading degli operatori e grazie anche alla nuova tipologia string implementata appositamente per facilitare la gestione delle stringhe.

sapevo della classe string implementata dal c++..ma dell'overloading == no..grande Lory (Y)