Тема: Допоможіть,будь ласка,знайти помилку(Мова С++)
Надаю текст завдання та код.Створення файлу та запис данних працюють коректно.Вивід даних працює некоректно.Компілятор не показує жодних помилок.Допоможіть,будь ласка/
Заздалегідь дякую <3
-----------------------------------------------------------------------------------------------------------------------------------------------------
Hа основі запиту обчислити кількість пpацівників за кожним pозpядом pоботи в pозрізі гpуп непеpеpвного стажу: до 1 pоку, від 1 до 3 pоків та вищий. Знайдені показники вивести в такій фоpмі:
Hепеpеpвний стаж Кількість пpацівників за розрядами
Код підпpиємства Код цеху pоботи, pоків 1 2 3 4 5 6
До 1
Від 1 до 3
Понад 3
Пеpедбачити дpукування значень стажу.
--------------------------------------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
struct Factory
{
char kp[6];// Код підприємства
char kc[3];// Код цеху
char tab[5];// Табельний номеp пpацівника
char PIB[30];// ПІБ
char rn[5];// Рік народження
char kn[3];// Код національності
char ss[2];// Сімейний стан
char srz[3];// Стаж pоботи загальний
char srn[3];// Стаж pоботи непеpеpвний
char kprof[5];// Код пpофесії
char rozr[2];// Розряд
char zp[6];// Заробітня плата
} v;
int mainOut()
{
setlocale(LC_ALL, "Ukrainian");
int Flag = 1;
ofstream output("Factory.txt",ios::out | ios::binary | ios::app);
if (!output)
{
cout << "Не вдалося вiдкрити файл";
exit(1);
}
while(Flag==1)
{
cout << "Введiть данi" << endl;
cout << "Введiть код пiдприємства(5): " << endl;
cin >> v.kp;
cout << "Введiть код цеху(2): " << endl;
cin >> v.kc;
cout << "Введiть табельний номеp пpацiвника(4): " << endl;
cin >> v.tab;
cout << "Введiть ПIБ(29): " << endl;
cin >> v.PIB;
cout << "Введiть рiк народження(4): " << endl;
cin >> v.rn;
cout << "Введiть код нацiональностi(2): " << endl;
cin >> v.kn;
cout << "Введiть сiмейний стан(2): " << endl;
cin >> v.ss;
cout << "Введiть стаж роботи загальний(2): " << endl;
cin >> v.srz;
cout << "Введiть стаж роботи неперервний(2): " << endl;
cin >> v.srn;
cout << "Введiть код професiї(4): " << endl;
cin >> v.kprof;
cout << "Введiть розряд(1): " << endl;
cin >> v.rozr;
cout << "Введiть заробiтню плату(5): " << endl;
cin >> v.zp;
output.write((char*)&v, sizeof(v));
cout << endl << "Бажаєте продовжити(1{Так}/0{Нi})\n";
cin >> Flag;
cout << string(5, '\n');
}
output.close();
return 0;
}
int mainRead() {
ofstream output("Factory.txt",ios::out | ios::in);
ifstream input("Factory.txt", ios_base::binary);
int kod,ceh,a1,a2,a3,roz1,roz2,roz3,roz4,roz5,roz6;
cout << "Введiть код пiдприємства та код цеху:\n";
cin >> kod;
cin >> ceh;
if (!output)
{
cout << "Не вдалося вiдкрити файл";
exit(1);
}
else {
do {
input.read((char*)&v, sizeof(v));
if (atoi(v.kc) == ceh && atoi(v.kp) == kod) {
if (atoi(v.srn) < 1)
a1++;
if (atoi(v.srn) >= 1 && atoi(v.srn) <= 3)
a2++;
if (atoi(v.srn) > 3)
a3++;
if (atoi(v.rozr) == 1)
roz1++;
if (atoi(v.rozr) == 2)
roz2++;
if (atoi(v.rozr) == 3)
roz3++;
if (atoi(v.rozr) == 4)
roz4++;
if (atoi(v.rozr) == 5)
roz5++;
if (atoi(v.rozr) == 6)
roz6++;
}
} while (!input.eof());
cout << "____________________________________________________________________________________" << endl;
cout << "| | | Неперервний стаж |Кiлькiсть працiвникiв за розрядами |" << endl;
cout << "|Код пiдприємтсва|Код цеху| роботи,рокiв | 1 | 2 | 3 | 4 | 5 | 6 |" << endl;
cout << "|________________|________|____________________|_____|_____|_____|_____|_____|_____|" << endl;
cout << "| | | До 1 року |"<< roz1 << "|" << roz2 << "|" << roz3 << "|" << roz4 << "|" << roz5 << "|" << roz6 << "|" << a1 << endl;
cout << "| | |____________________|_____|_____|_____|_____|_____|_____|" << endl;
cout << "|" << kod << "|"<< ceh <<"| Вiд 1 до 3 |" << roz1 << "|" << roz2 << "|" << roz3 << "|" << roz4 << "|" << roz5 << "|" << roz6 << "|" << a2 << endl;
cout << "| | |____________________|_____|_____|_____|_____|_____|_____|" << endl;;
cout << "| | | Понад 3 роки |" << roz1 << "|" << roz2 << "|" << roz3 << "|" << roz4 << "|" << roz5 << "|" << roz6 << "|" << a3 <<endl;
cout << "|________________|________|____________________|_____|_____|_____|_____|_____|_____|" << endl;
cout << string(5, '\n');
}
input.close();
return 0;
}
int main()
{
setlocale(LC_ALL, "Ukrainian");
int chose;
Begin:cout << "Оберiть режим: \n" << "0 - {Вихiд}\n1 - {Запис}\n2 - {Статистика}\n" << endl;
cin >> chose;
if (chose == 0)
{
exit(1);
}
if (chose == 1)
{
mainOut();
goto Begin;
}
if (chose == 2)
{
mainRead();
goto Begin;
}
else
{
goto Begin;
}
}