Необработанное исключение по адресу 0x00007FF86C6A8028 (ucrtbase.dll) в Project1.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00007FF6178C1A06.
Меняю спецификаторы в scanf
%s
например на %i
перестает выходить эта ошибка, но смысл естественно теряется.
#include <stdio.h>
#include <locale>
#define ARR_SIZE 2
typedef struct HUM_RES_DEP
{
char Position[20];
char SecName[15];
char Init[2];
int Year;
int WorkExp;
int Salary;
}HUM_RUS_DEP;
void BubleSort(HUM_RES_DEP *arr);
void InPut(HUM_RES_DEP *arr);
void OutPut(HUM_RES_DEP *arr);
int main()
{
setlocale(LC_ALL, "Russian");
HUM_RES_DEP arr[ARR_SIZE];
InPut(arr);
BubleSort(arr);
OutPut(arr);
system("pause");
return 0;
}
void BubleSort(HUM_RES_DEP *arr)
{
HUM_RES_DEP temp;
for (int i = 0; i<ARR_SIZE; i++){
for (int j = 0; j<(ARR_SIZE - 1); j++){
if (arr[j].SecName>arr[j + 1].SecName){
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
};
};
}
void InPut(HUM_RES_DEP *arr)
{
printf("Введите данные:\n| Должность | Фамилия | Инициалы | Год рождения | Стаж работы, мес | Оклад |\n");
for (int i = 0; i<ARR_SIZE; i++){
scanf_s("%s %s %s %d %d %d", &arr[i].Position, &arr[i].SecName, &arr[i].Init, &arr[i].Year, &arr[i].WorkExp, &arr[i].Salary);
};
}
void OutPut(HUM_RES_DEP *arr)
{
printf(" __________________________________________________________________________________________");
printf("\n| Отдел Кадров |");
printf("\n|__________________________________________________________________________________________|");
printf("\n| Должность | Фамилия | Инициалы | Год рождения | Стаж работы, мес | Оклад |");
printf("\n|______________|_____________|_____________|______________|____________________|___________|");
for (int i = 0; i<ARR_SIZE; i++){
printf("\n|%10s| %10s| %10s| %10d| %10d| %10d|", arr[i].Position, arr[i].SecName, arr[i].Init, arr[i].Year, arr[i].WorkExp, arr[i].Salary);
printf("\n|______________|_____________|_____________|_____________|_____________________|___________|");
};
}
В отличие от scanf и wscanf, scanf_s и wscanf_s требуют указания размеров буфера для некоторых параметров. Указать размеры для всех c, C, s, S, или строка, набор элементов управления [] параметры. Размер буфера в символах передается как дополнительный параметр. Непосредственно за указатель на буфер или переменную. Например если вы читаете строку, размер буфера для этой строки передается следующим образом:
char s[10];
scanf_s("%9s", s, (unsigned)_countof(s)); // buffer size is 10, width specification is 9
Пользуйтесь простым scanf
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотел подключить jQuery, но выдает массу ошибок, как исправить не знаю ,скрины прилагаю:
Существует некий список, в котором обязательно нужны кастомные иконки, сделал их через list-style-image: url(/img/gearwheel
Пишу небольшой чатКаждое новое сообщение нужно выводить с новой строки