Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 18:41   #1
EvilHero
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 12
По умолчанию Создание массива из файла

помогите пожалуйста разобраться, не знаю как подступиться (

есть file.txt в котором забиты данные типа:
Код:
nameт<табуляция>age<табуляция>mark
nameт<табуляция>age<табуляция>mark
nameт<табуляция>age<табуляция>mark
из этого файла нужно заполнить массив, причем после прочтения <табуляция> все последующие данные надо что бы записывались в int, а с конца строки операция повторялась, и следовал вывод на экран.

Последний раз редактировалось EvilHero; 19.11.2010 в 18:45.
EvilHero вне форума Ответить с цитированием
Старый 19.11.2010, 18:55   #2
guz
Пользователь
 
Регистрация: 29.10.2010
Сообщений: 29
По умолчанию

Вам понадобятся:
1) массив структур,
2) функция fscanf,
3) функция printf.
guz вне форума Ответить с цитированием
Старый 19.11.2010, 18:59   #3
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

не знаю я в свое время решил это так
Короче смотри листинг в архиве и там исполнительный файл

Да если по листингу дудет чета не понятно спрашивай
Вложения
Тип файла: rar Рабочий стол.rar (241.4 Кб, 11 просмотров)
всему свое время как зиме и весне
и каждому солнцу свой неба кусок

Последний раз редактировалось Stilet; 22.11.2010 в 09:59.
Assemblerru вне форума Ответить с цитированием
Старый 21.11.2010, 22:00   #4
EvilHero
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 12
По умолчанию

Код:
using namespace std;
struct table
{
    size_t                                        id; // Номер
    std::string                                   name; // Имя
    int                                              mark; // оценка
    int                                               age; // возраст
 
 
 
   table(                      
         size_t _id, 
         const std::string& _name,
         const int& _mark,
         const int& _age,
         const std::vector<std::string, size_t> )
            : id(_id), name(_name), mark(_mark), age(_age) { }

        
};


 
int main()
{
    std::vector<table>   db; 
    std::string  filename("file.txt");
    std::ifstream ifs(filename.c_str());
    if(!ifs)
    {
        std::cerr << "Error opening file \"" << filename << "\" for input" << std::endl;
        return EXIT_FAILURE;
    }
    std::string line;
    while(std::getline(ifs, line))
    {
        if(!ifs)
        {
            std::cerr << "Error reading from file \"" << filename << "\"" << std::endl;
            return EXIT_FAILURE;
        }
        std::istringstream iss(line);
        size_t id;
        iss >> id;
        std::string name;
        iss >> name;
        int mark;
        iss >> mark;
        int age;
        iss >> age;
        std::string npr;
        size_t cpr;
        while(iss >> npr >> cpr)
        db.push_back(table(id, name, mark, age));
    }
    }
вот попытался реализовать задумку, но что то не работает, правильно ли я заполняю массив ??

Последний раз редактировалось EvilHero; 21.11.2010 в 23:10.
EvilHero вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание массива классов. Кипящий чайник Общие вопросы C/C++ 18 29.08.2010 19:55
Создание файла если такого файла нету Shaitan63 Помощь студентам 14 10.04.2010 20:39
создание массива lg12 Помощь студентам 13 23.08.2009 15:13
Открытие файла и создание графика на основе чисел из файла Simon..14 Общие вопросы C/C++ 8 09.06.2009 10:18
Динамическое создание массива Juggernaut Общие вопросы Delphi 3 20.05.2009 15:13