Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- /* tworze ksiazke telefoniczna o parametrach ktore sa pod spodem, uzytkownik po wpisaniu n numerow ma do wyboru sortowanie
- wedlug nazwisk lub wedlug numerow */
- typedef struct ksiazka
- {
- char imie[51];
- char nazwisko[51];
- char prefix[50];
- int numer;
- char plec[50];
- }ksiazka;
- ksiazka osoby[50];
- int n, i;
- printf("podaj liczbe numerow ktore chcesz wprowadzic: ");
- scanf("%d", &n);
- while(getchar() != '\n');
- // pobieram dane
- for(i=0; i<n; i++)
- {
- printf("podaj Imie: ");
- scanf("%s", &osoby[i].imie);
- while(getchar() != '\n');
- printf("podaj Nazwisko: ");
- scanf("%s", &osoby[i].nazwisko);
- while(getchar() != '\n');
- printf("podaj prefix: ");
- scanf("%s", &osoby[i].prefix);
- while(getchar() != '\n');
- printf("podaj numer: ");
- scanf("%d", &osoby[i].numer);
- while(getchar() != '\n');
- printf("podaj plec: ");
- scanf("%s", &osoby[i].plec);
- while(getchar() != '\n');
- }
- int k=0;
- int o;
- char l[50];
- int dzialanie;
- printf("\n jesli chcesz posortowac wedlug numerow -> 1 , wedlug nazwisk ->2 \n");
- scanf("%d", &dzialanie);
- switch(dzialanie)
- {
- case 1:
- {
- do
- {
- k=0;
- for(i=0;i<n-1;i++)
- {
- if(osoby[i].numer > osoby[i+1].numer )
- {
- o = osoby[i].numer;
- osoby[i].numer = osoby[i+1].numer ;
- osoby[i+1].numer = o;
- k=1;
- }
- }
- }while(k==1);
- }
- break;
- char z;
- case 2:
- {
- do
- {
- k=0;
- for(i=0;i<n-1;i++)
- {
- if(strcmp(&osoby[i].nazwisko, &osoby[i+1].nazwisko) > 0)
- {
- /* tutaj sortowalem metoda z uzyciem memcpy ale po prostu mi pozniej nie wchodzi do printf'ow i nie wypisuje danych
- */
- /*
- memcpy(l, osoby[i+1].nazwisko, sizeof(osoby[i+1].nazwisko));
- memcpy(osoby[i+1].nazwisko, osoby[i].nazwisko, sizeof(osoby[i].nazwisko));
- memcpy(osoby[i].nazwisko, l, sizeof(l));
- */
- z = osoby[i].nazwisko ;
- osoby[i].nazwisko = osoby[i+1].nazwisko ;
- osoby[i+1].nazwisko = z ;
- k=1;
- }
- }
- }while(k==1);
- }
- }
- int g=0;
- for(g=0;g<n;g++)
- {
- printf("safasfasfasfas");
- puts("jestem");
- printf("\n%s", osoby[g].nazwisko);
- printf("\n%s", osoby[g].imie);
- printf("\n%s", osoby[g].prefix);
- printf("\n%d", osoby[g].numer);
- printf("\n%s\n\n", osoby[g].plec);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement