Нужна помощь по структурам и строкам c++

209
16 июня 2018, 14:30

?). Есть вот такое задание

Вот мой код и он не работает в районе strncpy_s

#include <iostream>
#include <string.h>
#include <Windows.h>
using namespace std;
struct schoolboy
  {
public:
char firstName[30];
char secondName[30];
char addres[50];
int schoolNumber;
int schoolclass;    
 };
 schoolboy recording(schoolboy *base, schoolboy *record, int number);
 schoolboy input(schoolboy *base);
 void recordOut(schoolboy *record);
int main(){
int number;
setlocale(LC_ALL, "Rus");
cout << "Введите число " << endl;
cin >> number;
schoolboy base[28], record[28];
input(base);
recording(base, record, number);
recordOut(record);
system("pause");
return 0;
}
schoolboy input(schoolboy * base)
{
for (int i = 0; i < 2; i++)
{
    cout << "Input First name" << endl;
    cin.ignore();
    cin.getline(base[1].firstName, 30);
    cout << "Input Second name" << endl;
    cin.ignore();
    cin.getline(base[i].secondName, 30);
    cout << "Input addres" << endl;
    cin.ignore();
    cin.getline(base[i].addres, 50);
    cout << "Input Number of school" << endl;
    cin >> base[i].schoolNumber;
    cout << "Input Schoolclass" << endl;
    cin >> base[i].schoolclass;
}
return *base;
}
 schoolboy recording(schoolboy *base, schoolboy *record, int number)
{
if (base->schoolNumber == number)
{
    if (base->schoolclass==10 || base->schoolclass==11)
    {
    cout << "1" << endl;
    for (int i = 0; i < 2; i++)
    {
        strncpy_s(record[i].firstName, base[i].firstName, 
sizeof(base[i].firstName));
        strncpy_s(record[i].secondName , 
base[i].secondName,sizeof(base[i].secondName));
        strncpy_s(record[i].addres, base[i].addres,sizeof(base[i].addres));
    }       
    }
    else
    {
        cout << "Haven't 10 or 11 class" << endl;
        return *base;
    }
}
else
{
    cout << "Not found" << endl;
    return *base;
}
return *record;
}
 void recordOut(schoolboy *record)
{
for (int i = 0; i < 2; i++)
{
    cout << "i=  " << i << endl;
    cout << record[i].firstName << " " << record[i].secondName << " адрес: " 
<< record[i].addres << endl;
}
}

Пробывал и strcpy, strcpy_s, strncpy; Всё не работает, да и strncpy_s тоже. В чём проблема и мб есть какие советы по заданию?

READ ALSO
Полный список #include директив [закрыт]

Полный список #include директив [закрыт]

Существует ли полный список #include директив, которые нужно подключить, чтобы можно было использовать все операторы c++, дело в том что что я изучая...

230
Произведение ряда рекурсивно

Произведение ряда рекурсивно

Помогите пожалуйста разобраться с рекурсиейИзучаю эту тему сейчас на парах, и никак не могу допереть, как с ней работать

208
SDL2 как загрузить картинку (на иконку окна и на курсор)?

SDL2 как загрузить картинку (на иконку окна и на курсор)?

Нужно загрузить картинку в SDL_Surface для установки её на иконку окна и на кастомный курсорНашел вот этот способ превращения массива пикселей...

226
Flexbox IE и Edge

Flexbox IE и Edge

Сверстан сайт на flexboxПроблема в том, что во всех браузерах меню нормально и адекватно отображается в одну строку, но в IE и Edge текст в меню съезжает...

200