Kolejka i tworzenie plików C++

0

(3) Utworzyć plik liczby.txt zawierający liczby całkowite wczytywane z klawiatury za pomocą scanf. Koniec wprowadzanych liczb oznacza napis stop.
Uwaga:

  1. Napisać program zawierający:
    a) Procedurę kol, która tworzy z liczb zapisanych w pliku liczby.dat kolejkę. (Liczby dopisywane są na końcu kolejki.) Parametrami procedury są wskaźniki do początku i końca kolejki.
    b) Procedurę wypisz wypisującą wszystkie liczby kolejki od początku. Parametrem procedury jest wskaźnik do jej początku.

Witam mógłby mi ktoś pomóc z tym zadaniem:

struct kolejka
{
	kolejka *next;
	int x;
};

struct kolejka *insert(kolejka *k,int x)
{
	kolejka *wsk;
	wsk=new kolejka;
	wsk->x=x;
	wsk->next=NULL;
	if(k!=NULL)
	k->next=wsk;
	return wsk;
}

void kol(kolejka *p,kolejka *k)
	{
	
		FILE *z;
		z=fopen("liczby.txt","r");
		int g;
		
		
		
		while(!feof(z))
		{

		fscanf(z,"%d\n",&g);
		
		k=insert(k,g);
		}

		
}
void wypisz(kolejka *p)
{
FILE *y;

y=fopen("liczby.txt","r");
int tmp;


do
{
  fscanf(y,"%d",&tmp);
  printf("%d",wsk->x);
  p=p->next;
  }while(p!=NULL);
  }



int main()
{

	FILE *g;
int nr;
kolejka *p=NULL;
kolejka *k=NULL;


g=fopen("liczby.txt","w");





for(int i=0;i<5;i++)
{
	

	printf("podaj nr\n");
	scanf("%d",&nr);
	
	fprintf(g,"%d",nr);
}
kol(p,k);
wypisz(p);


}
0
struct queue
  {
   int x;
   queue *next;
  };
 
queue *insert(kolejka *&head,kolejka *&tail,int x); // powiedziano że wskaźniki na początek i koniec

// wczytywanie do słowa "stop"
char stopword[1000];
while(true)
   {
    printf("podaj nr: ");
    if(scanf("%d",&nr)==1) insert(head,tail,nr);
    else if((scanf("%999s",stopword)==1)&&(!strcmp(stopword,"stop"))) break;
    printf("wpisz liczbe lub slowo stop jezeli chcesz zakonczyc wprowadzenie\n\n");
   }

1 użytkowników online, w tym zalogowanych: 0, gości: 1