0 / 0 / 0
Регистрация: 14.06.2017
Сообщений: 8
1

Работа с текстовым файлом

18.01.2019, 11:05. Показов 1177. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Не понимаю что не так
Почему работает не корректно?



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
 
struct qualities
{
    string brand; //марка автомобился
    string type;  //Коробка передач
    int capacity;   //Объем двигателя
    double clearance;  //Величена дорожного просвета
    string unit;  //Тип привода
    double price; //цена
};
 
int main()
{
    qualities car[5];
    ifstream fin;
    fin.open("D:/papka/car.txt");
    if(!fin.is_open())
        cout<<"The file can not be opened!"<<endl;
    else
    {
        for (int i=0; i<5;i++)
        {
            cout<<"Car model: ";
            fin>>car[i].brand;
            cout<<"Type of gearbox (M or A): ";
            fin>>car[i].type;
            cout<<"Engine capacity: ";
            fin>>car[i].capacity;
            cout<<"Great ground clearance: ";
            fin>>car[i].clearance;
            cout<<"drive type (front or rear or 4WD): ";
            fin>>car[i].unit;
            cout<<"Price: "<<endl;
            fin>>car[i].price;
        }
    }
    fin.close();
    int A;
    cout<<"Enter price: ";
    cin>>A;
 
    for(int i=0;i<5;i++)
    {
        if(car[i].price<=A)
        {
            cout<<"car: "<<i<<endl;
            cout<<"Car model: "<<car[i].brand<<endl;
            cout<<"Type of gearbox: "<<car[i].type<<endl;
            cout<<"Engine capacity: "<<car[i].capacity<<endl;
            cout<<"Great ground clearance: "<<car[i].clearance<<endl;
            cout<<"Drive type: "<<car[i].unit<<endl;
            cout<<"Price: "<<car[i].price<<endl;
        }
    }
 
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2019, 11:05
Ответы с готовыми решениями:

Работа с текстовым файлом
Ниже представлен код программы, которая ищет символ заданный пользователем в txt файле...

Работа с текстовым файлом
Добрый вечер, помогите пожалуйста с решением следущей проблемы: Есть текстовый файл, в котором...

Работа с текстовым файлом
Дан текстовый файл, имеющий более 3х строк. Задание: удалить из файла последние три строки. ...

Работа с текстовым файлом
В ОБЩЕМ ЗАДАЧА СОСТОИТ В СЛЕДУЮЩЕМ: В текстовом файле информация хранится в следующем виде: ...

5
24 / 22 / 5
Регистрация: 13.11.2012
Сообщений: 49
18.01.2019, 11:31 2
текстовый файл покажите
0
0 / 0 / 0
Регистрация: 14.06.2017
Сообщений: 8
18.01.2019, 11:52  [ТС] 3
Содержимое текстового файла

vlovlo
M
200
2.14
4WD
300
0
24 / 22 / 5
Регистрация: 13.11.2012
Сообщений: 49
18.01.2019, 12:05 4
Это всё?
у вас 5 экземпляров класса, а вы инициализируете только один.
добавьте еще 4 варианта.
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
18.01.2019, 12:31 5
Цитата Сообщение от Андрей732 Посмотреть сообщение
Почему работает не корректно?
я бы проинициализировал всю структуру а потом с файла заполнял вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
 
struct qualities
{
    string brand; //марка автомобился
    string type;  //Коробка передач
    int capacity;   //Объем двигателя
    double clearance;  //Величена дорожного просвета
    string unit;  //Тип привода
    double price; //цена
};
 
int main()
{
    qualities car[5];
    for(int i = 0; i < 5; i++)
    {
    car[i].brand = " ";
    car[i].type = " ";
    car[i].capacity = 0;
    car[i].clearance = 0.0;
    car[i].unit      = " ";
    car[i].price     = 0.0;
    }
 
 
 
    ifstream fin;
    fin.open("car.txt",ios::out);
    if(!fin.is_open())
        cout<<"The file can not be opened!"<<endl;
    else
    {
        for (int i=0; i<5;i++)
        {
            fin>>car[i].brand;
            fin>>car[i].type;
            fin>>car[i].capacity;
            fin>>car[i].clearance;
            fin>>car[i].unit;
            fin>>car[i].price;
        }
    }
    fin.close();
    int A;
    cout<<"Enter price: ";
    cin>>A;
 
    if(car[A].price)
    {
        cout<<"car: "<<A<<endl;
        cout<<"Car model: "<<car[A].brand<<endl;
        cout<<"Type of gearbox: "<<car[A].type<<endl;
        cout<<"Engine capacity: "<<car[A].capacity<<endl;
        cout<<"Great ground clearance: "<<car[A].clearance<<endl;
        cout<<"Drive type: "<<car[A].unit<<endl;
        cout<<"Price: "<<car[A].price<<endl;
    }
        system("pause");
        return 0;
}
потом просто вводим первую машину под цыфрой 0 и получаем результат
0
24 / 22 / 5
Регистрация: 13.11.2012
Сообщений: 49
18.01.2019, 13:18 6
Цитата Сообщение от Antikl Посмотреть сообщение
я бы проинициализировал всю структуру а потом с файла заполнял вот так:
а еще правильнее сделать конструктор класса, который бы инициализировал по умолчанию
0
18.01.2019, 13:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2019, 13:18
Помогаю со студенческими работами здесь

Работа с текстовым файлом
Нужно программа которая добавляет записи в файл вида: - Структура &quot;Спортивная команда&quot;:...

Работа с текстовым файлом
Вот часть кода: void ReadFile(ifstream &amp;fin, int Kol_Ar) { //чтение данных из файла и...

Работа с текстовым файлом
Прошу помощи. Должно быть консольное приложение. Описываю последовательность действий. Текстовый...

Работа с текстовым файлом
Здравствуйте все! Мне очень нужна помощь в написании кода программы для работы с текстовым файлом....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru