Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Конструктор игнорирует 2 метода в конце, поэтому переменные зарплаты и премии не высчитываются(этим и должны заняться 2 игнорируемых метода); так же метод toFile вроде бы работает, fout.is_open() показывает, что файл открыт, но изменений никаких в файле не происходит. В чём может быть проблема?
//Описать Класс Работник
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
class worker
{
string name;
int experience;
int hourlyWag;
int workedHours;
int salary;
double premy;
void salaryCalculate()
{
salary = workedHours * hourlyWag;
}
void premyCalculate()
{
if (experience < 1) { premy = 0; return; }
if (experience < 3) { premy = (double) (salary * 0.05); return; }
if (experience < 5) { premy = (double)((salary / 100) * 8); return; }
premy = (double)((salary / 100) * 15); return;
}
public:
worker()
{
cout << "Enter worker's name: ";
cin >> name; cout << endl;
cout << "Enter worker's experience: ";
cin >> experience; cout << endl;
cout << "Enter worker's hourly wag: ";
cin >> hourlyWag; cout << endl;
cout << "Enter how much hours "<<name<<" has worked: ";
cin >> workedHours; cout << endl;
void salaryCalculate();
void premyCalculate();
}
void Display()
{
cout << name << endl
<< "Experience is " << experience << endl
<< "Hourly wage is " << hourlyWag << endl
<< "Denis has worked " << workedHours << " hours" << endl
<< "Salary is " << salary << endl
<< "Premy is " << premy << endl;
}
void toFile()
{
ofstream fout;
fout.open("A:\ProgProjects\output.txt");
fout << name << endl
<< "Experience is " << experience << endl
<< "Hourly wage is " << hourlyWag << endl
<< "Denis has worked " << workedHours << " hours" << endl
<< "Salary is " << salary << endl
<< "Premy is " << premy << endl;
fout.close();
cout << "Information about " << name << " was written in file output.txt"<<endl<<endl;
}
};
int main()
{
worker a;
a.Display();
a.toFile();
return 0;
}
Не нашёл fin
в представленном коде, вследствие чего могу сказать лишь, что изменения в файл записываются после его закрытия. Если файл открыт на запись, записанная в него информация не отобразится до тех пор, пока он не будет закрыт.
void salaryCalculate();
– объявление функции, а не её вызов, как уже сказали в комментарии. Используйте просто salaryCalculate();
. Для второго метода аналогично.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Допустим есть указатель на обьект класса Qt (например QPushButton *btn)Хочу выводить адрес, на который ссылается указатель, через QLabel на виджет
Не нашел нигде информацию для приведении типов в стиле вызова функций:
Подскажите как лучше сделать следующую задачу:
Собственно, имеется шаблонный класс treeЕсть еще класс SomeClass, в котором есть метод show