I'm trying to make a program that can store certain information in a text file. The problem I have though is that with the code I've written so far, the information stored is a bunch of weird symbols and characters. I've managed to kind of find out where it happens from but I can't seem to solve it. It seems like in my register_item function, both item number and balance get weird values for some reason. If anyone can see what mistake I've made, that would be appreciated.
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <stdlib.h>
    #define MAX 20
    struct vara
    {
        int itemnumber[20];
        char name[30];
        int balance[20];
    };
    open_file(FILE *ange_filnamn, char filnamn[], struct vara varor[], int *antal_varor)
    {
        int mainmenu = 0;
        while (mainmenu != 1 && mainmenu != 2)
        {
            printf("Do you want to open an existing file (1) or create a new one (2)?\n");
            scanf("%d", &mainmenu);
            //system("CLS");
            if(mainmenu==1)
            {
                printf("Choose filename (ex. .txt).\n");
                scanf("%s", filnamn);
                ange_filnamn=fopen(filnamn, "r+");         
                while(!feof(ange_filnamn))
                {
                    fread(&varor[*antal_varor], sizeof(struct vara), 1, ange_filnamn);
                    if(!feof(ange_filnamn))
                    {
                        *antal_varor=*antal_varor + 1;        
                    }
                }
                printf("\nNumber of items: %d \n",*antal_varor);
                fclose(ange_filnamn);              
            }
            if(mainmenu==2)
            {
                printf("What name do you want for your new file?\n");
                scanf("%s", filnamn);
                ange_filnamn=fopen(filnamn, "w+");
                printf("File is created!\n");
                *antal_varor = 0;                 
                fclose(ange_filnamn);               
            }
        }
    }
    register_item(struct vara *varor, int *antal_varor)
    {
        printf("Item number:\n");                             
        scanf("%d", varor[*antal_varor].itemnumber);    
        printf("Name:\n");
        scanf("%s", varor[*antal_varor].name);
        printf("Balance:\n");
        scanf("%d", varor[*antal_varor].balance);   
        *antal_varor+=1;
    }
    print_item(struct vara varor[], int antal_varor)
    {
        int i;
        for (i=0; i < antal_varor; i++)
        {
            printf("%d. Item number: %d Name: %s Balance: %d\n", i, varor[i].itemnumber, varor[i].name, varor[i].balance);         
        }
    }
    quit_program(char filnamn[], struct vara varor[], int *antal_varor)
    {
        FILE *fil;
        //printf("%s", filnamn);
        fil=fopen(filnamn, "w+");                                             
        fwrite(varor, sizeof(struct vara), *antal_varor, fil);
        fclose(fil);
    }
    int main(void)
    {
        FILE *ange_filnamn;
        struct vara varor[MAX];
        int mainmenu, menu, antal_varor=0;
        char filnamn[20], filen[30]; 
        open_file(ange_filnamn,filnamn, varor, &antal_varor);
        //Second menu
        while(menu!=7)
        {
            printf("\n");
            printf("1. Register new items to inventory.\n");
            printf("2. Print all items from inventory.\n");
            printf("3. Search for item.\n");
            printf("4. Change inventory.\n");
            printf("5. Sort inventory.\n");
            printf("6. Deregister item from inventory.\n");
            printf("7. Quit.\n");
            scanf("%d", &menu);
            if(menu==1)
            {
                register_item(varor, &antal_varor);
            }
            if (menu==2)
            {
               print_item(varor, antal_varor); 
            }
            if (menu==3)
            {
                printf("test");
            }
            if (menu==4)
            {
                printf("test");
            }
            if (menu==5)
            {
                printf("test");
            }
            if(menu==6)
            {
                printf("test");
            }
            if (menu==7)
            {
                quit_program(filnamn, varor, &antal_varor);
            }
        }
    }
 
     
     
    