У меня возникла,странная проблема при создании структуры.
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;
}
Все просто. Ваш birthday
, когда он char
, понимается как char*
, а оператор ostream>>
для char*
- строки в стиле C - есть.
А вот для int*
- нет. Как вы хотите считывать массив целых чисел одним оператором? :)
Вот и все...
Нужна помощь! Даны два массиваНайти отклонение медианы от среднего арифметического для третьего массива, элементы которого - частное от деления...
Дана матрица следующего вида std::array<std::array<value_type, M>, N> matrix;Как поменять в ней i и j строки? Этот код не хочет менять содержимое матриц, хоть...
При загрузке файла сервером с клиента на java сервер вылетает с ошибками:
Здравствуйте, подскажите пожалуйста, не могу запустить игру в релизеПрописал в input sfml-graphics