Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void listazwierzatbydp(listazwierzeta *head){
- if(head == NULL){
- printf("\nERROR 404\nLista zwierzat jest pusta!");
- }
- else{
- listazwierzeta *p2 = head;
- listazwierzeta *p3 = kopiuj_z(head);
- listazwierzeta *p = p3;
- while(p3 != NULL){
- int dzien = 0;
- int miesiac = 0;
- int rok = 0;
- int dzien2 = 0;
- int miesiac2 = 0;
- int rok2 = 0;
- int i;
- int sort = 0;
- for(i=0;i<10;i++){
- if(i < 2){
- if(i == 0){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- dzien += x*10;
- dzien2 += y*10;
- }
- if(i == 1){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- dzien += x;
- dzien2 += y;
- }
- }
- else if(i > 2 && i < 5){
- if(i == 3){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- miesiac += x*10;
- miesiac2 += y*10;
- }
- if(i == 4){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- miesiac += x;
- miesiac2 += y;
- }
- }
- else if(i > 5 && i < 10){
- if(i == 6){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- rok += x*1000;
- rok2 += y*1000;
- }
- if(i == 7){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- rok += x*100;
- rok2 += y*100;
- }
- if(i == 8){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- rok += x*10;
- rok2 += y*10;
- }
- if(i == 9){
- int x = (p3->value.data_przyjecia[i]) - '0';
- int y = (p3->next->value.data_przyjecia[i]) - '0';
- rok += x;
- rok2 += y;
- }
- }
- }
- if(rok > rok2){
- listazwierzeta *tmp = p3->next;
- p3->next = p3->next->next;
- tmp->next = p3->next->next;
- p3->next = tmp;
- free(tmp);
- tmp = NULL;
- sort = 1;
- }
- else{
- if(miesiac > miesiac2){
- listazwierzeta *tmp = p3->next;
- p3->next = p3->next->next;
- tmp->next = p3->next->next;
- p3->next = tmp;
- free(tmp);
- tmp = NULL;
- sort = 1;
- }
- else{
- if(dzien > dzien2){
- listazwierzeta *tmp = p3->next;
- p3->next = p3->next->next;
- tmp->next = p3->next->next;
- p3->next = tmp;
- free(tmp);
- tmp = NULL;
- sort = 1;
- }
- else{
- sort = 0;
- break;
- }
- }
- }
- if(sort == 0){
- break;
- }
- else{
- p3 = p3->next;
- }
- }
- //Poniżej jest wyświetlanie listy, działa poprawnie
- printf("ID Data przyjecia Data ostatniego badania Numer kojca Gatunek Plec Masa Opis Adoptowane\n");
- while(p != NULL){
- char plect[9] = "Nieznana";
- if(p->value.plec == 1){
- strcpy(plect, "Samiec");
- }
- else if(p->value.plec == 2){
- strcpy(plect, "Samica");
- }
- if(p->value.adoptowane == 0){
- printf("%d %s %s %d %d %s %d %s %d\n", p->value.id_zwierzecia, p->value.data_przyjecia, p->value.data_ostatniego_badania, p->value.nr_kojca, p->value.gatunek, plect, p->value.masa, p->value.opis, p->value.adoptowane);
- }
- p = p->next;
- }
- printf("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement