Skocz do zawartości

Pobieranie tekstu


Rekomendowane odpowiedzi

Opublikowano

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.

Opublikowano

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
Opublikowano

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.

Opublikowano

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??

  • Filar Społeczności
Opublikowano

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.

Opublikowano

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
Opublikowano

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.

  • 6 miesięcy temu...
Opublikowano

A to tu nie ma tak jak w Delphi, ze dajesz np Readln(Imie, Nazwisko) a IFSem standardowo jest spacja?

Opublikowano

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.

  • 5 miesięcy temu...
Opublikowano

#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. :]

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...