c – how can i fix it? LNK2019 LNK2019 unresolved external symbol _CreateProducts

how can i fix these errors?

Error LNK2019 unresolved external symbol _fscnaf referenced in function _main Project44
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol _Error_msg referenced in function _main Project44

Error LNK2019 unresolved external symbol _CreateProducts referenced in function _main Project44

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

typedef struct Item
{
    char* ProductName;
    int Price;
    int Quantity;
    struct Node* next;
}Item;

typedef struct kitchen
{
    Item* head;
    Item* tail;
    int size;
}kitchen, * P_kit;

typedef struct table
{
    Item* table_order;
    struct Node* head;
}table;

///void Error_Msg(char*);///
void Delete(kitchen);
int checkItemfordelete(kitchen*, Item*);
void CreateProducts(P_kit, FILE*);
void AddItems(P_kit, char, int);
void OrderItem(kitchen*, int, int, char, table*);
void RemoveItem(int, table*);
void RemoveTable(int, table*);



int main()
{
    kitchen kit;
    table table_n[50];
    int temp, Option = 0, t_quant, t_table, i;
    char t_product[50];
    FILE* manot = fopen("Manot.txt", "r");
    if (manot == NULL)
    {
        Error_msg("Something gone wrong with opening the file!n");
    }
    FILE* instructions = fopen("Instructions.txt", "r");
    if (instructions == NULL)
    {
        Error_msg("Something gone wrong with opening the file!n");
    }
    for (i = 0; i < 50; i++)
    {
        table_n[i].head = NULL;
    }
    printf("Press 1 to create the kitchen.n");
    while (fscnaf(instructions, "%d", &Option) != 1)
    {
        printf("Press 1 to create the kitchen.n");
    }
    CreateProducts(&kit, manot);
    printf("The kitchen was created successfuly!n");
    fclose(manot);

    while (fscanf(instructions, "%d", &Option) == 1)
    {
        switch (Option)
        {
        case 2:
            fscanf(instructions, "%s %d", t_product, &t_quant);
            AddItems(&kit, t_product, t_quant);
            break;
        case 3:
            fscanf(instructions, "%d %s %d", &t_table, t_product, &t_quant);
            OrderItem(&kit, t_table, t_quant, t_product, &table_n[50]);
            break;
        case 4:
            fscanf(instructions, "%d", &t_table);
            RemoveItem(t_table, &table_n[50]);
            break;
        case 5:
            fscanf(instructions, "%d", &t_table);
            RemoveItem(t_table, &table_n[50]);
            break;
        }
    }
    printf("Finish!n");
    fclose(instructions);
    return 0;
}
void Error_Msg(char* msg)//Error msg for open files.
{
    printf("n%s", msg);
    exit(1);             /*Exit() closes any open files in the program*/
}

void Delete(P_kit kit)
{
    Item* temp;
    while (kit->head != NULL)
    {
        temp = kit->head;
        kit->head = (kit->head)->next;
        free(temp);
    }
}

int checkItemfordelete(kitchen* kit, Item* temp)
{
    Item* temp1 = kit->head;
    while (temp)
    {
        if (strcmp(temp1->ProductName, temp->ProductName) == 0)
        {
            temp1 = kit->head;
            kit->head = (kit->head)->next;
            free(temp->ProductName);
            free(temp);
            return 0;
        }
        temp = temp->next;
    }
    return 1;
}

void CreateProduct(kitchen* kit, FILE* f)//Function creates class of students and returnes it.
{
    char buffer[99];
    int len, i = 1, flag = 0;
    Item* temp;
    kit->size = 0;
    temp = (Item*)malloc(sizeof(Item));
    if (temp == NULL)
    {
        printf("Memory allocation error!n");
        exit(1);
    }
    while (fscanf(f, "%s%d%d", buffer, &(temp->Price), &(temp->Quantity)) != EOF)//Takes the data of every student 
    {
        len = strlen(buffer) + 1;
        temp->ProductName = (char*)malloc(len * sizeof(char));//Gets the memory for names with enough place
        if (temp->ProductName == NULL)
        {

            free(temp->ProductName);
        }
        strcpy(temp->ProductName, buffer);//Puts the names into array
        if (temp->Price < 0)
        {
            printf("The price can't be negative!n");
            free(temp);
        }
        if (temp->Quantity < 0)
        {
            printf("The quantity can't be negative!n");
            free(temp);
        }
        if (kit->size == 0)
        {
            kit->head = temp;
            kit->tail = kit->head;
            kit->size++;
        }
        if (kit->size > 0)
        {
            flag = checkItemfordelete(kit, temp);
        }
        if (kit->size > 0 && flag == 0)
        {
            kit->tail->next = temp;
            kit->tail = kit->tail->next;
            kit->size++;
        }
        temp = (Item*)malloc(sizeof(Item));
        if (temp == NULL)
        {
            printf("Memory allocation error!n");
            exit(1);
        }
    }
}

void AddItems(P_kit kit, char added, int num)//Function adds the quantity to the kitchen kit. If there is no such item or the quantity in < 0 - prints error msg.
{
    Item* temp = kit->head;
    int flag = 0;
    if (num < 0)//Checks if the quantity is positive.
    {
        printf("Error! The quantity for adding must be positive!n");
        return;
    }
    while (temp != NULL)
    {
        if (strcmp(added, temp->ProductName) == 0)//Checks the name of the item inside the list.
        {
            temp->Quantity = temp->Quantity + num;//Adds the quantity to the item.
            flag = 1;
            break;
        }
        else temp = temp->next;
    }
    if (flag == 0)//Didn't find inputed item.
    {
        printf("Error! There is no such item in the kitchen!n");
    }
}

void OrderItem(kitchen* kit, int table_num, int item_quant, char order, table table_arr[50])
{
    Item* temp = kit->head;
    Item* temp_ord;
    int flag = 0, len;
    if (table_num <= 0 && table_num > 50)//Checks if the table number exists.
    {
        printf("Error! There is no such number of table in our restaurant!n");
        return;
    }
    while (temp != NULL && flag != 1)//Checks if meal name does exist.
    {
        if (strcmp(order, temp->ProductName) == 0)//Checks the name of the item inside the list.
        {
            flag = 1;
        }
        else temp = temp->next;
    }
    if (flag == 0)//If not exist.
    {
        printf("Error! There is no such meal in our kitchen!n");
        return;
    }
    if (item_quant < 0 && temp->Quantity - item_quant < 0)
    {
        printf("Error! There number is wrong!n");
        return;
    }
    temp_ord = (Item*)malloc(sizeof(Item));
    len = strlen(order) + 1;
    temp_ord->ProductName = (char*)malloc(len * sizeof(char));//Gets the memory for names with enough place
    if (temp_ord->ProductName == NULL)
    {
        free(temp_ord->ProductName);
    }
    strcpy(temp_ord->ProductName, order);//Puts the names into array
    temp_ord->Price = temp->Price;
    temp_ord->Quantity = item_quant;
    temp_ord->next = table_arr[table_num].head;
    table_arr[table_num].head = temp_ord;
    temp->Quantity = temp->Quantity - item_quant;
}

void RemoveItem(int tab, table* table_n[50])
{
    Item* temp;
    temp = table_n[tab]->head;
    if (table_n[tab]->head == NULL)
    {
        printf("There is no order in this table!n");
    }
    else
    {
        temp = table_n[tab]->head;
        table_n[tab]->head = temp->next;
        printf("The canceled dish is :%sn", temp->ProductName);
        printf("The amount have been canceled is :%d", temp->Quantity);
        free(temp->ProductName);
        free(temp);
    }
}

void RemoveTable(int tab, table* table_arr[50])
{
    Item* temp, * temp_to_free;
    float  tip = 0, bill = 0, price;
    temp = table_arr[tab]->head;
    if (tab > 50 || tab < 1)
    {
        printf("The table number is not exist! n");
        return;
    }
    if (temp == NULL)
    {
        printf("The table's bill was already closed or there was no order!!n");
        return;
    }
    while (temp != NULL)
    {
        price = (temp->Price) * (temp->Quantity);
        bill = +price;
        printf("Check:n:Table No.%dnn", tab);
        printf("Quantityt");
        printf("Productt");
        printf("Pricen");
        printf("%dt", temp->Quantity);
        printf("%st", temp->ProductName);
        printf("%.2fn", price);
        temp_to_free = table_arr[tab]->head;
        table_arr[tab]->head = temp->next;
        temp = temp->next;
        free(temp_to_free->ProductName);
        free(temp_to_free);
    }
    printf("The bill is :%.2fnn", bill);
    tip = +(bill * 15) / 100;
    printf("The tip  is :%.2fnn", tip);
    bill += tip;
    printf("The total price is: %.2fn", bill);
}

< Error LNK2019 unresolved external symbol _CreateProducts referenced in function _main Project44
Error LNK2019 unresolved external symbol _Error_msg referenced in function _main Project44 > how can i fix this error?

Leave a Comment