Nie ukrywając jestem zwolennikiem Pascala Przyzwyczaiłem się do niego, jednak czas najwyższy na przesiadkę na c++. Mianowicie chciałem “przetłumaczyć” mój pascalowy kod na c++ i napotkałem następujące problemy:
jak zamienić
case tekst of:
'p','i': write ('xx')
oraz
for i:= 1 to length(tekst)
Proszę was o pomoc, ale jeśli chodzi o case to switch case to nie jest to o co mi chodzi.
Co do lenght to masz str.lenght() czy coś takiego, będzie for(i=1;str.lenght(tekst);i++), a co do case to jego odpowiednik w c++ to właśnie switch case.
Zależy czy wczytujesz znak czy tekst, podam Ci dla znaku.
char tekst;
cin >> tekst;
switch(tekst){
case ‘p’: ;
case ‘i’: cout << “xx”;
break;
}
Należy pamiętać, że tablice w języku C/C++ są numerowane od 0 do n-1. Tak więc aby wypisać znaki z tablicy tekstowej należy:
char tekst[20];
for(int i = 0; i < strlen(tekst); i++) cout << tekst[i];
Jeszcze inaczej, jeśli mamy do czynienia z tablicami typu char czyli defacto C-stringami to korzystamy z funkcji strlen(char*), zaś jeśli z obiektami typu string to korzystamy z metody length (dla string str, str.length() ).