Pomocy!!! Ćwiczenie 7.6 zad.1
Ostatnio zmodyfikowano 2009-07-24 14:58
artur_rm Temat założony przez niniejszego użytkownika |
Pomocy!!! Ćwiczenie 7.6 zad.1 » 2009-07-24 12:35:47 Nie mogę sobie poradzić z tym ćwiczeniem, z dziwnego powodu. Po skompilowaniu, kiedy wpisze nazwe ulicy, która jest dłuższa niż 2 litery, przeskakuje mi cały program. Tak samo jest, gdy próbuje podać w numerze domu coś po / np. 34/56. O to mój kod: #include <iostream> #include <conio.h> using namespace std;
int main() { char ulica; int numer; int ocena; int staz; cout << " Podaj nazwe ulicy na ktorej mieszkasz: "; cin >> ulica; cin.get(); cout << endl; cout << "Podaj numer domu: "; cin >> numer; cout << endl; cout << "Na ile oceniasz swoje umiejetnosci programowania w skali 2-6: "; cin >> ocena; cout << endl; cout << "Twoj staz programistyczny: "; cin >> staz; cout << endl; cout << endl; cout << endl; cout << "Adres: " << ulica << " " << numer << endl; cout << "Ocena: " << ocena << endl; cout << "Staz: " << staz << endl; getch(); return 0; } Proszę o szybka pomoc!!! |
|
Onizuka |
» 2009-07-24 13:06:46 W Twoim programie zmienna ulica to pojedyncza zmienna typu char, więc gdy podasz więcej niż jeden znak program się wysypuje. Poczytaj lekcję o ciągach znaków - http://kursy.ddt.pl/?LessonId=14. Co do numeru domu: int to liczba całkowita, a 34/56 na bank nią nie jest, więc lepiej tez użyj tablicy char. |
|
artur_rm Temat założony przez niniejszego użytkownika |
jeszcze cos » 2009-07-24 13:16:58 wszystko dziala ok, nazwa ulicy i numer domu ze znakiem /, wszystko oprucz jednej rzeczy, gdy wpisuje nazwe ulicy ktora sklada sie z dwoch slow omija mi wpisywanie numeru domu i odrazu idzie do podania oceny, wiesz co z tym zrobic? |
|
makciek |
» 2009-07-24 13:28:35 zrob coś takiego: cin.getline( tab[ 0 ], 50 ); cin.get();
nie widze twoich wcześniejszych wiad, ale zamiast samego .get daj ten kod tylko podmień nazwy zmiennych i ilość znaków |
|
artur_rm Temat założony przez niniejszego użytkownika |
dziala ale » 2009-07-24 13:33:56 dziala, tylko, ze teraz jak wpisze i klikne enter to mi przeskakuje na nastepna linijke i jak znowu klikne enter to dopiero wyswietla sie dalej, dlaczego tak sie dzieje? |
|
makciek |
» 2009-07-24 14:04:00 pokaz cały kod ten po wszystkich zmianach |
|
artur_rm Temat założony przez niniejszego użytkownika |
» 2009-07-24 14:23:21 #include <iostream> #include <conio.h> using namespace std;
int main() { char ulica[ 50 ]; char numer[ 50 ]; int ocena; int staz; cout << "Podaj nazwe ulicy na ktorej mieszkasz: "; cin.getline( ulica, 50 ); cin.get(); cout << "Podaj numer domu: "; cin >> numer; cout << endl; cout << "Na ile oceniasz swoje umiejetnosci programowania w skali 2-6: "; cin >> ocena; cout << endl; cout << "Twoj staz programistyczny: "; cin >> staz; cout << endl; cout << endl; cout << endl; cout << "Adres: " << ulica << " " << numer << endl; cout << "Ocena: " << ocena << endl; cout << "Staz: " << staz << endl; getch(); return 0; } |
|
Onizuka |
» 2009-07-24 14:53:57 cin.get(); Ta linijka czeka na wciśnięcie klawisza. Usuń ją i będzie po kłopocie |
|
« 1 » 2 |