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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Напечатать квадрат той матрицы, в которой наименьший след http://www.cyberforum.ru/cpp-beginners/thread234656.html
Даны две квадратные вещественные матрицы 10-го порядка. Напечатать квадрат той из них, в которой наименьший след (сумма диагональных элементов), считая, что такая матрица одна. Подскажите пожалуйста решение этой задачки?
C++ Класс для работы с большими данными Задали задание, написать класс который позволит работать с большими массивами, т.е. конструктор класса должен позволять создавать массив нужного (любого размера). Класс должен быть шаблонным. Должен уметь добавлять элементы в созданный массив. Получение доступа к элементам массива через индекс. Получение длины массива. Удаление текущего массива. И деструктор класса должен освобождать всю память.... http://www.cyberforum.ru/cpp-beginners/thread234651.html
C++ Выяснить, пересекаются ли кривые
Выяснить, пересекаются ли кривые у=аx3+bx2+сx+d и y=ex3+fx2+gx+h. При положительном ответе найти точки пересечения. Как здесь быть?Подскажите решение.
Треугольник в прямоугольнике? C++
Определить, поместится ли равнобедренный треугольник с основанием c и высотой h в прямоугольник со сторонами a и b так, чтобы высота треугольника была параллельна одной из сторон прямоугольника. Подскажите,пожалуйста решение этой задачки..?
C++ Написать подпрограмму в программе на СИ.. http://www.cyberforum.ru/cpp-beginners/thread234634.html
Люди, спасите. завтра экзамен, а я клюшка неправильно сделала ргз, вот на переделку отправили. вот условие : Расстояние между двумя словами равной длины - это количество позиций, в которых различаются эти слова. В ЗАДАННОМ предложении найти пару наиболее близких слов ЗАДАННОЙ длины. задача: Требуется написать программу на СИ. (ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ ПОДПРОГРАММУ в программе, т.е. в...
C++ Обработка одномерных массивов. В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов. Удалить из массива два первых простых числа. Проверить, изменилась ли серия подряд стоящих нечетных элементов. подробнее

Показать сообщение отдельно
Danilka144
Сообщений: n/a
27.01.2011, 10:57     Поиск информации в файле и ее вывод
Привет. Создан текстовый файл, в котором содержится информация о марках автомобилей. Выводить все данные на форму по запросу и в виде списка.
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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru