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

Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) - C++

Восстановить пароль Регистрация
 
greenkirillv
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 12
04.12.2012, 18:49     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #1
Здравствуйте, я очень-очень большой нуб в C++, но так случилось, что сейчас его азы, мне очень бы помогли. И так, есть файл "input.txt":
Код
2
petya petrov 12 23 31
vanya ivanov 10 10 10
Первая строка, сколько будет строк в файле, остальные: фамилия, имя, балы за 3 теста. Нужно узнать максимальный балл за три теста и вывести фамилию и имя, у того, у кого он максимален, если таких несколько, вывести всех. Собственно задача элементарная, но у меня трабла именно с считыванием из файла, программа не хочет запускаться и все, в смысле компилируется, да, но когда запускается .exe файл, просто вырубает программу и все. Что делать не знаю...
Код программы:
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
#include <fstream>
#include <string>
using namespace std;
 
int main() {
        ifstream in("input.txt");
        int n, maxx, lsh;
        in >> n;
        int c1[n], c2[n], c3[n], max[n];
        string fa[n][2];
        for(int i = 1; i <= n; i++) {
                in >> fa[i][1];
                in >> fa[i][2];
                in >> c1[i];
                in >> c2[i];
                in >> c3[i];
              max[i] = c1[i] + c2[i] + c3[i];
              if (max[i] > maxx) maxx = max[i];
              }
        ofstream out("output.txt");
        for(int i = 1; i <= n; i++) {
                if(max[i] == maxx) {out << fa[i][1] + " " + fa[i][2] << endl;}
                }
              system("PAUSE");
}
И еще вопрос, есть ли функция, преобразующая string переменную содержащую только символы цифр, в int или float? И наоборот? Я находил страшные самописные функции, но такое не для меня пока, есть ли именно встроенная функция, в какую-нибудь стандартную библиотеку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 18:49     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...)
Посмотрите здесь:

C++ Вывести на экран имя и фамилию 10 раз
C++ Как узнать имя файла?
C++ Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию и инициалы
Создайте класс с именем Employee, включающий в качестве элементов данных три информационных пункта: имя, фамилию и месячную зарплату C++
Структуры и файлы (посчитать средний балл каждого студента и вывести фамилию студента с наибольшим баллом) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
04.12.2012, 18:57     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #2
Считывать лучше в структуру. Так к сведению массив, начинается с 0 элемента, а нес первого.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
04.12.2012, 19:00     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #3
Нумерация массивов начинается с 0.

Значит в циклах нужно
C++
1
for(int i = 0,...
fa[i][2]; - выход за пределы массива по той же причине
greenkirillv
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 12
04.12.2012, 19:01  [ТС]     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #4
Цитата Сообщение от David Sylva Посмотреть сообщение
Считывать лучше в структуру. Так к сведению массив, начинается с 0 элемента, а нес первого.
В смысле в структуру?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
04.12.2012, 19:03     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #5
Почитай
http://ru.wikipedia.org/wiki/%D0%A1%...BD%D0%B8%D0%B5)
greenkirillv
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 12
04.12.2012, 19:06  [ТС]     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...) #6
Спасибо большое за ответы, премного благодарен, все работает!
Yandex
Объявления
04.12.2012, 19:06     Считывание из файла (узнать максимальный балл за три теста и вывести фамилию и имя...)
Ответ Создать тему
Опции темы

Текущее время: 01:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru