-3
Я получаю сообщение об ошибке, потому что мне нужно поместить возвращаемое значение для этой структуры.Как получить пользовательский ввод для структуры с использованием другой функции, чтобы получить пользовательский ввод в C99
struct Item enterItem(int sku)
{
char name;
printf(" SKU: %d", sku);
printf(" Name: "); scanf("%20[^\n]", &name);
clearKeyboard(); // Function call to remove'\n'
printf(" Price: ");
getDouble(); // Function call to get user input in double
printf(" Quantity: ");
getInt(); // Function call to get user input in int
printf("Minimum Qty: ");
getInt();
printf(" Is taxed: ");
getYesOrNo(); // Function call to get user input in bool > (Y)es or (N)o
}
Пожалуйста, пост [Minimal, полный и проверяемый примера] (http://stackoverflow.com/help/mcve). Где вы сохраняете значение? Также 'char name; scanf ("% 20 [^ \ n]", &name); 'плохо, потому что вам будет разрешено вводить только строку с нулевым символом (плюс завершающий нулевой символ). – MikeCAT
Обычно вам не следует передавать/возвращать структуры по значению. пропустите указатели на них, чтобы избежать копирования. –
Итак, почему бы вам не вернуть структуру, поскольку вы знаете, что вам нужно? Объявите локальную переменную этого типа структуры, заполните ее по мере необходимости и верните ее. Или еще лучше, измените функцию для принятия указателя на структуру, которую предоставляет вызывающий объект. – kaylum