Загрузка данных


#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

class Chel {
private:
    string familiya;
    string imya;
    int mesyac;
    int den;
public:
    Chel(string f, string i, int m, int d){
        familiya = f;
        imya = i;
        mesyac = m;
        den = d;
    }
    string getfamiliya() {return familiya;}
    string getimya() {return imya;}
    int getmesyac() {return mesyac;}
    int getden() {return den;}
    int getznak() {
        if ((mesyac == 3 && den >= 21) || (mesyac == 4 && den <= 19)) return 1;
        if ((mesyac == 4 && den >= 20) || (mesyac == 5 && den <= 20)) return 2;
        if ((mesyac == 5 && den >= 21) || (mesyac == 6 && den <= 20)) return 3;
        if ((mesyac == 6 && den >= 21) || (mesyac == 7 && den <= 22)) return 4;
        if ((mesyac == 7 && den >= 23) || (mesyac == 8 && den <= 22)) return 5;
        if ((mesyac == 8 && den >= 23) || (mesyac == 9 && den <= 22)) return 6;
        if ((mesyac == 9 && den >= 23) || (mesyac == 10 && den <= 22)) return 7;
        if ((mesyac == 10 && den >= 23) || (mesyac == 11 && den <= 21)) return 8;
        if ((mesyac == 11 && den >= 22) || (mesyac == 12 && den <= 21)) return 9;
        if ((mesyac == 12 && den >= 22) || (mesyac == 1 && den <= 19)) return 10;
        if ((mesyac == 1 && den >= 20) || (mesyac == 2 && den <= 18)) return 11;
        if ((mesyac == 2 && den >= 19) || (mesyac == 3 && den <= 20)) return 12;
        return 0;
    }
};

void sort(Chel** spisochek, int n){
    for (int i = 0; i<n-1; i++){
        for ( int j=0; j<n-1-i; j++){
            if ((*spisochek[j]).getznak()<(*spisochek[j+1]).getznak()){
                Chel* abc = spisochek[j];
                spisochek[j] = spisochek[j+1];
                spisochek[j+1] = abc;
            }
        }
    }
}
int main()
{
    srand(time(0));
    const int n = 10;
    string bukvi[]= {"q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m",};
    string zodiak[]= {"oven","telec","blizneci","rak","lev","deva","vesi","skorpion","strelec","kozerog","vodolei","ribi"};
    Chel** spisok = new Chel*[n];
    for (int i=0; i<n; i++) {
        spisok[i] = new Chel(bukvi[rand()%26], bukvi[rand()%26], rand()%12+1, rand()%31+1);
    }
    
    for (int i=0; i<n; i++) {
        cout << (*spisok[i]).getfamiliya() << " " << (*spisok[i]).getimya() << " " << (*spisok[i]).getmesyac() << " " << (*spisok[i]).getden() << " " << zodiak[(*spisok[i]).getznak()-1] << endl;
    }
    sort(spisok, n);
    cout << endl;
    for (int i=0; i<n; i++) {
        cout << (*spisok[i]).getfamiliya() << " " << (*spisok[i]).getimya() << " " << (*spisok[i]).getmesyac() << " " << (*spisok[i]).getden() << " " << zodiak[(*spisok[i]).getznak()-1] << endl;
    }
    
    
    return 0;
    
}