Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2021, 09:16   #1
ainurrn
Новичок
Джуниор
 
Регистрация: 20.01.2021
Сообщений: 1
По умолчанию Выходит ошибка 4996 как исправить?

Выходит ошибка 4996 как исправить?
Текстовый файл прикрепляю
Код:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include <iterator>
#include <ctime>

using namespace std;

int main() {
    setlocale(0, "Russian");

    std::ifstream infile("file.txt");
    std::string surname;
    std::string sex;
    std::string education;
    int birthYear;

    time_t theTime = time(NULL);
    struct tm* aTime = localtime(&theTime);
    int currentYearth = aTime->tm_year + 1900;

    int highEducationCount = 0;
    int under30YearsOld = 0;
    while (infile >> surname >> sex >> education >> birthYear)
    {
        if (sex == "мужской" && education == "высшее")
            highEducationCount++;
        if (currentYearth - birthYear <= 30)
            under30YearsOld++;
    }
    cout << "Мужчин с высшим образованием: " << highEducationCount << endl;
    cout << "Сотрудников не старше 30 лет: " << under30YearsOld << endl;

    return 0;
}
Вложения
Тип файла: txt file.txt (176 байт, 2 просмотров)
ainurrn вне форума Ответить с цитированием
Старый 20.01.2021, 15:43   #2
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 144
По умолчанию

Переделал немного программу, код рабочий, ошибок не выдает.
В качестве результата программа выдает:

Код:
Мужчин с высшим образованием: 2
Сотрудников не старше 30 лет: 3
Код:
#include <iostream>
#include <string>
#include <ctime>
#include <sstream>

using namespace std;

int main()    
{
    setlocale(0, "Russian");
   
    const int employee_arr_size = 6;
   
    string employee[employee_arr_size] = {
				"Иванов мужской высшее 1998",
                "Петров мужской высшее 2000",
                "Титова женский среднее 1991",
                "Герасимов мужской среднее 1979",
                "Семенова женский высшее 1990",
                "Николаева женский среднее 1988"
    };
   
    stringstream strstream_v;
   
    std::string surname;
    std::string sex;
    std::string education;
    int birthYear;

    time_t theTime = time(NULL);
    struct tm* aTime = localtime(&theTime);
    int currentYearth = aTime->tm_year + 1900;

    int highEducationCount = 0;
    int under30YearsOld = 0;
   
    for(int i=0; i<employee_arr_size; i++)
    {
        strstream_v << employee[i];
        while (strstream_v >> surname >> sex >> education >> birthYear)
        {
            if (sex == "мужской" && education == "высшее")
                highEducationCount++;
            if (currentYearth - birthYear <= 30)
                under30YearsOld++;
        }
        strstream_v.str(string());
		strstream_v.clear();
    }
   
    cout << "Мужчин с высшим образованием: " << highEducationCount << endl;
    cout << "Сотрудников не старше 30 лет: " << under30YearsOld << endl;
    
	system("pause");
    return 0;
}
ichi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка 36 , как исправить? ТранстялтчлБ Паскаль, Turbo Pascal, PascalABC.NET 8 12.05.2019 18:43
Как исправить Out of system resources выходит ошибка во время произвольной области falsebegin Общие вопросы Delphi 2 17.03.2019 11:45
что за ошибка? и как исправить? RG21 Помощь студентам 1 17.05.2013 12:22
Ошибка в программе, как исправить? GoldSteals Свободное общение 5 15.04.2011 13:30
ошибка компилятора как исправить mato Visual C++ 5 10.04.2011 16:11