Программа в которой ввод информации должен осуществляется через массив
Помогите понять как исправить программу.
Нужно вывести сведения о расписании занятий каждого преподавателя по дням недели Сведения о расписании занятий:
- день недели;
- номер занятия;
- название предмета;
- фамилия преподавателя.
Обязательно должна быть структура и ввод данных через массив
#include <iostream>
#include <string>
using namespace std;
struct Raspisanie
{
string day;
string subject;
int numberofclass;
string surname;
};
void printinformation(Raspisanie raspisanie )
{
cout<<"day:"<<raspisanie.day<<"\n";
cout<<"subject:"<<raspisanie.subject<<"\n";
cout<<"number of class:"<<raspisanie.numberofclass<<"\n";
cout<<"surname:"<<raspisanie.surname<<"\n";
}
int main()
{
string mass1[4]={};
for (int i=0; i<4;i++)
{
cout<<("Введите исходные данные соответсвующие расписанию на понедельник");
cin>>mass1[i];
}
string mass2[4]={};
for (int i=0; i<4;i++)
{
cout<<("Введите исходные данные соответсвующие расписанию на вторник");
cin>>mass2[i];
}
string mass3[4]={};
for (int i=0; i<4;i++)
{
cout<<("Введите исходные данные соответсвующие расписанию на среду");
cin>>mass3[i];
}
string mass4[4]={};
for (int i=0; i<4;i++)
{
cout<<("Введите исходные данные соответсвующие расписанию на четверг");
cin>>mass4[i];
}
string mass5[4]={};
for (int i=0; i<4;i++)
{
cout<<("Введите исходные данные соответсвующие расписанию на пятницу");
cin>>mass5[i];
}
Raspisanie monday =mass1;
Raspisanie tuesday=mass2;
Raspisanie wednesday =mass3;
Raspisanie thursday = mass4;
Raspisanie friday=mass5;
printinformation (monday);
printinformation (tuesday);
printinformation (wednesday);
printinformation (thursday);
printinformation (friday);
return 0;
}
Ответы (1 шт):
Конечно же этот код максимально странный, но он будет работать с Вашим кодом так, как вы этого хотите исходя из исходника:
Raspisanie(string data[]) {
this->day = data[0];
this->subject = data[1];
this->numberofclass = atoi(data[2].c_str());
this->surname = data[3];
}
Добавив конструктор вы сможете инициализировать те значения, которые содержатся в структуре.
numberofclass является переменной типа int,поэтому такое приведение. Очевидно, что лучше поменять на string.
Симпотное решение - это сделать string-массив(опять же исходя из исходника), чтобы можно было проходиться по циклу, а не самостоятельно приписывать индексы.
Осталось поработать над логикой вашей программы.