Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 15.61 KB | None | 0 0
  1. #define  _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>  
  4. #include <locale.h>
  5. #include <string.h>
  6. #include <conio.h>
  7.  
  8. struct kontakt
  9. {
  10.     char imie[100];
  11.     char nazwisko[100];
  12.     char numer[100];
  13.     char grupa[100];
  14. };
  15. struct element
  16. {
  17.     struct kontakt dane;
  18.     struct element *poprzedni;
  19.     struct element *nastepny;
  20. };
  21. void wyswietlListe(struct element **);
  22. void wczytajCSV(struct element **, int *);
  23. int sortujListe(struct element **, int *); 
  24. void dodajKontakt(struct element **, int);
  25. void usunKontakt(struct element **,int,int *);
  26. void wyszukajKontakt(struct element **);
  27. void wyszukajKontaktGrupa(struct element **);
  28.  
  29.  
  30. void wyszukajKontaktGrupa(struct element **lista)
  31. {
  32.     char *grupa;
  33.     char *bufor;
  34.     char *tbufor;
  35.     char *wskaznik, *wskaznik2;
  36.     char temp;
  37.     struct element *aktualny;
  38.     int i = 0;
  39.     int j = 0;
  40.     aktualny = *lista;
  41.     tbufor = NULL;
  42.  
  43.     bufor = malloc(sizeof(char) * 2);
  44.     printf("podaj ciąg znaków(tylko małe litery, '#' by wyjsc)\n");
  45.  
  46.     while (1)
  47.     {
  48.         temp = _getch();
  49.         if (temp == '#')
  50.             break;
  51.         bufor[j] = temp;
  52.         j++;
  53.  
  54.         tbufor = realloc(bufor, sizeof(char)*(j + 1));
  55.  
  56.         if (tbufor != NULL)
  57.         {
  58.             bufor = tbufor;
  59.         }
  60.         else
  61.         {
  62.             printf("realokajca bufora w wyszukiwaniu\n");
  63.             system("pause");
  64.             exit(1);
  65.         }
  66.         bufor[j] = '\0';
  67.         system("cls");
  68.  
  69.         while (aktualny->poprzedni != NULL)
  70.         {
  71.  
  72.             grupa = malloc(sizeof(char)*(strlen(aktualny->dane.grupa) - 1));
  73.             strcpy(grupa, aktualny->dane.grupa);
  74.             for (i = 0; i < (sizeof(aktualny->dane.grupa) / sizeof(char)); i++)
  75.             {
  76.                 if (grupa[i] >= 65 && grupa[i] <= 95)
  77.                 {
  78.                     grupa[i] = grupa[i] + 32;
  79.                 }
  80.             }
  81.            
  82.             wskaznik = strstr(grupa, bufor);
  83.             if (wskaznik != NULL)
  84.             {
  85.                 printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  86.             }
  87.             grupa = NULL;
  88.  
  89.             if (aktualny->poprzedni != NULL)
  90.             {
  91.                 aktualny = aktualny->poprzedni;
  92.             }
  93.  
  94.         }
  95.         if (aktualny->poprzedni != NULL)
  96.         {
  97.             aktualny = aktualny->poprzedni;
  98.         }
  99.         else
  100.         {
  101.             grupa = malloc(sizeof(aktualny->dane.imie));
  102.            
  103.             strcpy(grupa, aktualny->dane.grupa);
  104.    
  105.             for (i = 0; i < (sizeof(aktualny->dane.grupa) / sizeof(char)); i++)
  106.             {
  107.                 if (grupa[i] >= 65 && grupa[i] <= 95)
  108.                 {
  109.                     grupa[i] = grupa[i] + 32;
  110.                 }
  111.             }
  112.  
  113.  
  114.             wskaznik = strstr(grupa, bufor);
  115.            
  116.             if (wskaznik != NULL)
  117.             {
  118.                 printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  119.             }
  120.  
  121.             do
  122.             {
  123.                 aktualny = aktualny->nastepny;
  124.             } while (aktualny->nastepny != NULL);
  125.             printf("%s", bufor);
  126.  
  127.         }
  128.  
  129.     }
  130.  
  131.  
  132.  
  133.  
  134.  
  135. }
  136. void wyszukajKontakt(struct element **lista)
  137. {
  138.     char *imie;
  139.     char *nazwisko;
  140.     char *bufor;
  141.     char *tbufor;
  142.     char *wskaznik, *wskaznik2;
  143.     char temp;
  144.     struct element *aktualny;
  145.     int i=0;
  146.     int j = 0;
  147.     aktualny = *lista;
  148.     tbufor = NULL;
  149.    
  150.     bufor = malloc(sizeof(char)*2);
  151.     //bufor = calloc(1,sizeof(char));  //marcin
  152.    
  153.     printf("podaj ciąg znaków(tylko małe litery, '#' by wyjsc)\n");
  154.    
  155.     while (1)
  156.     {
  157.         temp=_getch();
  158.         if (temp == '#')
  159.             break;
  160.         if (temp == 8)
  161.         {
  162.             if (j != 0)
  163.             {
  164.                 j--;
  165.                 bufor[j] = '\0';
  166.             }
  167.             else
  168.             {
  169.                 printf("brak liter w buforze\n");
  170.                 break;
  171.             }
  172.            
  173.         }
  174.         else
  175.         {
  176.             bufor[j] = temp;
  177.             j++;
  178.  
  179.             tbufor = realloc(bufor, sizeof(char)*(j + 1));
  180.  
  181.             if (tbufor != NULL)
  182.             {
  183.                 bufor = tbufor;
  184.             }
  185.             else
  186.             {
  187.                 printf("realokajca bufora w wyszukiwaniu\n");
  188.                 system("pause");
  189.                 exit(1);
  190.             }
  191.             bufor[j] = '\0';
  192. //          system("cls");
  193.  
  194.             while (aktualny->poprzedni != NULL)
  195.             {
  196.  
  197.                 imie = malloc(sizeof(char)*(strlen(aktualny->dane.imie) - 1));
  198.                 nazwisko = malloc(sizeof(char)*(strlen(aktualny->dane.nazwisko) - 1));
  199.                 strcpy(imie, aktualny->dane.imie);
  200.                 strcpy(nazwisko, aktualny->dane.nazwisko);
  201.                 for (i = 0; i < (sizeof(aktualny->dane.imie) / sizeof(char)); i++)
  202.                 {
  203.                     if (imie[i] >= 65 && imie[i] <= 95)
  204.                     {
  205.                         imie[i] = imie[i] + 32;
  206.                     }
  207.                 }
  208.                 for (i = 0; i < (sizeof(aktualny->dane.nazwisko) / sizeof(char)); i++)
  209.                 {
  210.                     if (nazwisko[i] >= 65 && nazwisko[i] <= 95)
  211.                     {
  212.                         nazwisko[i] = nazwisko[i] + 32;
  213.                     }
  214.                 }
  215.        
  216.                 wskaznik = strstr(imie, bufor);
  217.                 wskaznik2 = strstr(nazwisko, bufor);
  218.                 if (wskaznik != NULL)
  219.                 {
  220.                     printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  221.                 }
  222.                 else if (wskaznik2 != NULL)
  223.                 {
  224.                     printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  225.                 }
  226.                 imie = NULL;
  227.                 nazwisko = NULL;
  228.                 if (aktualny->poprzedni != NULL)
  229.                 {
  230.                     aktualny = aktualny->poprzedni;
  231.                 }
  232.  
  233.             }
  234.             if (aktualny->poprzedni != NULL)
  235.             {
  236.                 aktualny = aktualny->poprzedni;
  237.             }
  238.             else
  239.             {
  240.                 imie = malloc(sizeof(aktualny->dane.imie));
  241.                 nazwisko = malloc(sizeof(aktualny->dane.nazwisko));
  242.                 strcpy(imie, aktualny->dane.imie);
  243.                 strcpy(nazwisko, aktualny->dane.nazwisko);
  244.                 for (i = 0; i < (sizeof(aktualny->dane.imie) / sizeof(char)); i++)
  245.                 {
  246.                     if (imie[i] >= 65 && imie[i] <= 95)
  247.                     {
  248.                         imie[i] = imie[i] + 32;
  249.                     }
  250.                 }
  251.                 for (i = 0; i < (sizeof(aktualny->dane.nazwisko) / sizeof(char)); i++)
  252.                 {
  253.                     if (nazwisko[i] >= 65 && nazwisko[i] <= 95)
  254.                     {
  255.                         nazwisko[i] = nazwisko[i] + 32;
  256.                     }
  257.                 }
  258.  
  259.                 wskaznik = strstr(imie, bufor);
  260.                 wskaznik2 = strstr(nazwisko, bufor);
  261.                 if (wskaznik != NULL)
  262.                 {
  263.                     printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  264.                 }
  265.                 else if (wskaznik2 != NULL)
  266.                 {
  267.                     printf("%s\t%s\t%s\t%s\t\n", aktualny->dane.imie, aktualny->dane.nazwisko, aktualny->dane.numer, aktualny->dane.grupa);
  268.                 }
  269.  
  270.                 do
  271.                 {
  272.                     aktualny = aktualny->nastepny;
  273.                 } while (aktualny->nastepny != NULL);
  274.                 printf("%s", bufor);
  275.  
  276.             }
  277.  
  278.         }
  279.         }
  280.        
  281.    
  282.    
  283.    
  284.    
  285.  
  286. }
  287. void usunKontakt(struct element **lista,int wybor,int *liczbaKontaktow)
  288. {
  289.     char numer[100];
  290.     struct element *aktualny;
  291.     int i = 0;
  292.     aktualny = *lista;
  293.     if (wybor == 1)
  294.     {
  295.         do
  296.         {
  297.            
  298.  
  299.            
  300.            
  301.             if (aktualny->poprzedni != NULL)
  302.             {
  303.                 aktualny->poprzedni->nastepny = aktualny->nastepny;
  304.             }
  305.             *lista = (*lista)->poprzedni;
  306.             free(aktualny);
  307.             if(*lista!=NULL)
  308.                 aktualny = *lista;
  309.    
  310.             (*liczbaKontaktow)--;
  311.         } while (*liczbaKontaktow != 0);
  312.                
  313.     }
  314.            
  315.    
  316.     if (wybor == 0)
  317.     {
  318.         do
  319.         {
  320.             printf("podaj numer telefoniczny kontaktu, który chcesz usunąć\n");
  321.             scanf("%s", &numer);
  322.             while (strstr(numer, aktualny->dane.numer) == NULL)
  323.             {
  324.                 if (aktualny->poprzedni != NULL)
  325.                 {
  326.                     aktualny = aktualny->poprzedni;
  327.                 }
  328.                 else
  329.                     break;
  330.             }
  331.             if (strstr(numer, aktualny->dane.numer) != NULL)
  332.             {
  333.                 if (aktualny->nastepny != NULL)
  334.                 {
  335.                     aktualny->nastepny->poprzedni = aktualny->poprzedni;
  336.                 }
  337.                 else
  338.                 {
  339.                     *lista = (*lista)->poprzedni;
  340.                 }
  341.                 if (aktualny->poprzedni != NULL)
  342.                 {
  343.                     aktualny->poprzedni->nastepny = aktualny->nastepny;
  344.                 }
  345.  
  346.                 free(aktualny);
  347.  
  348.                 i++;
  349.             }
  350.             else
  351.             {
  352.                 do
  353.                 {
  354.                     aktualny = aktualny->nastepny;
  355.                 } while (aktualny->nastepny != NULL);
  356.  
  357.             }
  358.            
  359.         } while (i == 0);
  360.         (*liczbaKontaktow)--;
  361.         printf("");
  362.     }
  363.    
  364.    
  365.    
  366.  
  367. }
  368.  
  369. void dodajKontakt(struct element ** lista, int rodzajSortowania)
  370. {
  371.     struct element *temp, *aktualny;
  372.     char imie[100];
  373.     char nazwisko[100];
  374.     char numer[100];
  375.     char grupa[100];
  376.     temp=malloc(sizeof(struct element));
  377.     printf("Podaj imię\n");
  378.     scanf("%s", &imie);
  379.     printf("Podaj nazwisko\n");
  380.     scanf("%s", &nazwisko);
  381.     printf("Podaj numer\n");
  382.     scanf("%s", &numer);
  383.     printf("Podaj grupę\n");
  384.     scanf("%s",&grupa);
  385.     strcpy((temp->dane.imie), imie);
  386.     strcpy((temp->dane.nazwisko), nazwisko);
  387.     strcpy((temp->dane.numer), numer);
  388.     strcpy((temp->dane.grupa), grupa);
  389.     aktualny = *lista;
  390.     switch (rodzajSortowania)
  391.     {
  392.     case 1:
  393.         while (strcoll(temp->dane.imie, aktualny->dane.imie) == -1)
  394.         {
  395.             if (aktualny->poprzedni != NULL)
  396.                 aktualny = aktualny->poprzedni;
  397.             else
  398.                 break;
  399.  
  400.         }
  401.         if (aktualny->poprzedni == NULL)
  402.         {
  403.             temp->poprzedni = NULL;
  404.             temp->nastepny = aktualny;
  405.             aktualny->poprzedni = temp;
  406.         }
  407.         else
  408.         {
  409.             temp->poprzedni = aktualny;
  410.             temp->nastepny = aktualny->nastepny;
  411.             aktualny->nastepny = temp;
  412.             if (temp->nastepny != NULL)
  413.                 temp->nastepny->poprzedni = temp;
  414.         }
  415.        
  416.        
  417.         break;
  418.     case 2:
  419.         while (strcoll(temp->dane.nazwisko, aktualny->dane.nazwisko) == -1)
  420.         {
  421.             if (aktualny->poprzedni != NULL)
  422.                 aktualny = aktualny->poprzedni;
  423.             else
  424.                 break;
  425.  
  426.         }
  427.         if (aktualny->poprzedni == NULL)
  428.         {
  429.             temp->poprzedni = NULL;
  430.             temp->nastepny = aktualny;
  431.             aktualny->poprzedni = temp;
  432.         }
  433.         else
  434.         {
  435.             temp->poprzedni = aktualny;
  436.             temp->nastepny = aktualny->nastepny;
  437.             aktualny->nastepny = temp;
  438.             if (temp->nastepny != NULL)
  439.                 temp->nastepny->poprzedni = temp;
  440.         }
  441.  
  442.  
  443.         break;
  444.     case 3:
  445.         while (strcoll(temp->dane.grupa, aktualny->dane.grupa) == -1)
  446.         {
  447.             if (aktualny->poprzedni != NULL)
  448.                 aktualny = aktualny->poprzedni;
  449.             else
  450.                 break;
  451.  
  452.         }
  453.         if (aktualny->poprzedni == NULL)
  454.         {
  455.             temp->poprzedni = NULL;
  456.             temp->nastepny = aktualny;
  457.             aktualny->poprzedni = temp;
  458.         }
  459.         else
  460.         {
  461.             temp->poprzedni = aktualny;
  462.             temp->nastepny = aktualny->nastepny;
  463.             aktualny->nastepny = temp;
  464.             if (temp->nastepny != NULL)
  465.                 temp->nastepny->poprzedni = temp;
  466.         }
  467.  
  468.  
  469.         break;
  470.  
  471.     default:
  472.         while (aktualny->poprzedni != NULL)
  473.         {
  474.             aktualny = aktualny->poprzedni;
  475.         }
  476.         aktualny->poprzedni = temp;
  477.         temp->nastepny = aktualny;
  478.         temp->poprzedni = NULL;
  479.         break;
  480.     }
  481.  
  482. }
  483. int sortujListe(struct element **lista, int *iloscKontaktow)
  484. {
  485.     struct element *temp;
  486.     char temp1[100];
  487.     char temp2[100];
  488.     int sortowanie;
  489.     int i;
  490.     //temp = malloc(sizeof(struct element));
  491.     do
  492.     {
  493.         printf("Sortować po 1)imionach 2)nazwiskach 3)grupach?\n");
  494.         scanf("%d", &sortowanie);
  495.     } while (sortowanie != 1 && sortowanie != 2 && sortowanie != 3 );
  496.     switch (sortowanie)
  497.     {
  498.     case 1:
  499.         for (i = 0; i < (*iloscKontaktow); i++)
  500.         {
  501.             temp = (*lista);
  502.             while ((temp->poprzedni) != NULL)
  503.             {
  504.                 strcpy(temp1, temp->dane.imie);
  505.                 temp = temp->poprzedni;
  506.                 strcpy(temp2, temp->dane.imie);
  507.                 temp = temp->nastepny;
  508.                 if (strcoll(temp1, temp2) == -1)
  509.                 {
  510.                     if (temp->nastepny != NULL)
  511.                         temp->nastepny->poprzedni = temp->poprzedni;
  512.                     temp->poprzedni->nastepny = temp->nastepny;
  513.                     temp->nastepny = temp->poprzedni;
  514.                     temp->poprzedni = temp->nastepny->poprzedni;
  515.                     temp->nastepny->poprzedni = temp;
  516.                     if (temp->poprzedni != NULL)
  517.                         temp->poprzedni->nastepny = temp;  
  518.                 }
  519.                 if(temp->poprzedni!=NULL)
  520.                 temp = temp->poprzedni;
  521.             }
  522.         }
  523.         break;
  524.     case 2:
  525.         for (i = 0; i < (*iloscKontaktow); i++)
  526.         {
  527.             temp = (*lista);
  528.             while ((temp->poprzedni) != NULL)
  529.             {
  530.                 strcpy(temp1, temp->dane.nazwisko);
  531.                 temp = temp->poprzedni;
  532.                 strcpy(temp2, temp->dane.nazwisko);
  533.                 temp = temp->nastepny;
  534.                 if (strcoll(temp1, temp2) == -1)
  535.                 {
  536.                     if (temp->nastepny != NULL)
  537.                         temp->nastepny->poprzedni = temp->poprzedni;
  538.                     temp->poprzedni->nastepny = temp->nastepny;
  539.                     temp->nastepny = temp->poprzedni;
  540.                     temp->poprzedni = temp->nastepny->poprzedni;
  541.                     temp->nastepny->poprzedni = temp;
  542.                     if (temp->poprzedni != NULL)
  543.                         temp->poprzedni->nastepny = temp;
  544.                 }
  545.                 if (temp->poprzedni != NULL)
  546.                     temp = temp->poprzedni;
  547.             }
  548.  
  549.         }
  550.         break;
  551.     case 3:
  552.         for (i = 0; i < (*iloscKontaktow); i++)
  553.         {
  554.             temp = (*lista);
  555.             while ((temp->poprzedni) != NULL)
  556.             {
  557.                 strcpy(temp1, temp->dane.grupa);
  558.                 temp = temp->poprzedni;
  559.                 strcpy(temp2, temp->dane.grupa);
  560.                 temp = temp->nastepny;
  561.                 if (strcoll(temp1, temp2) == -1)
  562.                 {
  563.                     if (temp->nastepny != NULL)
  564.                         temp->nastepny->poprzedni = temp->poprzedni;
  565.                     temp->poprzedni->nastepny = temp->nastepny;
  566.                     temp->nastepny = temp->poprzedni;
  567.                     temp->poprzedni = temp->nastepny->poprzedni;
  568.                     temp->nastepny->poprzedni = temp;
  569.                     if (temp->poprzedni != NULL)
  570.                         temp->poprzedni->nastepny = temp;
  571.                 }
  572.                 if (temp->poprzedni != NULL)
  573.                     temp = temp->poprzedni;
  574.             }
  575.  
  576.         }
  577.         break;
  578.     }
  579.    
  580.     return sortowanie;
  581. }
  582.  
  583. void wyswietlListe(struct element **lista)
  584. {
  585.     struct element *temp;
  586.     temp = malloc(sizeof(struct element));
  587.     temp = *lista;
  588. //  printf("Imię\tNazwisko\tNumer\tGrupa\n");
  589.     if (temp->poprzedni == NULL)
  590.     {
  591.         while ((temp->nastepny) != NULL)
  592.         {
  593.             temp = temp->nastepny;
  594.  
  595.         }
  596.         while ((temp) != NULL)
  597.         {
  598.  
  599.             printf("%s\t", temp->dane.imie);
  600.             printf("%s\t", temp->dane.nazwisko);
  601.             printf("%s\t", temp->dane.numer);
  602.             printf("%s\n", temp->dane.grupa);
  603.             temp = temp->poprzedni;
  604.         }
  605.        
  606.     }
  607.     else
  608.     {
  609.         while ((temp->poprzedni) != NULL)
  610.         {
  611.             temp = temp->poprzedni;
  612.            
  613.         }
  614.         while ((temp) != NULL)
  615.         {
  616.  
  617.             printf("%s\t", temp->dane.imie);
  618.             printf("%s\t", temp->dane.nazwisko);
  619.             printf("%s\t", temp->dane.numer);
  620.             printf("%s\n", temp->dane.grupa);
  621.             temp = temp->nastepny;
  622.         }
  623.        
  624.        
  625.     }
  626.  
  627.    
  628.     free(temp);
  629. }
  630. void wczytajCSV(struct element **lista,int *ilosckontaktow)
  631. {
  632.     char nazwaPliku[100];
  633.     struct element *temp=NULL;
  634.     char imie[100];
  635.     char nazwisko[100];
  636.     char numer[100];
  637.     char grupa[100];
  638.     FILE *plik;
  639.    
  640.     do
  641.     {
  642.        
  643.         printf("Proszę podać nazwę pliku, który chcesz odczytać ( wraz z rozszerzeniem .csv!)\n");
  644.         scanf("%s", nazwaPliku);
  645.         plik = fopen(nazwaPliku, "r");
  646.         system("cls");
  647.     } while (plik == NULL);
  648.  
  649.     while (fscanf(plik, "%[^;] ; %[^;] ; %[^;] ;%s", imie, nazwisko, numer, grupa) != -1)
  650.     {
  651.         (*ilosckontaktow)++;
  652.    
  653.         temp = malloc(sizeof(struct element));
  654.         fseek(plik, 2, SEEK_CUR);
  655.         strcpy(temp->dane.imie, imie);
  656.         strcpy(temp->dane.nazwisko, nazwisko);
  657.         strcpy(temp->dane.numer, numer);
  658.         strcpy(temp->dane.grupa, grupa);
  659.         temp->nastepny = NULL;
  660.         temp->poprzedni = NULL;
  661.         if ((*ilosckontaktow) != 1)
  662.         {
  663.             temp->poprzedni = *lista;
  664.             (*lista)->nastepny = temp;
  665.         }
  666.         *lista = temp;
  667.     }
  668.     fclose(plik);
  669.    
  670. }
  671.  
  672. int main()
  673. {
  674.     struct element *lista;
  675.     struct element *temp;
  676.     char tymczasowa[100];
  677.     int rodzajsortowania = 0;
  678.     int ilosckontaktow = 0;
  679.     int menu;
  680.     int wyszukanieWybor = 0;
  681.  
  682.     setlocale(LC_ALL, "polish_poland");
  683.     lista = malloc(sizeof(struct element));
  684.    
  685.     //lista->poprzedni = NULL;
  686.     //lista->nastepny = NULL;
  687.     wczytajCSV(&lista, &ilosckontaktow);
  688.     wyswietlListe(&lista);
  689.     while (1)
  690.     {
  691.         printf("1)sortuj 2)dodatj kontakt 3)usun kontakt 4)wyszukaj kontakt 0)by wyjść\n");
  692.         scanf("%d", &menu);
  693.         switch (menu)
  694.         {
  695.         case 1:
  696.             rodzajsortowania=sortujListe(&lista, &ilosckontaktow);
  697.             system("cls");
  698.             wyswietlListe(&lista);
  699.             system("pause");
  700.            
  701.             break;
  702.         case 2:
  703.             dodajKontakt(&lista, rodzajsortowania);
  704.             system("cls");
  705.             wyswietlListe(&lista);
  706.             system("pause");
  707.             break;
  708.         case 3:
  709.             usunKontakt(&lista,0,&ilosckontaktow);
  710.             system("cls");
  711.             wyswietlListe(&lista);
  712.             system("pause");
  713.             break;
  714.         case 4:
  715.             do
  716.             {
  717.                 printf("1) Po imionach, nazwiskach 2)po grupach\n");
  718.                 scanf("%d", &wyszukanieWybor);
  719.                
  720.                 system("cls");
  721.             } while (wyszukanieWybor != 1 && wyszukanieWybor != 2);
  722.             wyswietlListe(&lista);
  723.             if(wyszukanieWybor==1)
  724.                 wyszukajKontakt(&lista);
  725.             else
  726.                 wyszukajKontaktGrupa(&lista);
  727.             system("cls");
  728.             wyswietlListe(&lista);
  729.             system("pause");
  730.            
  731.             break;
  732.         case 0:
  733.             usunKontakt(&lista, 1,&ilosckontaktow);
  734.             return 0;
  735.  
  736.             break;
  737.         default:
  738.             scanf("%s", &tymczasowa);
  739.             system("cls");
  740.             wyswietlListe(&lista);
  741.             break;
  742.         }
  743.    
  744.    
  745.     }
  746.  
  747.     return 0;
  748. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement