#include <iostream>
#include <stdio.h>
using namespace std;
#define N 5
class Man {
string name;
int age;
string city;
public:
virtual void about() {
printf("Hi, my name's %s.I'm %i.I live in %s.", name.c_str(), age, city.c_str());
}
virtual void fiiling() {
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Enter city of residence:";
cin >> city;
}
};
class Student : public Man {
protected:
char status;
char statusStudy;
char statusAvarang;
string university; // университет
string faculty; // факультет
string group; // Группа
int course; //курс
float evaluation[N];
float avarangPoint;
bool isStudy;
public:
void about() override {
Man::about();
printf("I study in %s.faculty %s,group %s, course %s.", university.c_str(), faculty.c_str(), group.c_str(),
course);
}
void fiiling() override {
Man::fiiling();
cout << "Enter your university: ";
cin >> university;
cout << "Enter faculty: ";
cin >> faculty;
cout << "Enter group:";
cin >> group;
cout << "Enter course: ";
cin >> course;
cout << "Do you study now? Y/N ";
cin >> statusStudy;
if (statusStudy == 'Y' || statusStudy == 'y') {
isStudy = true;
} else isStudy = false;
cout << "Want to specify your ratings? Y/N ";
cin >> status;
if (status == 'Y' || status == 'y') {
fiillPoint();
}
}
void fiillPoint() { // заполнение оценок
for (int i = 0; i <= N; i++) {
cout << "Enter your point in subject " << i + 1 << endl;
cin >> evaluation[i];
}
cout << " Want to know the average ball? Y/N ";
cin >> statusAvarang;
if (statusStudy == 'Y' || statusStudy == 'y') {
avarangPoint = gradePointAverage();
cout << "Your avarenge point: " << avarangPoint << endl;
} else cout << "GoodBye " << endl;;
}
float gradePointAverage() { // средний балл
float temp = 0;
for (int i = 0; i < N; ++i) {
temp += evaluation[i];
}
return temp / N;
}
void state() {
if (isStudy) { cout << "I am study now " << endl; }
else { cout << "I'm don't study now :D" << endl; }
}
};
class Sportsman : public Student {
char status;
protected:
string kindOfSport;
int yearsOfSports;
public:
void about() override {
Student::about();
printf("In my free time I play %s.I've been doing it for %i years already", kindOfSport.c_str(), yearsOfSports);
}
void fiiling() override {
Student::fiiling();
cout << "What sports do you do ? ";
cin >> kindOfSport;
cout << "How many years have you been doing it? ";
cin >> yearsOfSports;
cout << "do you want to train? Y/N";
cin >> status;
if (status == 'Y' || status == 'y') {
training();
} else { cout << "GoodBye " << endl; }
}
void training() { // тренировка
cout << "going to the gym......" << endl;
cout << "I train..." << endl;
}
};
int main() {
//
// cout << "=======================Student================"<<endl;
// Student student;
// student.fiiling();
// student.about();
cout << endl << "=======================Sportsman================" << endl;
Sportsman sportsman;
sportsman.fiiling();
sportsman.about();`введите сюда код`
cin.get();
cin.get();
return 0;
}
При вызове метода about(); на любом обьекте ничего не происходит только завершаеться программа. Хотя метод fiiling(); работает корректно. В чём беда ?
Во-первых, ваша мешанина из функций ввода-вывода их разных стандартных библиотек - С и С++ - вызывает недоумение.
Во-вторых, чтобы на построчно-буферизованных устройствах начало что-то "происходить", необходимо после ваших данных хотя бы вывести символ перевода строки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Дано натуральное число nПолучить его каноническое разложение (разложение на простые множители)
Как изменить размеры виджетов которые находятся в слое(layout), получается изменить размеры кнопок через qss(пока я что попробовал), но размеры...
Всем привет, начал разработку игры, еще мало чего создал, но после добавления отклика на столкновение почти сразу после запуска exe виндовс...
я новенький в изучении C++Что в этом коде может быть не так?