Hi, i am a beginner in C, and need a hand
Could anyone help me with the following task:
I have a data file (xml) and need to write a program in C:
1. make a list of all <Tuubid>(types) showing the number of <Jalgrattas> (bicycles) in each type, and
2. make a list of <Jalgrattas>(bicycles) showing <Mudel> (models) sorted by <Hind> (price)
3. The results should be inserted into an output file
here is the xml file
Code:
<?xml version="1.0" encoding="utf-8"?>
<xml>
<Author>helfer
<Jalgrattade Kataloog>Classic
	<Tuubid> Maastikurattad
			<Kategooria>Ekspert
<Jalgratas>
	<Mudel>TEAM XRT</Mudel>
	<Käike> 27 </Käike>
	<Esivahetaja>SHIMANO XRT, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO XRT, 9 käiku</Tagavahetaja>
	<Hind>67000.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>TEAM XT</Mudel>
	<Käike> 27 </Käike>
	<Esivahetaja>SHIMANO LX, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO XT, 9 käiku</Tagavahetaja>
	<Hind>17900.-</Hind>
</Jalgratas>
</Kategooria>
			<Kategooria>Sport
<Jalgratas>
	<Mudel>STORM</Mudel>
	<Käike> 27 </Käike>
	<Esivahetaja>SHIMANO LX, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO LX, 9 käiku</Tagavahetaja>
	<Hind>7990.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>STINGER</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO C-50, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Acera, 7 käiku</Tagavahetaja>
	<Hind>4470.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>ALU 24</Mudel>
	<Käike> 24 </Käike>
	<Esivahetaja>SHIMANO C-050, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Alivio, 8 käiku</Tagavahetaja>
	<Hind>6290.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>LEGEND</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO C-050, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Altus, 7 käiku</Tagavahetaja>
	<Hind>4990.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>MYSTIC sx</Mudel>
	<Käike> 24 </Käike>
	<Esivahetaja>SHIMANO Acera, 4 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Acera, 6 käiku</Tagavahetaja>
	<Hind>5500.-</Hind>
</Jalgratas>
</Kategooria>
			<Kategooria>Harrastaja
<Jalgratas>
	<Mudel>TATTOO</Mudel>
	<Käike> 18 </Käike>
	<Esivahetaja>SHIMANO Index System, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 6 käiku</Tagavahetaja>
	<Hind>2990.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>ROCK</Mudel>
	<Käike> 15 </Käike>
	<Esivahetaja>SHIMANO TY-15, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO TY-15, 5 käiku</Tagavahetaja>
	<Hind>2490.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>POLAR</Mudel>
	<Käike> 5 </Käike>
	<Esivahetaja>-</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 5 käiku</Tagavahetaja>
	<Hind>2290.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>F1</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO TY-22, 3 käiku</Esivahetaja
	><Tagavahetaja>SHIMANO TY-22, 7 käiku</Tagavahetaja>
	<Hind>3790.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>IMPULSE sx</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO TY-32, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO C-50,7 käiku</Tagavahetaja>
	<Hind>3800.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>GEMINI tandem</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO TY-32, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Altus, 7 käiku</Tagavahetaja>
	<Hind>7700.-</Hind>
</Jalgratas>
		</Kategooria>
		</Tuubid>
			<Tuubid> Linnarattad
			<Kategooria> Naiste rattad
<Jalgratas>
	<Mudel>AVENUE 7</Mudel>
	<Käike> 7 </Käike>
	<Esivahetaja>SHIMANO Nexus-7, pöördvaheti</Esivahetaja>
	<Tagavahetaja>SHIMANO Nexus-7, rummusisene 7 käiku</Tagavahetaja>
	<Hind>4490.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>COMFORT</Mudel>
	<Käike> 5 </Käike>
	<Esivahetaja>Pöördvaheti</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 5 käiku</Tagavahetaja>
	<Hind>2990.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>DELUXE</Mudel>
	<Käike> 5 </Käike>
	<Esivahetaja>Pöördvaheti</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 5 käiku</Tagavahetaja>
	<Hind>3290.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>CRUISER</Mudel>
	<Käike> 1 </Käike>
	<Esivahetaja>-</Esivahetaja>
	<Tagavahetaja>-</Tagavahetaja>
	<Hind>1890.-</Hind>
</Jalgratas>
</Kategooria>
		<Kategooria> Lasterattad		
<Jalgratas>
	<Mudel>Triple X</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO TY-22, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO TY-22, 7 käiku</Tagavahetaja>
	<Hind>3190.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>DONNA</Mudel>
	<Käike> 5 </Käike>
	<Esivahetaja>pöördvaheti</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 5 käiku</Tagavahetaja>
	<Hind>2890.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>STAR</Mudel>
	<Käike> 18 </Käike>
	<Esivahetaja>SHIMANO Index System, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO Index System, 6 käiku</Tagavahetaja>
	<Hind>2990.-</Hind>
</Jalgratas>
<Jalgratas>
	<Mudel>ZERO</Mudel>
	<Käike> 21 </Käike>
	<Esivahetaja>SHIMANO TY-22, 3 käiku</Esivahetaja>
	<Tagavahetaja>SHIMANO TY-22, 7 käiku</Tagavahetaja>
	<Hind>2790.-</Hind>
</Jalgratas>
</Kategooria>
</Tuubid> 
</Jalgrattade Kataloog>
</Author>
</xml>
and here is my version with mistakes(probably it`s completely wrong) and not completed - how to print results correctly?

Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define N 21;
#define M 2;
struct Tuubid//types 
{
        char name[20]; //name of type
        int kolvoratas; //number of bicycles
        };
struct Jalgrattas//bicycles
{
       char mudel[20];//name of model
       int hind; //price
       };
       
int main()
{
   char rida[200], *s, *p;
   int i,j;
   char type[M], spisok[N];
   FILE *fp; //data file
   FILE *frz; //file for results
   frz = fopen("result.txt", "w");

   if ((fp = fopen ("Ratas.xml", "r")) = NULL)
    printf ("Error!");
    getch(); return 1;
    
    while (!feof(fp)){               //check end of file indicator
               fgets(rida,sizeof(rida), fp);//reading symbols from fp
               for(s=rida; (p=strtok(s, "<>"))!=NULL; s=NULL)
               {
               for(i=0; i<M; i++)
               {        //tuup - type
                       if(strcmp(p,"Tuup")==0) //A zero value indicates that both strings are equal
                       {
                       p=strtok(NULL, "<>");
                       //a null pointer specifies, in which case the function 
                       //continues scanning where a successful call to the function ended. 
                       strcpy(type[i].name, p);
                       }
                       else if(strcmp(p, "Jalgrattas")==0)//jalgrattas - bicycles
                       {
                            p=strtok(NULL, "<>");
                            type[i].kolvoratas=atoi(p); //change string to int
                            strcpy (type[i].kolvoratas,p);
                                                        }
                            else (strcmp(p, "/Tuup")==0)
               }
               for(j=0; j<N; j++)
               {
               if((strcmp(p,"Mudel"))==0) //mudel = model
                       {
                       p=strtok(NULL, "<>"); 
                       strcpy(spisok[j].mudel, p);//copy content of p into array
                       }
               else(strcmp(p, "/Mudel")==0)
               
                       if(strcmp(p, "Hind"))==0 //hind - price
                       {
                            p=strtok(NULL, "<>");
                            spisok[j].hind=atof(p); 
                            strcpy(spisok[j].hind, p);
                            }
                            else (strcmp(p, "/Hind"))==0
                            }
                             void sort();
               }
              
    } 
    fclose(fp);
    fclose(frz); 
   printf("Press any key...");
    getch();  
}
    void sort() //models sorted by price
    {
      char spisok[N];
      for (int j=0; j<N; j++)
     {
          
         int min = spisok[j].hind;
         int index = j;
         for (int k=j+1; k<N; k++)
         {
         if (spisok[k].hind<min)
         {
            min = spisok[j].hind;
            index = k;
            }
            Jalgrattas temp = spisok[index];
            spisok[index]=spisok[j];
            spisok[j]=temp;
            }
     }   
     }
thanks to all for help