В настоящее время я работаю над проектом, и мне нужно сделать что-то очень конкретное. Мне нужно сохранить значение в сортировках database
, используя массив символов, но мне также нужно сохранить значение умножения в последнем слоте, и я не знаю, как это сделать. Листинг переменной char и ее умножение, похоже, хранят мусор на int
, поскольку я получаю значения в диапазоне, который должен быть. Еще одно предложение, которое я попробовал, это использовать memset()
, чтобы вручную установить значение, но я не совсем понимаю, как это сделать.Преобразование типа символа, хранящегося в массиве, в переменную int
Вот мой код
int form_fill(int room_ID, char database[rooms * floors * req_data][20]) {
printf ("Enter the first name\n");
fflush(stdin);
gets (database[room_ID]);
printf ("Enter the second name\n");
gets (database[room_ID + 1]);
printf ("Enter the third name\n");
gets (database[room_ID + 2]);
printf ("How many days will the guest stay?\n");
}
В идеале дни пользователь вводит, будут храниться в database[room_ID + 3]
как char
и умноженные на другой переменной, объявленной ранее как глобальный и результат хранится, как char
, в database[room_ID + 4]
. У кого-нибудь есть решения для этого?
пс. Я знаю, что использование gets небезопасно, но это то, о чем учитель спросил, поэтому я должен.
'fflush (stdin);' --- неопределенное поведение. –
[FYR] 'gets()' is ** evil **, используйте 'fgets()'. –
«Я знаю, что использование gets небезопасно, но это то, о чем учитель спросил, поэтому я должен». - * Всегда задавайте вопросы учителям, они могут обнаружить новые вещи * –