PDA

Visualizza la versione completa : [C++] Controllo codice per concatenazione lettere


rifa
13-02-2011, 18:45
volessi fare che inserite lettera 1 e lettera 2 compaiano di fila,esempio:
inserisco "a" per la variabile A
inserisci "h" per B
vorrei che alla fine uscisse "ah".
schiusate la niubbata -|:


#include <iostream>

using namespace std;

int main(){
char a,b,c;
cout<<"letter 1"<<endl;
cin>>a;
cout<<"letter 2"<<endl;
cin>>b;
c=a+b;
cout<<c<<endl;
system("pause");
}

Alex'87
13-02-2011, 19:02
Originariamente inviato da rifa
volessi fare che inserite lettera 1 e lettera 2 compaiano di fila,esempio:
inserisco "a" per la variabile A
inserisci "h" per B
vorrei che alla fine uscisse "ah".
schiusate la niubbata -|:


#include <iostream>

using namespace std;

int main(){
char a,b,c;
cout<<"letter 1"<<endl;
cin>>a;
cout<<"letter 2"<<endl;
cin>>b;
c=a+b;
cout<<c<<endl;
} Sostituisci l'ultimo cout con

cout << "letters: "<< a << b << endl;

rifa
13-02-2011, 19:08
ah che idiota che sono hai ragione..ancora un paio di dubbi,
se al posto che inserire una lettera ne inserisco di piu' salta alla fine,non va bene il char?
poi non c'e' un modo perche' la somma di A e B finisca in C,e da esso possa essere richiamato?
grazie

Alex'87
13-02-2011, 19:15
Originariamente inviato da rifa
se al posto che inserire una lettera ne inserisco di piu' salta alla fine,non va bene il char? Una variabile di tipo char può contenere un solo carattere (un char, appunto :stordita: ) Se vuoi acquisire parole intere dovresti usare string (dopo aver incluso <string> all'inizio del file).


Originariamente inviato da rifa
poi non c'e' un modo perche' la somma di A e B finisca in C,e da esso possa essere richiamato?In italiano?

MItaly
13-02-2011, 19:44
Originariamente inviato da rifa
ah che idiota che sono hai ragione..ancora un paio di dubbi,
se al posto che inserire una lettera ne inserisco di piu' salta alla fine,non va bene il char?
Semplicemente lo stream di input (cin) ha un buffer, se inserisci più caratteri questi restano in coda per le letture successive. Vuoi svuotare il buffer tra un inserimento e l'altro?


poi non c'e' un modo perche' la somma di A e B finisca in C,e da esso possa essere richiamato?

In sostanza, vuoi creare una stringa di caratteri?

rifa
13-02-2011, 22:06
si,parlavo di una stringa di caratteri :P
comunque alex,intendevo trasferire il risultato di a+b nella variabile C, del tipo

a=a;
b=h;
c=a+b;
cout<<c;

e risulta stampato

"ah";

facendo stampare C e non prima A e poi B

MItaly
13-02-2011, 22:14
char c[3];
cout<<"Prima lettera: ";
cin>>c[0];
cout<<"Seconda lettera: ";
cin>>c[1];
c[2]=0; // aggiunge il terminatore di stringa
cout<<c;

Ma prima di fare altri paciughi con le stringhe ti consiglio di leggerti il relativo capitolo nel tuo manuale di C++.

rifa
13-02-2011, 22:16
capito, grazie mille a tutti :)-

MItaly
13-02-2011, 22:41
:ciauz:

Loading