Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdlib.h>
- using namespace std;
- struct A{
- struct A *poprz;
- int ID;
- char nazwa[40];
- struct A *nast;
- };
- void edytowanie(struct A *&glowa, struct A *&ogon)
- {
- struct A *wsk=glowa;
- int nr;
- cout<<"Podaj Id"<<endl;
- cin>>nr;
- while(wsk!=NULL && wsk->ID!=nr)
- {
- wsk=wsk->nast;
- }
- if(wsk==NULL)
- {
- cout<<"zle"<<endl;
- //return 0;
- }
- else
- {
- cout<<"znaleziono"<<endl;
- scanf("%d %s",&wsk->ID,&wsk->nazwa);
- }
- wsk=glowa;
- while(wsk!=NULL)
- {
- printf("%d %s\n",wsk->ID,wsk->nazwa);
- wsk=wsk->nast;
- }
- }
- void usuwanie(struct A *&glowa, struct A *&ogon)
- {
- struct A *wsk;
- int nr;
- cout<<"Podaj Id"<<endl;
- cin>>nr;
- wsk=glowa;
- while(wsk->ID!=nr)
- {
- if(wsk==glowa)
- {
- glowa=wsk->nast;
- }
- else
- {
- wsk->poprz->nast=wsk->nast;
- }
- if(wsk==ogon)
- {
- ogon=wsk->poprz;
- }
- else
- {
- wsk->nast->poprz=wsk->poprz;
- }
- }
- free(wsk);
- wsk=glowa;
- while(wsk!=NULL)
- {
- printf("%d %s\n",wsk->ID,wsk->nazwa);
- wsk=wsk->nast;
- }
- }
- /*void dodawanie(struct A *&glowa,struct A *&ogon)
- {
- struct A *wsk=glowa;
- int nr;
- struct A *temp;
- temp=(A *)malloc(sizeof(struct A));
- scanf("%d %s",&temp->ID,&temp->nazwa);
- cout<<"Podaj Id"<<endl;
- cin>>nr;
- if(wsk->ID==nr)
- {
- glowa=temp;
- }
- else
- {
- wsk->poprz->nast=temp;
- }
- temp->poprz=wsk->poprz;
- temp->nast=wsk;
- wsk->poprz=temp;
- wsk=glowa;
- while(wsk!=NULL)
- {
- printf("%d %s\n",wsk->ID,wsk->nazwa);
- wsk=wsk->nast;
- }
- }*/
- int main(){
- char tab[40];
- FILE *odczyt;
- A *glowa=NULL;
- A *ogon=NULL;
- A *wsk;
- A *temp;
- cout<<"Podaj nazwe pliku"<<endl;
- cin>>tab;
- odczyt=fopen(tab,"r");
- if(odczyt==NULL)
- {
- cout<<"zle otwarty plik"<<endl;
- }
- while(!feof(odczyt))
- {
- if(glowa==NULL)
- {
- glowa=ogon=wsk=(A *)malloc(sizeof(struct A));
- glowa->poprz=NULL;
- }
- else
- {
- wsk->nast=(A *)malloc(sizeof(struct A));
- wsk->nast->poprz=wsk;
- wsk=wsk->nast;
- ogon=wsk;
- }
- wsk->nast=NULL;
- fscanf(odczyt,"%d %s\n",&wsk->ID,wsk->nazwa);
- cout<<wsk->ID<<","<<wsk->nazwa<<endl;
- }
- edytowanie(glowa,ogon);
- usuwanie(glowa,ogon);
- //dodawanie(glowa,ogon);
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment