kowal Opublikowano 1 Listopada 2005 Opublikowano 1 Listopada 2005 zabrałem się za nauke języka c++ :) mam problemik: chcem zrobic programik ktory wymaga od nas podania imienie a po spacji nazwiska. Robilem to w ten sposob: char slowo [10] ale to mi nie pasuje bo ja chcem na przykład podac wiecej liter niz 10, moge zmienic na przyklad na [80] ale to tez zle bo ktos inny moze napisac wiecej znakow niz 80 i wtey ciąg będzie urwany. kiedyś cos na ten temt czytałm, ale zgubiłem wątek <_< help.
Vardi Opublikowano 1 Listopada 2005 Opublikowano 1 Listopada 2005 Dołącz plik nagłówkowy string.h i zadeklaruj zmienną w ten sposób: string slowo; Możesz jeszcze użyć drugiego sposobu czyli: char *slowo; Tego drugiego sposobu nie polecam nikomu. Pierwszy jest znacznie lepszy.
Filar Społeczności Ranmus Opublikowano 1 Listopada 2005 Filar Społeczności Opublikowano 1 Listopada 2005 Tak jak Vardi napisal, bo co masz sie meczyc z tablicami char'ow jak w C, skoro C++ oferuje obiekt string. Jest to znaczne ulatwienie.
kowal Opublikowano 1 Listopada 2005 Autor Opublikowano 1 Listopada 2005 Już lepiej ale nie do końca :) Taki programos jest: #include <cstdlib> #include <iostream> #include <string.h> using namespace std; int main(int argc, char *argv[]) { string imie; cout<<"podaj imie" <<endl; cin>> imie; cout<< endl; cout<<"podales imie : " << imie <<endl; system("PAUSE"); return EXIT_SUCCESS; } jak pyta mnie o imie to pisze na prz. Jan (spacja) Kowalski, no a niestety podaje mi ze podalem tylko jan, bez kowalski bo jest po spacji, co w takim wypadku zrobic??
Maximal Opublikowano 1 Listopada 2005 Opublikowano 1 Listopada 2005 Najprościej zrobić oddzielną zmienną dla imienia i nazwiska.
Firemark Opublikowano 1 Listopada 2005 Opublikowano 1 Listopada 2005 mym zdaniem: system("PAUSE") zmień na getchar() EXIT_SUCCESS na 0 Być może to samo,ale mniejszy kod,co jest jednak ważne :]
Filar Społeczności Ranmus Opublikowano 1 Listopada 2005 Filar Społeczności Opublikowano 1 Listopada 2005 Uwaga co do tej linijki: #include <string.h> Czy przypadkiem nie powinno nie być tam ".h", ponieważ, jak mnie pamięć nie myli, niektóre biblioteki C++ tak właśnie są rozróżniane od bibliotek C.
kowal Opublikowano 1 Listopada 2005 Autor Opublikowano 1 Listopada 2005 Hmm ok. Ale patrzcie jeslina przyklad moj program ma zrobic tak: napiszemy jakis tekst np. fasdjfjfkasfh akjfhakfhak hafhakfhafhakh hfaskfhakfhafh akhfakfha. i potem nam na ekran wypisuje caly ten tekst, a nie pierwsza czesc az do spacji, tylko całe.
Filar Społeczności Ranmus Opublikowano 1 Listopada 2005 Filar Społeczności Opublikowano 1 Listopada 2005 No i czemu się dziwisz? Przecież w swoim skrypcie nie ma żadnych ograniczeń itd. http://www.cplusplus.com/ref/cstring/ Powinieneś zrobić dwa zapytania, najpierw o imię a potem nazwisko. Jeżeli jednak chcesz to razem, to musisz skopiować ciąg znaków do pierwszej spacji do jakiejś zmiennej, potem uciąg ten ciąg znaków i skopiować resztę o ile nie ma kolejnej spacji (wtedy musisz powtórzyć kopiowanie do zmiennej). http://www.cplusplus.com/ref/cstring/ strncopy, strchr - zainteresuj sie tymi funkcjami.
Radzios Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 a po polsku czegoś nie ma? bo mi tez by się przydało a angielskiego jeszcze na tyle nie znam...
BeWuO Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 A to tu nie ma tak jak w Delphi, ze dajesz np Readln(Imie, Nazwisko) a IFSem standardowo jest spacja?
Maximal Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 Taki offtop: Radzios, bez angielskiego wiele nie osiągniesz i to nie tylko w programowaniu :) Warto się pouczyć.
nadro Opublikowano 31 Maja 2006 Opublikowano 31 Maja 2006 Nie zrażajcie chłopaka, że bez angielskiego nie osiągnie zbyt dużo. Bo zawsze moża ma kumpla Polaka, który zna c++ i mu wytłumaczy wszystko :). A co do stl'ów to bardzo dobra klasa i nie musisz nawet znać takich komend typu getChars a sabie z tym poradzisz. Na tablicach i if'ach zrobisz wszystko co potrzebne.
Solmis Opublikowano 20 Listopada 2006 Opublikowano 20 Listopada 2006 #include <cstdlib> #include <iostream> #include <string.h> using namespace std; int main() { string imie; cout<<"podaj imie"; cin>> imie; cout<<"podales imie : " << imie << system("PAUSE"); return EXIT_SUCCESS; } Chyba cos takiego? Mi to chyba by weszlo. Nie wiem. Teraz robie w Win API. :]
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się