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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2015, 22:57   #1
lord007
Пользователь
 
Регистрация: 05.05.2015
Сообщений: 10
По умолчанию Как считать данные с файла и записать в массив?

C++ .В файле данные расположены следующим образом :
Код:
Radius: 1   Coord point: (5;10)
 
Radius: 5   Coord point: (1;7)
 
Radius: 6   Coord point: (5;8)
 
Radius: 7   Coord point: (0;7)
 
Radius: 9   Coord point: (8;9)
Мне нужно записать данные(радиус и координаты(только значения)) в следующие массивы
Код:
arrFigure[i].built.X
arrFigure[i].built.Y
arrFigure[i].radius
Как это сделать? Это должна быть функция Inputfromfile для моей программы.
Вот полный код программы :
Код:
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
 
using namespace std;
struct coordinates
{
    double X;
    double Y;
};
struct circle
{
    double radius;
    coordinates built; 
    void show() 
    {
        cout << "Radius: " << radius << " cm " << endl;
        cout << "Coord point: " << "(" << built.X << ";" << built.Y << ")" << "\n\n\n";
        ;
    }
};
//------Global Variable---------
int MAX;
circle* arrFigure = NULL;
//-------------------------------------
void bubble()
{
    int i, j;
        for (i = 0; i < MAX - 1; ++i) 
    {
        for (j = 0; j < MAX - 1; ++j)
        {
            if (arrFigure[j + 1].radius < arrFigure[j].radius)
            {
                circle tmp = arrFigure[j + 1];
                arrFigure[j + 1] = arrFigure[j];
                arrFigure[j] = tmp;
            }
        }
    }
}
void InputData(){
    cout << "Enter the number of circles: ";
    cin >> MAX;
    delete[] arrFigure;
    arrFigure = new circle[MAX];
 
    for (int i = 0; i < MAX; i++){
        arrFigure[i].built.X = rand() % 11;
        arrFigure[i].built.Y = rand() % 11;
        arrFigure[i].radius = rand() % 11;
    }
}
void OutputSortArr() {
    cout << "Output sort array " << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void OutputGenerate(){
    cout << "Output generate array" << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void RecordToFile(){
    ofstream fout("E:\cppstudio.txt"); 
    for (int i = 0; i < MAX; i++){
        fout << "Radius: " << arrFigure[i].radius << "\t";
        fout << "Coord point: " << "(" << arrFigure[i].built.X << ";" << arrFigure[i].built.Y << ")" << "\n\n";
    }
    fout.close(); 
    system("pause");
}
void Readingfile(){
    setlocale(LC_ALL, "rus");
    char buff[35]; // buffer
    ifstream fin("E:\cppstudio.txt");
 
    if (!fin.is_open()) // esli file ne otkrut
        cout << "Файл не может быть открыт!\n";
    else
    {
        while (!fin.eof()){
            fin.getline(buff, 50);
            cout << buff << endl;
        }
        fin.close();
 
    }
 
}
 
int menu() {
    int menu;
    do{
        cout << "Choose menu item" << endl;
        cout << "1 - input data " << endl;
        cout << "2 - Output generate array" << endl;
        cout << "3 - Output sort array" << endl;
        cout << "4 - Sort arr" << endl;
        cout << "5 - Record to file" << endl;
        cout << "6 - Reading file" << endl;
        cout << "7 - Input from file" << endl;
        cin >> menu;
        switch (menu){
        case 1:InputData(); break;
        case 2:OutputGenerate(); break;
        case 3:OutputSortArr(); break;
        case 4:bubble(); break;
        case 5:RecordToFile(); break;
        case 6:Readingfile(); break;
        case 7:; break;
        default: menu = 0;
        }
    } while (menu != 0);
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    menu();
    delete[] arrFigure;
    system("pause");
    return 0;
}
lord007 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не получается записать данные из файла в массив построчно monnzz Общие вопросы C/C++ 0 14.02.2013 21:45
Как считать данные с файла? doctorvra4 Паскаль, Turbo Pascal, PascalABC.NET 1 22.11.2012 20:29
Как оперативно считать данные из txt файла Rustik2 Общие вопросы C/C++ 8 10.10.2009 12:40
Как записать данные в MySQL бузу а потом считать их SeRhy PHP 1 12.06.2009 22:15
как считать данные с Txt файла? Alar Общие вопросы Delphi 0 29.10.2006 20:12