![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
witajcie, mam taki problem
mam funkcję o takich argumentach:
i jak chce ja wywołać to mogę zrobić:
i wszystko działa, jednak jeśli chcę, żeby dane mógł wprowadzać użytkownik to nie wiem jak to zrobić, bo musiałbym zrobić
ale wtedy jest konflikt typów, właśnie przez to 50. Jak takie coś rozwiązać? Domyślam się, że może tutaj chodzić o dynamiczną alokację pamięci, jednak nie wiem jak to rozwiązać. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 31 Dołączył: 14.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
tz jak spację?klasa string normalnie przyjmuje spacje,wczytywanie zakańcza się dopiero po wciśnięciu enteru
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
tz jak spację?klasa string normalnie przyjmuje spacje,wczytywanie zakańcza się dopiero po wciśnięciu enteru ale strumień wejścia zakończył pracę na spacji... Cytat Spacja, tabulator, powrót karetki kończą dane. Aby wczytywać całe linie tekstu, można zastosować funkcję cin.getline(tekst, sizeof(tekst)): Kod char dane[64]; cout <<"\nWprowadz nazwisko i imie i nacisnij ENTER" << endl; cin.getline(dane, sizeof(dane)); cout << "Wpisales:" << dane << "\n\n\n"; Wywołanie funkcji cin.getline (tekst, 64, 'X') sprawia, że wczytywana będzie linia tekstu aż do wprowadzenia 64 znaków, powrotu karetki lub litery X i manulal istream::getline "Thinking in C++" sobie ściągnij ze strony autora - tyle, że będzie po angielsku i w wersji elektronicznej... ps. tablice są w zasadzie wskaźnikami - Twój poprzedni przykład jest błędny: Cytat char nazwa[50], opis[50]; //lub jakos podobnie? cin >>nazwa; // powinno być cin>>*nazwa; - jest to wskaźnik do tablicy a zarazem do pierwszego znaku tablicy więc prawie to samo co nazwa[0] cin >>opis;// powinno być cin>>*opis; - jest to wskaźnik do tablicy a zarazem do pierwszego znaku tablicy więc prawie to samo co opis[0] funkcja(&nazwa, &opis);//w ten sposób adres wyłuskuje się ze "zwykłych" zmiennych - tutaj powinno być samo nazwa i opis - to już są wskaźniki no i i tak lepiej stosować getline... ps. fajnie opisane wskaźniki i tablice razem z arytmetyką wskaźników: http://pl.wikibooks.org/wiki/C/Wska%C5%BAniki a propo Twojego kodu fragment ze wskazanych wskaźników: Tablice a wskaźniki Ten post edytował zegarek84 31.05.2011, 11:05:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 20:55 |