Структуры С++ Проблема в создании

228
21 мая 2017, 23:53

У меня возникла,странная проблема при создании структуры.

struct Znak
{
    char surnamename[20]; 
    char znak[20]; 
    char birthday[30];
};

В строчке char birthday[30]; если стоит char то програма комплириуется нормально, а если ставлю int то компилятор говорит что я ̶д̶у̶р̶а̶к̶ , и пытается считать ето как char. )комплирировал в repl.it

#include <iostream>
#include<cstring>
using namespace std;
struct Znak
{
    char surnamename[20];
    char znak[20];
    char birthday[30];

};
int main()
{
    Znak base[100];
    int n;
    cin>>n;
    int i,j;
    for(i=0; i<n;i++) {
        cout<<"\nSurname and Name: ";
        cin>>base[i].surnamename;
        cout<<"\nZnak: ";
        cin>>base[i].znak;
        cout<<"\nBirthday: ";
        cin>>base[i].birthday;
    }
    for (i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if (strcmp(base[j].surnamename,base[i].surnamename)<0)
                swap(base[j].surnamename,base[i].surnamename);

        }
    }
    for(i=0; i<n;i++) {
        cout<<"Surname: "<<base[i].surnamename<<" Znak: "<<base[i].znak<<" Birthday: "<<base[i].birthday<<endl;
    }
    system("Pause");
    return 0;
}
Answer 1

Все просто. Ваш birthday, когда он char, понимается как char*, а оператор ostream>> для char* - строки в стиле C - есть.

А вот для int* - нет. Как вы хотите считывать массив целых чисел одним оператором? :)

Вот и все...

READ ALSO
Программа на си. Преобразовать в ООП вид [требует правки]

Программа на си. Преобразовать в ООП вид [требует правки]

Нужна помощь! Даны два массиваНайти отклонение медианы от среднего арифметического для третьего массива, элементы которого - частное от деления...

254
Поменять строки в матрице

Поменять строки в матрице

Дана матрица следующего вида std::array<std::array<value_type, M>, N> matrix;Как поменять в ней i и j строки? Этот код не хочет менять содержимое матриц, хоть...

224
Сервер Qt вылетает с ошибкой ASSERT: &ldquo;!isEmpty()&rdquo; in file ..\..\include/QtCore/../../src/corelib/tools/qlist.h, line 344

Сервер Qt вылетает с ошибкой ASSERT: “!isEmpty()” in file ..\..\include/QtCore/../../src/corelib/tools/qlist.h, line 344

При загрузке файла сервером с клиента на java сервер вылетает с ошибками:

412
Проблема с release версией игры на sfml

Проблема с release версией игры на sfml

Здравствуйте, подскажите пожалуйста, не могу запустить игру в релизеПрописал в input sfml-graphics

332