rzutowanie a wyswietlany znak

0

cześć mam pewien problem. mianowicie robię w c++ taką zabawkę że najpierw trzeba podać słowo później program wyświetla ostatnią literę tego słowa i na tą literę trzeba napisać kolejne słowo i tak w kółko, ale mam pewien problem

 #include <conio.h>
#include <iostream>
#include <string>

using namespace std;

main()
{
string slowo;
char znak;
cin>>slowo;
znak=static_cast<char>(slowo.length() - 1);
cout<<znak;
getch();
}

powinno to wyglądać tak że ja wpisuje słowo ostatnia litera staję się typem char i wywala ją na ekran, ale po wpisaniu słowa dawid wywala mi jakiś dziwny znaczek na pewno nie litere d. więc co jest nie tak i jak sobie z tym poradzić;

0

Heh, Ty wypisujesz długość stringu pomniejszoną o 1 jako char, więc nic dziwnego. :P

Powinno być znak=static_cast<char>(slowo[slowo.length() - 1]);

0

dzięki od dziś będę Cię czcił i w ofierze dawał ponętne dziewice i zimne browary. [browar]

0

sorry że nie edytuję postów ale nie jestem zarejestrowany więc nie mogę(chwalić tą stronę że nie muszę się rejestrować). Jak sprawdzić pierwsza literę wyrazu bo chcę żeby sprawdzały czy pierwsza litera nowego wyrazu jest ostatnią poprzedniego coś kminiłem z imię.length - imie.length +1 itp, ale mi nie idzie każdemu kto mi pomoże jako ofiarę dam zimne piwko [diabel]

0

imie[0] ?
I jak będziesz dawał to piwo, i dziewice, to ja jednak poproszę rozpustnicę :)

0
string slowo;
cin>>slowo;
do
{
  char znak=static_cast<char>(slowo[slowo.length() - 1]);
  cin>>slowo;
  if(slowo[0] != znak)
    cout<<"oszukujesz :P"<<endl;
}while(znak != '.') //zatrzyma się jak slowo skończy się na kropkę
0

No i wszystko jasne zapraszam chłopaki do mojego haremu [diabel]

1 użytkowników online, w tym zalogowanych: 0, gości: 1