Чтение из файла на с++.

Тема в разделе "ASM, С/С++, Delphi, Java", создана пользователем disker, 15 янв 2012.

Статус темы:
Закрыта.
  1. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Решил немного подучить С++, но уже давненько не программировал. (А видеокурсов для новичков никак не могу нормальных найти. Когда года 2 назад искал на Делфи было полно, а по С++ для новичков тяжело что-то хорошее найти :( )

    В общем, помогите советом как организовать следующее. Есть файл с данными (набор из 600 чисел [0 .. 36] ) . Нужно эти данные , количество которых 24*25 занести на форме в таблицу как сетка в Екселе, для последующей их обработки (в том числе и занесение в матрицу).. :)
     
  2. alseman

    alseman

    Регистр.:
    21 май 2008
    Сообщения:
    190
    Симпатии:
    25
    В опу курсы, рекомендую книженцию Шилдта по плюсам. Там все по полочкам разложено.
    Непонятно условие - каким образом отделены числа друг от друга?
     
  3. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Вот пример входного файла где будут данные :

    Книженцию скачал , иду читать, но не старовата она( за 2003-й год) ничего не поменялось в плюсах с того времени?

    P.s. программирую в С++ Builder XE если это чем-то поможет...
     

    Вложения:

    • data.txt
      Размер файла:
      1,6 КБ
      Просмотров:
      11
  4. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Посмотрел книгу, к сожалению понял, что мне нужно попроще литературу, вплоть до самых азов, начиная от синтаксиса. Я не программист по специальности, а инженер, поэтому для меня слишком много непонятного в книге Шилдта. Не говорю, что она плохая, но мне кажется, что с неё не стоит начинать, а ею уже пользоваться тогда, когда есть хотя бы небольшие навыки в программировании на С++. :) Буду искать что-то попроще и желательно какой-то курс по С++ Builder XE было бы не плохо найти для начинающих...
     
  5. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Код:
    #include <fstream>
    int main()
    {
      const int ROWS=24, COLS=25;
      int iMatrix[ROWS][COLS];
      fstream f("file.txt", ios::in);
      for(int i = 0; i < ROWS; i++)
        for(int j = 0; j < COLS; j++)
          f >> iMatrix[i][j];
      f.close();
      return 0;
    }
     
    disker нравится это.
  6. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    ShoxMaster спасибо, а как вывести это на форму в таком же виде как в файле (как таблица), только чтобы как в сетке в екселе. Знаю что можно так сделать, но не могу найти какой компонент или оператор за это отвечает в С++ Builder XE ?

    P.s. Кстати почему - то получаю ошибку на строке с return 0; :( в самом конце... она там нужна ?
     
  7. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Вроде TcxGrid, нашёл ещё http://www.ehlib.com/
    И зря сразу за builder взялись, нужно было начинать с консольки на Visual Studio или подобному IDE.

    Тип функции, которая есть точкой входа тоесть main - int, значит нужно возвращать значение(в некоторых компиляторах не нужно, т.к. значение 0 возвращается по-умолчанию).
     
  8. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    В общем по поводу return 0; посмотрел видеоурок, где как раз о ней говорилось и там было сказано, что не критично если её не будет, но её наличие говорит о хорошем стиле программирования и отсутствие может стать причиной каких-то ошибок. В связи с этим отказался от С++Builder и установил Microsoft Visual Studio 10.0 Вроде автор видеоуроков сказал, что если для работы с кодом то лучше его установить, а если больше предпочтение красоте и графике хочешь в свoих программах отдать , то надо брать С++Builder.
     
  9. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    А кто-нибудь может подсказать как по маске делать импорт чисел в матрицу? Для этого нужно устанавливать какие-то дополнительные компоненты как в Делфи или можно обойтись штатными средствами ? :)
     
  10. Forza.Baron

    Forza.Baron

    Регистр.:
    26 янв 2012
    Сообщения:
    175
    Симпатии:
    76
    Вручную... Брать строку, найти разделители чисел (пробел, таб...), брать подстроку до разделителя (SubString) - получиться строка содержашую число и через StrToInt переобразовать и передать на числовую матрицу... Все это циклично...
    Или использовать fscanf... Но как использовать не знаю... Не работаль с ним...
     
Статус темы:
Закрыта.