Запись строки в экземпляр объекта
делаю базу данных , обязательно на СИ. не могу ввести строку , для экземпляра объекта. ниже мой весь мой код. проблема в 40-й строке. при вводе данных. почему-то эту строку пропускает и нельзя ввести сообщение.
#include <stdio.h>
#include <string.>
#include <stdlib.h> // для перехода на русский язык
typedef struct {
unsigned int hour;
unsigned int minute;
unsigned int second;
}Date;
typedef struct {
unsigned int numberUser;
char textUser[50];
Date date;
}Answer;
int pointMenu = 0;
void menu() {
printf("(0) Выход из меню\n");
printf("(1) Ввод данных\n");
printf("(1) Вывод данных\n");
scanf_s("%d", &pointMenu);
}
void DataEntry(Answer *(&d) , int &n) {
printf("Введите количество данныx :");
scanf_s("%d", &n);
d = new Answer[n];
for (int i = 0; i < n; i++) {
printf("\nВведите номер устройства :");
scanf_s("%d", &d[i].numberUser);
printf("\nВведите текст сообщения, не больше 50 символов :");
scanf_s("%49c" , &d[i].textUser); //<------- вот тут не могу записать сообщение
printf("\nВведите время получения через пробел :");
scanf_s("%d %d %d", &d[i].date.hour, &d[i].date.minute, &d[i].date.second);
printf("\n________________________\n");
}
}
int main(){
system("chcp 1251");
system("cls");
menu();
int actionsInMenu;
int amountOfData = 0;
Answer* d = new Answer[amountOfData];
while (pointMenu != 0){
switch (pointMenu){
case 1:
DataEntry(d , amountOfData);
menu();
break;
case 2:
/*if (amountOfData != 0) {
Print(d, amountOfData);
}
else {
printf("\nДанные пусты.\n");
}*/
menu();
break;
default:
printf("Неверный ввод данных.\n");
menu();
break;
}
}
return 0;
}