Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
IIIa66uMEM6eP
заставил Бендера
437 / 293 / 10
Регистрация: 05.12.2010
Сообщений: 1,659
Записей в блоге: 6
#1

Стурктура в файле. - C++

30.05.2011, 18:20. Просмотров 290. Ответов 0
Метки нет (Все метки)

Есть код и плохое решение задачи, прошу помочь до пилить.
Сама задача:
Дан файл, с банками, с их прибылью в указанных годах.
1) Получить список банков, выдавших в 2000г ссуду более 5 млн. руб. - сделано
2) Определить какой из банков, и в каком году выдал наибольшую ссуду.
3) Удалить информацию о банке, который не выдавал ссуду хоть в одном из годов.
4) Упорядочить названия банков по убыванию суммарной выданной ссуды.
Занести результат работы в новый файл output.txt
файл input
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
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
#include <windows.h>
#pragma comment(lib,"kernel32.lib") 
using namespace std;
 
//структура содержимого
struct bank{
  std::string  bank_name_; // строка с именами банков
  double       money_2000y_, money_2001y_; 
 
  friend std::istream &operator>> (std::istream &is, bank &inf){
    string buf; // буферная строка
    getline(is, inf.bank_name_, ';'); // берем всю строку с именами банков и
    is >> buf;  // переносим в буферную строку
    // заменяем до конца пробелами после двоеточия с 1 позиции
    replace(buf.begin(), buf.end(), ';', ' ');
    //
    istringstream ist(buf); // считываем из потока строки
    //перенаправляем поток 
    ist >> inf.money_2000y_ >> inf.money_2001y_;
    return is;
  }
};
 
int main(){
        setlocale (LC_CTYPE, "rus");
// открываем файл
  ifstream ifs("C:\\input.txt");
  if(!ifs){
    cerr << "File Not Found" << endl;
    return 1;
  } 
  string tmp;
  ifs >> tmp; //передаем строке значения
  tmp.clear(); // вызов удаления всех символов
  const size_t count_banks_in_file(20);// так 20 строк банков
  vector<bank> v(count_banks_in_file);  //динамический массив
  //Открываем файл для записи
  ofstream fout ("C:\\output.txt");
  //
  
 // сначала ищем те у которых > 5 милионов рублей
  for(size_t i = 0; i < count_banks_in_file; ++i){ // поиск
    ifs >> v[i]; // передаем массиву
    if(v[i].money_2000y_ >= 5.0) // если найден элемент больший 5.0
     fout << v[i].bank_name_ << '\n'; // то вывести банки с такими элементами 
                                        // в строке (запишем в новый файл)
 // ---------------------------------------------------------
  }
  
  // теперь ищем самую большую суду
  fout << "Самая большая суда: " << endl;
 
  for(size_t i = 0; i < count_banks_in_file; ++i){
    ifs >> v[i];
  }
     bank _max = *std::max_element(v.begin(), v.end());
  fout << _max.bank_name_ << '\t' << (_max.money_2000y_ > _max.money_2001y_? "2000" : "2001");
  //--------------------------------------------
 
 // удаляем информацию о банке, который не выдавал ссуду хотябы в одном из годов (0)
   fout << "Удаляем все банки, которые в один из годов не выдавали суды.";
  
 
 //----------------------------------------------
 
 //Упорядочиваем названия банков по убыванию суммарной выданной ссуды.
 
 
 
 
 //-----------------------------------------------
  //закроем файл
  fout.close();
  //
cout << endl; 
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 18:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Стурктура в файле. (C++):

Поиск в текстовом файле всех слов, заданных в другом текстом файле - C++
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...

Сравнение слов в одном файле со словами в другом файле - C++
Здравствуйте! Суть задачи такая: 1. Первый файл - запросы с городами, второй файл - база городов РФ. Оба txt 2. Найти в запросах все...

Консольное приложение. В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину - C++
В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину, и если да, то...

Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать - C++
Помогите доздать с++) вот задание: Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие ...

Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt - C++
например имеется текстовый файл 1.txt c таким содержанием 111 222 333 444 555 и имеется текстовый файл 2.txt c таким...

Почему тип "bool" работает в файле с расширением .cpp и не работает в файле с расширением .c? - C++
Объясните, пожалуйста, почему тип &quot;bool&quot; в одной и той же программе работает в файле с расширением .cpp и не работает в файле с...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2011, 18:20
Привет! Вот еще темы с ответами:

Написать программу которая в файле С записывает четные числа, а в файле N-нечетные - C (СИ)
3 разные программы : 1. В файле CN записаны целые числа.Написать программу которая в файле С записывает четные числа, а в файле...

В файле удалить номера участников, оставив фамилию, имя в выходном файле - Pascal ABC
Нужна помощь в написании программы. Смысл программы таков: В входном текстовом документе, дан текст, вида: 412123412|pervii uchastnik; ...

Можно ли на javascript'e в одном js-файле использовать функции, описанные в другом js-файле? - JavaScript
Подскажите, плз, можно ли на javascript'e в одном js-файле использовать функции, описанные в другом js-файле? (который лежит на другом...

Как использовать экземпляр класса, объявленный в одной файле, в другом файле? - C++ Builder
В первой форме я создал класс TBook и массив экземпляров этого класса TBook Book. Как использовать экземпляры этого класса в других...


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

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

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