Problem z wyjsciem z programu
Ostatnio zmodyfikowano 2015-12-03 20:58
zozzol Temat założony przez niniejszego użytkownika |
Problem z wyjsciem z programu » 2015-11-30 18:57:51 Witam, napislalem program jak ponizej. Przy kompilacji w codeblock mam dobry out, a przy kompilacji na ideone.com n wyjsciu nie mma kompletnie niczego. Nie wiem o co chodzi :( #include <iostream> #include <string> using namespace std; int main() { string napis; while( getline( cin, napis ) ) { for( int i = 0; i < napis.size(); i++ ) { tu mam instrukcje } cout << napis << endl; } return 0; }
Czy jest to jakis problem z tym zapisem while(getline(cin,napis)) ??? Bo tak podejrzewam, ale nie wiem jak zapisac zeby mi cala linie wczytywal az do konca danych. |
|
carlosmay |
» 2015-11-30 21:17:16 while( getline( cin, napis ) )
funkcja getline() jest OK. Nie wiem jakie tam masz instrukcje w środku pętli. Może one powodują błąd. |
|
zozzol Temat założony przez niniejszego użytkownika |
juz wiem co powoduje blad » 2015-11-30 23:23:12 else if( napis[ i ] >= 97 && napis[ i ] <= 122 ) { napis[ i ] += 13; if( napis[ i ] > 122 ) napis[ i ] -= 26; } ta linijka, problemem jest podejrzewam ta cyfra 122(bo jak mam zakres 65-90 to linijka działa). Ale nie kumam dlaczego.Przeciez to numer kodu ASCII i w typie string nie powinno byc z tym problemu. Moglbym zapisywac cala linie do tablicy charow ale to chyba malo wygodne ? |
|
bombatom69 |
» 2015-12-01 23:31:16 Cokolwiek próbujesz zrobić, bo nie wiem co, to mam nadzieję, że wiesz, iż: od 97 zaczynają się małe litery alfabetu łacińskiego od 65 zaczynają się wielkie litery.
Wykluczając w warunku jeden z tych zakresów musisz mieć świadomość następstw.
Ach... 122 to nie cyfra. |
|
mateczek |
» 2015-12-02 07:48:46 Ctrl+Z - chyba na Windows na linux Ctrl+D to wiem na pewno !!! while( getline( cin, napis ) )
|
|
zozzol Temat założony przez niniejszego użytkownika |
» 2015-12-03 18:21:45 Heh... doszedlem wkoncu co jest. Analizujac pojedyncze znaki ze stringa, sa one traktowane jako chary jak mi sie zdaje, wiec nie moga one przekroczyc wartosci 127( bo char to -127 do 127). Jesli do 122 dodam 10 to juz przekroczylem ta wartosc. Na tym polegał błąd :)
A tak przy okazji.. ktos wie moze jak zmienic warunek z getline zeby wczytywalo znak konca linii do stringa ? |
|
carlosmay |
» 2015-12-03 18:58:53 wie moze jak zmienic warunek z getline zeby wczytywalo znak konca linii do stringa ? |
Funkcja getline() chyba tak nie potrafi. Zawsze możesz po użyciu funkcji getline() dokleić znak nowej linii do stringa. |
|
zozzol Temat założony przez niniejszego użytkownika |
» 2015-12-03 19:09:06 myslalem o funkcji get ale nie umiem tego uzyc |
|
« 1 » 2 |