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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2018, 22:07   #1
_BigCat_
Новичок
Джуниор
 
Регистрация: 27.11.2018
Сообщений: 2
По умолчанию Не корректная работа программы

Здравствуйте, помогите пожалуйста разобраться почему программа работает некорректно. Это проявляется в роботе 1,3,5 пунктов меню.

Swap.h

Код:
#pragma once
 
#include<iostream>
#include<Windows.h>
#include<string>
#include<cstring>
 
#include"pch.h"
#include"Swap.h"
#include"Jaguar.h"
 
using namespace std;
 

int KolElFronFile(string nameFile);
void ReadFromFileAboutJaguar(Jaguar *J, string nameFile);
void WriteInFileJaguar(string nameF, Jaguar *J, int n);
void WriteInFileInputJaguar(string nameF, Jaguar *J, int n);
void WriteInFileInputJaguar(int n, string nameF, Jaguar *J);

Swap.cpp

 
#include"pch.h"
#include"Swap.h"
 
int KolElFronFile(string nameFile)
{
    ifstream fin(nameFile);
    int k;
 
    if (fin.is_open())
    {
        fin >> k;
    }
    else
        cout << "Ошибка открытия файла.\n";
    fin.close();
    return k;
}
 
 
void ReadFromFileAboutJaguar(Jaguar * J, string nameFile)
{
    ifstream fin(nameFile); 
 
    int k;
    string M;
    int Y;
    Body_and_dimensions B;
    Engine_and_fuel E;
    Other_characteristics O;
 
    if (fin.is_open())
    {
        fin >> k;
        for (int i = 0; i < k; i++) 
        {
            fin >> M;
            fin >> Y;
            fin >> B.body_type
                >> B.number_of_seats
                >> B.number_of_doors
                >> B.length_mm
                >> B.width_mm
                >> B.height_mm
                >> B.ground_clearance_mm
                >> B.tire_size
                >> B.wheelbase_mm
                >> B.wheel_track_front_mm
                >> B.wheel_track_behind_mm
                >> B.volume_of_luggage_l
                >> B.fuel_tank_capacity_l
                >> B.equipped_weight_kg
                >> B.gross_weight;
            fin >> E.engine_Type
                >> E.engine_capacity_cubic_cm
                >> E.power_hp_on_rpm
                >> E.torque_Nm_on_rpm
                >> E.boost
                >> E.engine_Location
                >> E.power_system
                >> E.fuel_Type
                >> E.consumption_liters_per_100_km
                >> E.valves_per_cylinder;
            fin >> O.drive_unit
                >> O.maximum_speed_km_on_h
                >> O.acceleration_to_100_km_per_hour_sec
                >> O.front_suspension
                >> O.rear_suspension
                >> O.front_brakes
                >> O.rear_brakes;
 
            J[i].SetParametrs(M, Y, B, E, O); //Дадавання поля в масив 
        }
    }
    else // Інакше
    {
        cout << "Ошибка открытия файла.\n";
    }
    fin.close(); //Закриваємо файл
}
 
void WriteInFileJaguar(string nameF, Jaguar * J, int n)
{
    ofstream fout(nameF, std::ios::out); 
    if (fout.is_open()) 
    {
        for (int i = 0; i < n; i++)
        {
            J[i].AddToFile(nameF);
        }
    }
    else 
        cout << "Ошибка открытия файла "OutputApartment.txt".\n";
    fout.close(); //Закриваємо файл
}
 
void WriteInFileInputJaguar(string nameF, Jaguar * J, int n)
{
    ofstream fout(nameF, std::ios::out); //Створюємо об'єкт, який відкриває файл для запису та перезаписує інформацію
    if (fout.is_open()) //Якщо файл відкрився
    {
        fout << n - 1 << endl; //Зменшуємо кількість
        for (int i = 0; i < n; i++)
        {
            J[i].AddToFile1(nameF); //Додаємо інформацію в файл
        }
    }
    else // Інакше
        cout << "Ошибка открытия файла "OutputApartment.txt".\n";
    fout.close(); //Закриваємо файл
}
 
void WriteInFileInputJaguar(int n, string nameF, Jaguar * J)
{
    ofstream fout(nameF, std::ios::out); //Створюємо об'єкт, який відкриває файл для запису та перезаписує інформацію
    if (fout.is_open()) //Якщо файл відкрився
    {
        fout << n << endl; //Зменшуємо кількість
        for (int i = 0; i < n; i++)
        {
            J[i].AddToFile1(nameF); //Додаємо інформацію в файл
        }
    }
    else // Інакше
        cout << "Ошибка открытия файла "OutputApartment.txt".\n";
    fout.close(); //Закриваємо файл
}

Jaguar.h

#pragma once //Для того щоб, якщо файл викликаэться більше одного разу не було помилок
 
#include"pch.h"
#include<iostream>
#include<cstring>
#include<string>
#include<string.h> 
#include<fstream> //Підключення бібліотек
 
using namespace std; //Підключення простору імен
 
struct Body_and_dimensions //Структура характеристик кузова и габаритів
{
    string body_type; //Тип кузова
    int number_of_seats; //Кількість місць
    int number_of_doors; //Кількість дверей
    int length_mm; //Довжина, мм
    int width_mm; //Ширина, мм
    int height_mm; //Висота, мм
    int ground_clearance_mm; //Кліренс, мм
    int tire_size; //Розмір шин
    int wheelbase_mm; //Колісна база, мм 
    int wheel_track_front_mm; //Колія коліс спереду, мм
    int wheel_track_behind_mm; //Колія коліс ззаду, мм
    int volume_of_luggage_l; //Об'єм багажника, л 
    int fuel_tank_capacity_l; //Об'єм паливного бака, л
    int equipped_weight_kg; //Споряджена маса, кг
    int gross_weight; //Повна маса
};
 
struct Engine_and_fuel // Структура характеристик двигуна та топлива
{
    string engine_Type; //Тип двигуна
    int engine_capacity_cubic_cm; //Об'єм двигуна, куб. см
    int power_hp_on_rpm; //Потужність, л.с./об мін
    int torque_Nm_on_rpm; //Крутний момент, Нм / об мін
    string boost; //Наддув
    string engine_Location; //Розташування двигуна
    string power_system; //Система живлення
    string fuel_Type; //Тип палива
    float consumption_liters_per_100_km; //Витрата, л на 100 км
    int valves_per_cylinder; //Клапанів на циліндр
};
 
struct Other_characteristics //Структура інших характерисктик
{
    string drive_unit; //Привід
    int maximum_speed_km_on_h; //Максимальна швидкість, км / год
    int acceleration_to_100_km_per_hour_sec; //Розгін до 100 км / год, в секундах
    string front_suspension; //Підвіска передня 
    string rear_suspension; //Підвіска задня
    string front_brakes; //Гальма передні
    string rear_brakes; //Гальма задні
};
 
class Jaguar //Опис класу моделей машин Ягуар 
{
    //Опис полів класу
    private: //Закрита частина класу
        string modelCare; //Модель автомобіля
        int year; //Рік
        Body_and_dimensions body_and_dimensions; //Характеристика кузова и габаритів
        Engine_and_fuel engine_and_fuel; //Характеристика двигуна та топлива
        Other_characteristics other_characteristics; //Інші характерисктики
 
    //Опис методів класу
    public: //Відчинена частина класу
 
    //Обов'язкові методи
        Jaguar(); //Конструктор по умолчанію, буде створювати пустий об'єкт
        Jaguar(string M, int Y, Body_and_dimensions B, Engine_and_fuel E, Other_characteristics O); //Конструктор з параметрами, буде створювать об'єкт
        ~Jaguar(); //Диструктор, удаляє об'єкт
 
    //Потрібні нам методи
 
        void Print(); //Друк
        void SetParametrs(string M, int Y, Body_and_dimensions B, Engine_and_fuel E, Other_characteristics O); //Задаємо параметри
 
    //Отримуємо параметри
        string GetModelCare() { return modelCare; };
        int GetYear() { return year; };
        Body_and_dimensions GetBody_and_dimensions() { return body_and_dimensions; };
        Engine_and_fuel GetEngine_and_fuel() { return engine_and_fuel; };
        Other_characteristics GetOther_characteristics() { return other_characteristics; };
        void AddToFile(string NameF); //Додавання до файлу
        void AddToFile1(string NameF); //Додавання до файлу
 
};
Пожалуйста, оформляйте Ваш код согласно правилам.
Jaguar.txt

Последний раз редактировалось Вадим Мошев; 10.12.2018 в 23:00.
_BigCat_ вне форума Ответить с цитированием
Старый 10.12.2018, 22:14   #2
_BigCat_
Новичок
Джуниор
 
Регистрация: 27.11.2018
Сообщений: 2
По умолчанию

продолжение:

Jaguar.cpp
Jaguar.cpp.txt

Main.cpp
Main.cpp.txt
_BigCat_ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация функций и корректная работа меню uppupp Фриланс 5 12.10.2018 09:32
Работа с ems api: корректная работа только при явном указании города mrdemkin JavaScript, Ajax 3 02.03.2015 18:23
Не корректная работа программы heret1c Помощь студентам 2 17.05.2014 23:50
Не корректная работа INDY10 в Delphi 2010 Virus25 Работа с сетью в Delphi 8 04.05.2013 14:53
Не корректная работа Darth_Vader C# (си шарп) 2 20.05.2012 07:52