Guest User

Untitled

a guest
Jul 21st, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4. struct A{
  5.     struct A *poprz;
  6.     int ID;
  7.     char nazwa[40];
  8.     struct A *nast;
  9. };
  10.  
  11.  
  12. void edytowanie(struct A *&glowa, struct A *&ogon)
  13. {
  14.     struct A *wsk=glowa;
  15.     int nr;
  16.  
  17.     cout<<"Podaj Id"<<endl;
  18.     cin>>nr;
  19.  
  20.  
  21.     while(wsk!=NULL && wsk->ID!=nr)
  22.     {
  23.         wsk=wsk->nast;
  24.     }
  25.  
  26.     if(wsk==NULL)
  27.     {
  28.         cout<<"zle"<<endl;
  29.         //return 0;
  30.     }
  31.  
  32.     else
  33.     {
  34.         cout<<"znaleziono"<<endl;
  35.         scanf("%d %s",&wsk->ID,&wsk->nazwa);
  36.     }
  37.  
  38.     wsk=glowa;
  39.  
  40.     while(wsk!=NULL)
  41.     {
  42.         printf("%d %s\n",wsk->ID,wsk->nazwa);
  43.         wsk=wsk->nast;
  44.     }
  45.  
  46. }
  47.  
  48.  
  49. void usuwanie(struct A *&glowa, struct A *&ogon)
  50. {
  51.     struct A *wsk;
  52.     int nr;
  53.  
  54.     cout<<"Podaj Id"<<endl;
  55.     cin>>nr;
  56.  
  57.     wsk=glowa;
  58.  
  59.     while(wsk->ID!=nr)
  60.     {
  61.     if(wsk==glowa)
  62.     {
  63.         glowa=wsk->nast;
  64.  
  65.     }
  66.     else
  67.     {
  68.         wsk->poprz->nast=wsk->nast;
  69.     }
  70.  
  71.     if(wsk==ogon)
  72.     {
  73.         ogon=wsk->poprz;
  74.     }
  75.     else
  76.     {
  77.         wsk->nast->poprz=wsk->poprz;
  78.     }
  79.     }
  80.     free(wsk);
  81.  
  82.  
  83.     wsk=glowa;
  84.  
  85.     while(wsk!=NULL)
  86.     {
  87.         printf("%d %s\n",wsk->ID,wsk->nazwa);
  88.         wsk=wsk->nast;
  89.     }
  90.  
  91.  
  92.  
  93. }
  94.  
  95. /*void dodawanie(struct A *&glowa,struct A *&ogon)
  96. {
  97.     struct A *wsk=glowa;
  98.     int nr;
  99.     struct A *temp;
  100.  
  101.     temp=(A *)malloc(sizeof(struct A));
  102.     scanf("%d %s",&temp->ID,&temp->nazwa);
  103.  
  104.     cout<<"Podaj Id"<<endl;
  105.     cin>>nr;
  106.  
  107.     if(wsk->ID==nr)
  108.     {
  109.         glowa=temp;
  110.     }
  111.     else
  112.     {
  113.         wsk->poprz->nast=temp;
  114.     }
  115.     temp->poprz=wsk->poprz;
  116.     temp->nast=wsk;
  117.     wsk->poprz=temp;
  118.  
  119.     wsk=glowa;
  120.  
  121.     while(wsk!=NULL)
  122.     {
  123.         printf("%d %s\n",wsk->ID,wsk->nazwa);
  124.         wsk=wsk->nast;
  125.     }
  126.  
  127.  
  128.  
  129. }*/
  130.  
  131.  
  132.  
  133. int main(){
  134.  
  135.     char tab[40];
  136.     FILE *odczyt;
  137.     A *glowa=NULL;
  138.     A *ogon=NULL;
  139.     A *wsk;
  140.     A *temp;
  141.  
  142.     cout<<"Podaj nazwe pliku"<<endl;
  143.     cin>>tab;
  144.  
  145.  
  146.     odczyt=fopen(tab,"r");
  147.  
  148.     if(odczyt==NULL)
  149.     {
  150.         cout<<"zle otwarty plik"<<endl;
  151.     }
  152.  
  153.    
  154.  
  155.     while(!feof(odczyt))
  156.     {
  157.         if(glowa==NULL)
  158.         {
  159.             glowa=ogon=wsk=(A *)malloc(sizeof(struct A));
  160.             glowa->poprz=NULL;
  161.         }
  162.         else
  163.         {
  164.             wsk->nast=(A *)malloc(sizeof(struct A));
  165.             wsk->nast->poprz=wsk;
  166.             wsk=wsk->nast;
  167.             ogon=wsk;
  168.         }
  169.         wsk->nast=NULL;
  170.         fscanf(odczyt,"%d %s\n",&wsk->ID,wsk->nazwa);
  171.         cout<<wsk->ID<<","<<wsk->nazwa<<endl;
  172.  
  173.     }
  174.  
  175.    
  176.     edytowanie(glowa,ogon);
  177.     usuwanie(glowa,ogon);
  178.     //dodawanie(glowa,ogon);
  179.  
  180.     system("pause");
  181.     return 0;
  182. }
Add Comment
Please, Sign In to add comment