Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Danilka144
Сообщений: n/a
#1

Поиск информации в файле и ее вывод - C++

27.01.2011, 10:57. Просмотров 651. Ответов 1
Метки нет (Все метки)

Привет. Создан текстовый файл, в котором содержится информация о марках автомобилей. Выводить все данные на форму по запросу и в виде списка.
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <cstdio>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
bool password();
int menu();
int enter();
int display();
int remove_file();
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char choice;
    if(password()) cout<<"Dobro pozhalovat'\n";
    else 
    {
        cout<<"Nevernoe imya ili parol'\n";
        return 0;
    }
    for(;;)
    {
        choice=menu();
        switch(choice)
        {
            case 'e':enter();
                break;
            case 'd':display();
                break;
            case 'r':remove_file();
                break;
            case 'q':
                return 0;
        }
    }
}
 
//Имя и пароль
bool password()
{
    char imja[50], pass[50];
    int temp=0;
    cout<<"Vvedite imja\n";
    gets(imja);
    cout<<"Vvedite parol'\n";
    gets(pass);
    if(strcmp(imja,"Danil")) temp=1;
    if(strcmp(pass,"Danil")) temp=1;
    if(temp==1) return false;
    else return true;
}
//Меню
int menu()
{
    char ch;
    cout<<"\n**************"<<endl;
    do
    {
        cout<<"(E)nter\n";
        cout<<"(D)isplay\n";
        cout<<"(R)emove\n";
        cout<<"(Q)uit\n";
        cout<<"Vybirite komandu: ";
        cin>>ch;
    }
    while(!strchr("edraq", tolower(ch)));
    return tolower(ch);
}
//Добавление
int enter()
{
    char nazvanie[40]; int god, tsena; char tsvet[15];
    cout<<"Vvedite nazvanie, god vipyska, tsena, tsvet\n";
    cin>>nazvanie>>god>>tsena>>tsvet;
    //Открытие файла
    ofstream file("test.txt", ios::out | ios::binary | ios::app);
    if (!file)
    {
        cout<<"Ne udaetsa otkryt' fail\n";
        return 1;
    }
    file<<endl<<nazvanie<<" "<<god<<" "<<tsena<<" "<<tsvet<<" ";
    file.close();
    return 0;
}
//Вывод информации из файла
int display()
{
    char ch;
    //Открытие файла
    ifstream file("test.txt", ios::in | ios::binary);
    if (!file)
    {
        cout<<"Ne udaetsa otkryt fail'\n";
        return 1;
    }
    while(!file.eof())  //Poka ne naiden konec faila, vyvod na ekran
    {
        file.get(ch);
        if(!file.eof()) cout<<ch;
    }
    file.close();
    return 0;
}
 
//Удаление записи
int remove_file()
{
    char temp[256];
    char udal[256];
    cout<<"Vvedite nazvanie:\n";
    cin >> udal;
    ifstream in ("test.txt", ios::in | ios::binary);
    ofstream out("testnew.txt", ios::out | ios::binary);
    while(!in.eof()) 
    {
        in.getline(temp,256);
        int i=0;
        char str[256]={0};
        for(;;)
        {
            if((temp[i]==' ')||(temp[i]=='\0')) break;
            else str[i]=temp[i];
            ++i;
        }
        if(!strcmp(str,udal)) break;
        out<<temp<<endl;
    }
    while(!in.eof()) 
    {
        in.getline(temp,255);
        out<<temp<<endl;
    }
    out.close();
    in.close();
    remove("test.txt");
    rename("testnew.txt","test.txt");
    return 0;
}
Сделано, всё верно. Теперь нужно добавить:
Вывести информацию о моделях, которые выпускались в М году, найти среднюю стоимость автомобилей, которые выпускались в году N.
Как это сделать? Спасибо.
Вот сам файл: test.txt
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2011, 10:57     Поиск информации в файле и ее вывод
Посмотрите здесь:

Вывод информации о файле - C++
Добрый день форумчане. Кто подскажет,суть задачи - вывести информацию о файле. может быть есть какие-то функции которые в этом помогут?...

Вывод всей информации о выбранном файле - C++
if(GetFileInformationByHandle(hf, &amp;lpFileInformation)) cout &lt;&lt; &quot;ИНФОРМАЦИЯ О ВЫБРАННОМ ФАЙЛЕ:&quot; &lt;&lt; ?? использую эту функцию ...

Поиск в файле и вывод на экран - C++
Имеется txt файл, произвольно заполненный: 01101210 :2 //пустая строка 12434 :8 //пустая строка 0110 :9 //пустая строка

Поиск в .txt файле и вывод на экран - C++
Такая проблема, необходимо осуществить поиск слова в .txt файле , если данной слово найдено, то распечатать строку с этим словом, и...

Работа с файлами (поиск и вывод чисел в файле) - C++
Как на с++ сделать программу, которая в текстовому файле найдет и выведет на дисплей все числа? Есть ли для этого функции?

Поиск в текстовом файле слова и вывод блока текста, в котором оно встретилось - C++
Здравствуйте! Подскажите пожалуйста как будет выглядеть код мне нужно реализовать поиск по txt файлу в котором записана информация о...

Реализовать поиск значения в файле и вывод на консоль структуры, в которой расположено значение - C++
Как сделать поиск значения в файле и вывод на консоль структуры, в которой расположено значение?

Получение информации о файле - C++
Помогите реализовать получение информации о некотором файле *.* и запись её в текстовый файл, получить надо следующее: Расположение...

Изменение информации в текстовом файле - C++
Здравствуйте! В наличии имеется: первокурсница, печальная новость о том, что ей все же нужно пользоваться мозгом, отсутствие желания...

Изъятие информации в файле из скобок - C++
Здравствуйте.Помогите пожайлуста. Нужно написать программу на C++ которая из файла .txt выводит на экран только то что написано внутри {}...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
27.01.2011, 15:06     Поиск информации в файле и ее вывод #2
вы что-нибудь слышали о классах, структурах, пользовательских типах данных? Создайте класс машина и в нем соответствующие поля. Код станет намного читабельнее, а решение ваших вопросов очевиднее.
Вывести информацию о моделях, которые выпускались в М году
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
#include <sstream>
 
void search_by_year(int syear, std::string filename) 
{
  std::ifstream in (filename.c_str(), std::ios::in | std::ios::binary);
  while (!in.eof())
  {
    std::string str,tmp;
    int year=0;
    std::getline(in,str);
    std::istringstream iss(str);
    in >> tmp >> year;
    if(year==syear) std::cout << str;
  }
}
Yandex
Объявления
27.01.2011, 15:06     Поиск информации в файле и ее вывод
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru