Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Доработать код под чтение из файла


Автор: djeak11 26.5.2016, 21:54
Проблема такова сделать конвертер дюймов в мм ,но чтобы все считывалось из текстового файла
Набросок кода что имеется что менять и что добавить
Код

include "stdafx.h"
#include<iostream>

using namespace std;


int main()
{

    int inches;
    double millimeters;
    double result;


    cout << "Enter the amount of rainfall in inches: "; // Вводим количество дюймов
    cin >> inches;

    // Переводим в мм
    result = inches*25.4;

    // Результат
    cout << inches << " inches = " << result << " mm " << endl;

    system("pause");

    return 0;

}

2 Тоже самое сделать чтобы считывалось из файла (не дается считать из файла)
Код

#include "stdafx.h"
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    const int n = 10; //Размер
    int x = 0;
    int a[n] = { 1,2,3,4,5,6,7,8,9,10 };//Строка
    for (int i = 0; i < n - x; i++)
        if (a[i] % 2 == 0)//Только четные
        {
            x++;
            for (int j = i + 1;j<n;j++)
                a[j - 1] = a[j];
            i--;
        }
    for (int i = 0; i < n - x; i++)
        cout << a[i] << " ; ";
    
    system("pause");

    return 0;
}



И если использовать это то куда вставлять и как вызывать
Код

bool InputValueFromFile(int *value, char *fileName)
{
    ifstream inValue(fileName);
 
    if (!inValue)
        return false;
 
    inValue >> *value;
 
    return true;
}

Автор: tierswar 29.5.2016, 13:43
1) Подключить <ifstream>
2) Создать объект типа "ifstream" и связать его с файлом
3) Объект "cin" заменить объектом типа "ifstream"

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Dorabotat-kod-pod-chteniye-iz-fayla-id574746ffae20154c358b4567#findElement_E7045_574ac7ecae2015a61f8f37a8_0

Автор: Tieswar 29.5.2016, 14:09
Код

#include <iostream>
#include <fstream>
using namespace std;


bool InputValueFromFile(int *value, char *fileName)
{
    ifstream inValue(fileName);

    if (!inValue)
        return false;

    inValue >> *value;
    inValue.close();
    return true;
}


int main()
{
    int inches;
    double millimeters;
    double result;
    cout << "Enter the amount of rainfall in inches: "; // Вводим количество дюймов
    InputValueFromFile(&inches, "/home/timur/res/texts/test.txt");
    // Переводим в мм
    result = inches*25.4;
    // Результат
    cout << inches << " inches = " << result << " mm " << endl;
    system("pause");
    return 0;
}



Добавлено через 10 минут
По второму варианту

Код

//#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;


bool InputValueFromFile(int *value, const int sz, const char *fileName)
{
    ifstream inValue(fileName);

    if (!inValue){
        cerr << "File not open!\n";
        return false;
    }//if

    for(int i = 0; i < sz; i++){
        inValue >> value[i];

    }//for
    inValue.close();
    return true;
}// end InputValueFromFile()

int main(int argc, char *argv[])
{
    const int n = 10; //Размер
    int x = 0;
    int a[n];//Строка

    InputValueFromFile(a, n, "/home/timur/res/texts/test.txt");

    for (int i = 0; i < n - x; i++)
        if (a[i] % 2 == 0)//Только четные
        {
            x++;
            for (int j = i + 1;j<n;j++)
                a[j - 1] = a[j];
            i--;
        }
    for (int i = 0; i < n - x; i++)
        cout << a[i] << " ; ";

    system("pause");
    return 0;
}// end main()


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)