Witam!
mam duży problem w rozpracowaniu zadania. muszę stworzyć strukturę danych z polami: imie, nazwisko, wiek, adres. oraz stworzyć 4 funkcję: wyświetlanie wszystkich danych, dodawanie elementu, usuwanie elementu, wyświetlanie danych osoby na podstawie nazwiska. większość już rozpracowałem, jedynie nie mam pojęcia jak usunąć osobę którą dodałem... przeszukuję google od kilku dni bez większego rezultatu. oto moje wypociny:
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
struct dane_osobowe
{
char imie[15];
char nazwisko[30];
char wiek[3];
char ulica[50];
char numer_domu[4];
char numer_mieszk[4];
char kod_poczt[7];
char miasto[50];
};
dane_osobowe tab[10];
int n=1;
void wprowadz(){
cout << "WPROWADZASZ REKORD NUMER "<< n <<"\n\n";
cout << "Wprowadz imie: ";
cin >> tab[n].imie;
cout << "Wprowadz nazwisko: ";
cin >> tab[n].nazwisko;
cout << "Wprowadz wiek: ";
cin >> tab[n].wiek;
cout << "Ulica : ";
cin >> tab[n].ulica;
cout << "Numer domu: ";
cin >> tab[n].numer_domu;
cout << "Numer mieszkania: ";
cin >> tab[n].numer_mieszk;
cout << "Kod pocztowy w formacie XX-XXX: ";
cin >> tab[n].kod_poczt;
cout << "Miasto: ";
cin >> tab[n].miasto;
cout << "\nWprowadzono pomyslnie rekord numer " << n <<"\n\n";
}
void wyswietl(int n){
cout << tab[n].imie;
cout << " " << tab[n].nazwisko;
cout << " " << tab[n].wiek<<"l.";
cout << "\nUl. " << tab[n].ulica;
cout << " " << tab[n].numer_domu;
cout << "/" << tab[n].numer_mieszk;
cout << "\n" << tab[n].kod_poczt;
cout << " " << tab[n].miasto;
cout << "\n\n";
}
void usun(int nr_rek){
delete tab[nr_rek].imie;
delete tab[nr_rek].nazwisko;
delete tab[nr_rek].ulica;
delete tab[nr_rek].numer_domu;
delete tab[nr_rek].numer_mieszk;
delete tab[nr_rek].kod_poczt;
delete tab[nr_rek].miasto;
cout << "\nZawartosc rekordu " << nr_rek << " pomyslnie usunieta";
}
void szukaj(int i){
string szukaj;
cout<<"\nPodaj NAZWISKO szukanej osoby: ";
cin >> szukaj;
for(i=1;i<=n;i++) {
if(tab[i].nazwisko==szukaj) {
cout <<"\n"<< tab[i].imie;
cout << " " << tab[i].nazwisko;
cout << " " << tab[i].wiek<<"l.";
cout << "\nUl. " << tab[i].ulica;
cout << " " << tab[i].numer_domu;
cout << "/" << tab[i].numer_mieszk;
cout << "\n" << tab[i].kod_poczt;
cout << " " << tab[i].miasto;
cout << "\n\n";
}
}
}
int main(int argc, char *argv[])
{
int znak, i, j, nr_rek;
char sign,sign1;
do{
system("cls");
cout<<"aktualnie posiadasz "<<n-1<<" wpisow.\n";
cout<<"1 - DODAWANIE DANYCH OSOBOWYCH\n";
cout<<"3 - USUWANIE DANYCH OSOBOWYCH\n";
cout<<"3 - WYSWIETLANIE WSZYSTKICH DANYCH OSOBOWYCH\n";
cout<<"4 - WYSZUKANIE REKORDU PO NAZWISKU\n";
cout<<"5 - KONIEC PROGRAMU\n\n";
cin>>znak;
switch (znak)
{
case 1:
do{
system("cls");
wprowadz();
n++;
cout << "CZY CHCESZ WPROWADZIC KOLEJNY REKORD?\n1 - TAK, 0 - NIE (POWROT DO MENU)";
sign=getch();
}
while(sign!='0');
break;
case 2:
do{
int numer;
cout<<"wprowadz numer rekordu ktory chcesz usunac: ";
cin>>numer;
usun(numer);
cout << "CZY CHCESZ USUNAC KOLEJNY REKORD?\n1 - TAK, 0 - NIE (POWROT DO MENU)";
sign=getch();
}
while(sign!='0');
break;
case 3:
for (int i=1;i<n;i++)
wyswietl(i);
cout<<endl;
getch();
break;
case 4:
szukaj(n);
getch();
break;
default:
break;
}}
while (znak!='5');
system("PAUSE");
return EXIT_SUCCESS;
}
z góry dziękuję za wszelką pomoc :)