[c++] Usuwanie osoby.
Ostatnio zmodyfikowano 2009-08-09 21:18
krdk Temat założony przez niniejszego użytkownika |
[c++] Usuwanie osoby. » 2009-08-09 20:23:28 Mam taki kod: #include <iostream> #include <conio.h> #include <console.ddt> #include <cstring>
using namespace std; using namespace ddt::console;
int wybor_opcji, wybor_opcji_listy, nr_osoby = 0, nr_osoby_do_edycji; string imie[ 99 ], nazwisko[ 99 ]; int wiek[ 99 ];
int main() { title( "Baza danych osobowych. v 0.1 created by Dominik Waclawik" ); do { clrscr(); cout << "Opcje:" << endl; cout << "[1] Dodaj osobe" << endl; cout << "[2] Wyswietl liste osob" << endl; cout << "[0] Zakoncz program" << endl; cin >> wybor_opcji; switch( wybor_opcji ) { case 1: cout << "Wpisz imie osoby numer " << nr_osoby << endl; cin >> imie[ nr_osoby ]; cout << "Wpisz nazwisko osoby numer" << nr_osoby << endl; cin >> nazwisko[ nr_osoby ]; cout << "Wpisz wiek osoby numer" << nr_osoby << endl; cin >> wiek[ nr_osoby ]; nr_osoby++; break; case 2: for( int i = 0; i < nr_osoby; i++ ) { cout << "Dane osoby numer " << i << " :" << endl; cout << imie[ i ] << " " << nazwisko[ i ] << " lat " << wiek[ i ] << endl << endl; } cout << "Opcje listy:" << endl; cout << "[1]XUsun osobe" << endl; cout << "[2] Edytuj osobe" << endl; cout << "[3] Kontynuuj" << endl; cin >> wybor_opcji_listy; switch( wybor_opcji_listy ) { case 1: break; case 2: nr_osoby_do_edycji = nr_osoby; cout << "Podaj nr osoby do edycji" << endl; cin >> nr_osoby_do_edycji; cout << "Wpisz imie osoby numer " << nr_osoby_do_edycji << endl; cin >> imie[ nr_osoby_do_edycji ]; cout << "Wpisz nazwisko osoby numer" << nr_osoby_do_edycji << endl; cin >> nazwisko[ nr_osoby_do_edycji ]; cout << "Wpisz wiek osoby numer" << nr_osoby_do_edycji << endl; cin >> wiek[ nr_osoby_do_edycji ]; nr_osoby_do_edycji = 0; break; case 3: break; default: cout << "Wybrales inna opcje" << endl; break; } cout << endl << "Nacisnij dowolny klawisz by kontynuowac" << endl; getch(); break; case 0: cout << "Po wcisnieciu dowolnego klawisza program zostanie zakonczony." << endl; break; default: cout << "Wybrales inna opcje" << endl; break; } } while( wybor_opcji != 0 ); getch(); return 0; }
Teraz pytanie: Jak zrobić mechanizm usuwania osoby? Gdy skończę ten program mam zamiar go przepisać, stylem obiektowym. |
|
malan |
» 2009-08-09 20:58:20 Możesz np. zrobić tak: 1. Pytasz się usera o numer osoby, która ma zostać usunięta. 2. Tworzysz pętle (pokażę Ci na strukturach): struct Baza_danych { string user_name; };
Baza_danych Tablica[ 69 ]; for( int i = pozycja_osoby_do_usuniecia; i < Ilosc_osob - 1; i += 1 ) { Tablica[ i ].user_name = Tablica[ i + 1 ].user_name; }
3. Usuniętej osobie mówisz <papa>. |
|
krdk Temat założony przez niniejszego użytkownika |
» 2009-08-09 22:14:44 Tak właśnie myślałem, ale myślałem, że źle myślałem i nie wymyśliłem. Miałem wszystko tak jak w Twoim poście, oprócz ciała pętli, którego się domyśliłem zaraz po napisaniu postu, lecz nie chciało mi się go wdrażać w kod. Podsumowując: dzięki za pomoc :) |
|
manfred |
» 2009-08-09 21:18:29 Nie wygodniej użyć vectora? |
|
« 1 » |