Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z wyjsciem z programu

Ostatnio zmodyfikowano 2015-12-03 20:58
Autor Wiadomość
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 :(
C/C++
#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.
P-141186
carlosmay
» 2015-11-30 21:17:16
C/C++
while( getline( cin, napis ) ) // po prostu jest nieskonczona bez dodatkowego warunku
 funkcja getline() jest OK. Nie wiem jakie tam masz instrukcje w środku pętli.
Może one powodują błąd.
P-141197
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 ?
P-141205
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.
P-141266
mateczek
» 2015-12-02 07:48:46
Ctrl+Z - chyba na Windows
na linux Ctrl+D to wiem na pewno !!!
C/C++
while( getline( cin, napis ) ) // tu ci cały czas czeka na dane!!![/cpp]

P-141272
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 ?
P-141365
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.
P-141366
zozzol
Temat założony przez niniejszego użytkownika
» 2015-12-03 19:09:06
myslalem o funkcji get ale nie umiem tego uzyc
P-141367
« 1 » 2
  Strona 1 z 2 Następna strona