#include
#include
#include
#include
#include
#include
#include
using namespace std;
const short MAX_SIZE = 100;
typedef struct {
char nazwisko[35];
char* imie;
int wiek;
char* adres;
} OSOBA;
OSOBA arrOsoby[MAX_SIZE];
int iloscElementow = 0;
int chooseOption();
void displayMenu();
void dodajElement();
void usunElement();
void wyswietlWszystko();
void wyswietlPoNazwisku();
int main(int argc, char *argv[]) {
int iOption=0;
bool isEnd = false;
displayMenu();
iOption = chooseOption();
while (!isEnd) {
switch (iOption) {
case 1: wyswietlWszystko(); iOption = chooseOption(); break;
case 2: dodajElement(); iOption = chooseOption(); break;
case 3: usunElement(); iOption = chooseOption(); break;
case 4: wyswietlPoNazwisku(); iOption = chooseOption(); break;
case 5: isEnd = true; break;
default: displayMenu(); iOption = chooseOption(); break;
}
}
return EXIT_SUCCESS;
}
// dodawanie wpisu
void dodajElement() {
if (iloscElementow < MAX_SIZE) {
cout << "Dodanie elementu:" << endl;
cout << "Nazwisko (max 35 znakow): "; scanf("%s", &arrOsoby[iloscElementow].nazwisko);
cout << "Imie: "; scanf("%s", &arrOsoby[iloscElementow].imie);
cout << "Wiek: "; scanf("%i", &arrOsoby[iloscElementow].wiek);
cout << "Adres: "; scanf("%s", &arrOsoby[iloscElementow].adres);
cout << "Element dodany na pozycji " << iloscElementow << endl;
iloscElementow++;
} else {
cout << "Wprowadzono maxymalna ilosc elementow." << endl << endl;
}
}
// usuwanie wpisu
void usunElement() {
int index = 0;
if (iloscElementow>0) {
cout << "Podaj pozycje elementu do usuniecia (0.." << iloscElementow-1 << "): "; scanf("%i", &index);
if (index>=0 && index
for (int i=index; i
arrOsoby[i] = arrOsoby[i+1];
cout << "Element na pozycji " << index << " zostal usuniety." << endl;
iloscElementow--;
} else {
cout << "Blad: Nie istnieje element na pozycji " << index << endl;
}
} else {
cout << "Nie ma elementow do usuniecia." << endl << endl;
}
}
// wyswietlanie calego wpisu
void wyswietlWszystko() {
if (iloscElementow>0) {
for (int i=0; i
cout << "Ilosc wprowadzonych elementow: " << iloscElementow << endl;
printf("Element %i
", i);
printf("Nazwisko: %s
", &arrOsoby[i].nazwisko);
printf("Imie: %s
", &arrOsoby[i].imie);
printf("Wiek: %i
", arrOsoby[i].wiek);
printf("Adres: %s
", &arrOsoby[i].adres);
}
} else {
cout << "Brak wprowadzonych elementow do wyswietlenia." << endl << endl;
}
}
// wyswietlanie po nazwisku
void wyswietlPoNazwisku() {
char name[35];
cout << "Podaj nazwisko (max 35 znakow): "; scanf("%s", &name);
if (iloscElementow>0) {
for (int i=0; i
if (strcmp(arrOsoby[i].nazwisko, name)==0) {
printf("Element %i
", i);
printf("Nazwisko: %s
", &arrOsoby[i].nazwisko);
printf("Imie: %s
", &arrOsoby[i].imie);
printf("Wiek: %i
", arrOsoby[i].wiek);
printf("Adres: %s
", &arrOsoby[i].adres);
}
}
} else {
cout << "Brak wprowadzonych elementow do wyswietlenia." << endl << endl;
}
}
int chooseOption() {
int i;
cout << "Prosze wybrac opcje <1-5>: ";
scanf("%i", &i);
cout << endl;
return i;
}
// glowne menu
void displayMenu() {
cout << ">>DANE OSOBOWE<<" << endl;
cout << "1. Wyswietlanie wpisanych danych" << endl;
cout << "2. Dodaj dany element" << endl;
cout << "3. Usun dany element" << endl;
cout << "4. Wyswietl po nazwisku" << endl;
cout << "5. Zakoncz" << endl << endl;
}
Czy ktos moglby mi wrzucic to tego kodu taka opcje, by dane zapisywaly sie i wczytywaly? Chodzi o to, ze jak dodam osoby do kontaktow, to po restarcie programiku nadal bede mial je zapisane i bede ogl je wczytac.