Mastahnish Temat założony przez niniejszego użytkownika |
Nie rozumiem zadania 9.6_2 » 2009-10-10 19:41:45 Mogły ktoś mi wytłumaczyć o co tutaj chodzi? Jakie tablice trzeba stworzyć? Tak wyglada moj kod: #include <iostream> #include <conio.h>
using namespace std;
int main() { char imie; char nazwisko; char tel; char uwagi; int liczba_osob; cout << "Podaj liczbe osob ktora chcesz dodac do skoroszytu: "; cin >> liczba_osob; cout << "\nPodano liczbe: " << liczba_osob << endl; int a = 1; while( a <= liczba_osob ) { cout << "Osoba " << a << endl; cout << "Imie: "; cin >> imie; cout << endl; while( a <= liczba_osob ) { cout << "Nazwisko: "; cin >> nazwisko; cout << endl; while( a <= liczba_osob ) { cout << "Nr Tel.: "; cin >> tel; cout << endl; while( a <= liczba_osob ) { cout << "Uwagi: "; cin >> uwagi; cout << endl; ++a; } } ++a; } } cout << "\n------------------------\n"; a += 1; getch(); return( 0 ); } Proszę o Pomoc. |
|
lynx |
» 2009-10-10 20:10:53 Cóż, zadanie jest chyba lekko trudne dla uczących się na tym etapie. Ja pewnie zrobiłbym to tak jeżeli chodzi o: 1. Tablice a) Utworzył 4 tablice (jedna dla imion, druga dla nazwisk itd.), np. 10 elementowe. b) Nie pozwolił by użytkownik chciał wpisać więcej niż 10 ludzi. 2. Pętle a) Użyj pętli do while (ją sugeruje tytuł, ale jednej), będzie ona musiała wyglądać jakoś na wzór tej: int i = 0; do { cin >> nazwiska[ i ]; i++ } while( i < ile_mamy_dodac_osob );
Chyba już wszystko. :) Sugerowałbym Ci byś przeczytał jeszcze raz lekcję o pętlach jeżeli czegoś nie rozumiesz, bo widziłem że tam próbowałeś zrobić ich kilka. :) /edit: Jeżeli chodzi o działanie to program powinień działać w taki sposób: 1) Pobrać liczbę mówiącą ile osób chcemy dodać 2) Zminiejszyć ją (jeśli to wymagane) do maks 10. (wielkość tablicy) 3) Pętla zwierająca pobieranie i zapis danych, robi określoną liczbę okrążeń 4) Kolejna pętla, odczytująca tablice z danymi. 5) End |
|
Mastahnish Temat założony przez niniejszego użytkownika |
» 2009-10-11 03:43:41 No i znowu w tym samym momencie jest problem, do..while omija podanie nazwiska, tel i uwag i żąda danych dopiero przy drugim obrocie petli w drugim pobieraniu [czyli pryz nazwisku ? Jak tu sie nie zniechęcić? Prosze o pomoc! Oto kod: #include<iostream> #include<conio.h>
using namespace std;
int main() { char imie[ 10 ]; char nazwisko[ 10 ]; char tel[ 10 ]; char uwagi[ 120 ]; int ilosc_osob; cout << "Ile osob chcesz wpisac do skoroszytu? \n"; cin >> ilosc_osob; if( ilosc_osob <= 10 ) { int i = 0; do { cout << "Podaj imie: \n"; cin >> imie[ i ]; cout << "Podaj nazwisko: \n"; cin >> nazwisko[ i ]; cout << "Podaj telefon: \n"; cin >> tel[ i ]; cout << "Uwagi: \n"; cin >> uwagi[ i ]; } while( i < ilosc_osob ); } else cout << "Podaj nie wiecej niz 10 osob\n"; getch(); return 0; } |
|
GoldWolf |
» 2009-10-11 07:53:33 Niestety to tylko Twoja wina, kłopoty w które wpadłeś polegają na tym, że dobrze nie przerobiłeś(zrozumiałeś) lekcji VII. Ciągi znaków – łańcuchy. Tam pisze jak sobie radzić z tym problem, oraz na jakie kłopoty możesz się natknąć podczas pracy przy wczytywaniu danych. |
|
dmx81 |
» 2009-10-12 22:48:56 I jak, poradziles juz sobie z tym zadaniem? ja je dzis tez robilem i dziala poprawnie, skopiowalem Twoj kod aby sprawdzic o co chodzi i wychwycilem 2 sprawy, ale nie wiem czy pisac wprost, bo sam zaczalem od Twojego kodu i wydawalo mi sie wszytsko ok, ale pozniej przesledzilem po kolei, poprawilem, a raczej napisalem od poczatku i dziala poprawnie, jakby co to daj znac, to napisze,co wg mnie mozna poprawic - cos dopisac, cos przesunac i gra :) |
|
bartek483 |
» 2009-11-05 19:19:59 Rozwiazlem to zad ;) Dla tych co nie potrafia sobie z nim poradzic ;) #include <iostream> #include <conio.h>
using namespace std;
int main() { int a; int osoba[ 10 ]; string imie[ 10 ]; int liczba_osob[ 10 ]; cout << "Podaj liczbe osob, ktore chcesz wprowadzic do skoroszytu ? "; cin >> a; cout << endl << "Podano liczbe " << a << "." << endl << endl; liczba_osob[ 0 ] = 0; while( liczba_osob > 0 ) { liczba_osob[ 0 ] ++; cout << "Osoba nr " << liczba_osob[ 0 ] << " "; cout << "Imie: "; cin >> imie[ 0 ]; if( liczba_osob[ 0 ] == a ) break; } cout << endl << "Nacisnij klawisz aby zakonczyc dzialanie programu .."; getch(); return 0; } ps: Dzieki pixelmaster ;) |
|
malan |
» 2009-11-05 20:16:13 Ewentualnie można zrobić tak: #include <iostream> #include <string> using namespace std;
const int MAX_ILOSC_OSOB = 10;
int main() { string tImie[ 10 ], tNazwisko[ 10 ], tNumerTelefonu[ 10 ], tUwagi[ 10 ]; int iloscOsob = 0; cout << "Podaj liczbe osob, ktore chcesz wprowadzic do skoroszytu: "; cin >> iloscOsob; if( iloscOsob <= MAX_ILOSC_OSOB ) { cout << "Podano liczbe " << iloscOsob << ". Wprowadz dane:" << endl; for( int i = 0; i < iloscOsob; i++ ) { cout << "Osoba - " << i + 1 << ": Imie - "; cin >> tImie[ i ]; cout << "Nazwisko - "; cin >> tNazwisko[ i ]; cout << "Nr tel.: "; cin >> tNumerTelefonu[ i ]; cout << "Uwagi - "; cin >> tUwagi[ i ]; } for( int i = 0; i < iloscOsob; i++ ) { cout << "Osoba - " << i + 1 << ": Imie - " << tImie[ i ] << "; Nazwisko - " << tNazwisko[ i ] << endl; cout << "Nr tel.: " << tNumerTelefonu[ i ] << "; Uwagi - " << tUwagi[ i ] << endl; } } return 0; } ;) |
|
« 1 » |