Polecenie do zadania: Napisz program, który pozwala użytkownikom zapisywać, kiedy ostatnio rozmawiali ze swoimi znajomymi. Użytkownicy powinni mieć możliwość dodawania nowych znajomych(tylu, ile tylko chcą!) oraz przechowywania liczby dni, które upłynęły od czasu ostatniej rozmowy z danym znajomym nie zezwalaj na wprowadzanie nieprawidłowych danych wyswietl liste znajomych posortowaną według nazwisk lub liczby dni które upłynęły od rozmowy z kazdym z nich.
Zacząłem od stworzenia tablic do których będzie można dodawać nieograniczoną liczbę danych. Problem polega na tym ze dane zostają przypisane do pierwszego elementu tablicy a reszta elementów to kosmiczne liczby.
#include <iostream>
using namespace std;
int *zwiekszTablice ( int* w_dane, int *rozmiar );
void drukujTablice (int* w_dane, int rozmiar, int zajete_pola);
int main()
{
cout << "podawaj znajomych i daty ostatnich rozów" << endl;
int nastepny_element = 0;
//string *w_znajomi = new string [ rozmiar ];
int rozmiar=10;
int *w_data_dzien = new int [ rozmiar ];
int *w_data_miesiac = new int [ rozmiar ];
int *w_data_rok = new int [ rozmiar ];
int *w_data_godzina = new int [ rozmiar ];
int *w_data_minuta = new int [ rozmiar ];
cout << "podaj dzien ";
while ( w_data_dzien >= 0 && w_data_miesiac >=0 && w_data_rok >=0 && w_data_godzina >=0 && w_data_minuta >=0 )
{
int i=0;
cout << "podaj kolejno dzien, miesiac, rok, i godzine.";
cin>>w_data_dzien[i];
cin>>w_data_miesiac[i];
cin>>w_data_rok[i];
cin>>w_data_godzina[i];
cin>>w_data_minuta[i];
i++;
if ( rozmiar == nastepny_element + 1 )
{
w_data_dzien = zwiekszTablice( w_data_dzien, &rozmiar);
w_data_miesiac = zwiekszTablice( w_data_miesiac, &rozmiar);
w_data_rok = zwiekszTablice( w_data_rok, &rozmiar);
w_data_godzina = zwiekszTablice( w_data_godzina, &rozmiar);
w_data_minuta = zwiekszTablice( w_data_minuta, &rozmiar);
}
nastepny_element++;
drukujTablice( w_data_dzien, rozmiar, nastepny_element);
}
delete [] w_data_dzien;
return 0;
}
void drukujTablice(int *w_dane, int rozmiar, int zajete_pola)
{
cout << " calkowity rozmiar tablicy w_data_dzien" << rozmiar << endl;
cout << " liczba zajetych pol w tablicy w_data_dzien" << zajete_pola << endl;
cout << " Wartosci w tablicy " << endl;
for ( int i = 0; i < zajete_pola; ++i)
{
cout << " w_data_dzien [" << i << "] = "<< w_dane[i]<< endl;
}
}
int *zwiekszTablice(int* w_dane, int *rozmiar)
{
*rozmiar *= 2;
int * w_nowe_wart = new int [ *rozmiar ];
for ( int i = 0; i < *rozmiar; ++i)
{
w_nowe_wart [ i ] = w_dane [ i ];
}
delete [] w_dane;
return w_nowe_wart;
}