I am currently working on an assignment and was curious what this warning is when compiling and how to remedy it. It will build but when I debug it will get an error screen. Below is the warning that comes up.
1>c:\users\cesteves\documents\c programming\inventory\inventory\inventory.cpp(48): warning C4473: 'scanf_s' : not enough arguments passed for format string
note: placeholders and their parameters expect 2 variadic arguments, but 1 were provided
note: the missing variadic argument 2 is required by format string '%s' note: this argument is used as a buffer size
#include "stdafx.h"
#include <stdio.h>
void main()
{
    struct date {
        int day;
        int month;
        int year;
    };
    struct details {
        char name[20];
        int price;
        int code;
        int qty;
        struct date mfg;
    };
    struct details item[50];
    int n, i;
    printf("Enter number of items:");
    scanf_s("%d", &n);
    for (i = 0; i < n; i++) {
        printf("Item name: \n");
        scanf_s("%s", item[i].name);
        printf("Item code: \n");
        scanf_s("%d", &item[i].code);
        printf("Quantity: \n");
        scanf_s("%d", &item[i].qty);
        printf("price: \n");
        scanf_s("%d", &item[i].price);
        printf("Manufacturing date(dd-mm-yyyy): \n");
        scanf_s("%d-%d-%d", &item[i].mfg.day, &item[i].mfg.month, &item[i].mfg.year);    
    }
    printf("             *****  INVENTORY ***** \n");
    printf("----------------------------------------------------------------- - \n");
    printf("S.N.|    NAME           |   CODE   |  QUANTITY |  PRICE| MFG.DATE \n");
    printf("----------------------------------------------------------------- - \n");
    for (i = 0; i < n; i++)
        printf("%d     %-15s        %-d          %-5d     %-5d%d / %d / %d \n", i + 1, item[i].name, item[i].code, item[i].qty,item[i].price, item[i].mfg.day, item[i].mfg.month,item[i].mfg.year);
    printf("----------------------------------------------------------------- - \n");
}
 
     
     
     
    