2015-09-14 14 views
-1

Я пытаюсь написать код, который может читать данные из txt-файла (Task). Я сделал это, но проблема в том, что результат не как ожидалось, потому чтоОшибки во время чтения из текстового файла

at={3,5,7,10,15} 
bt={2,6,8,16,22}!!! 

Код:

#include <iostream> 
#include <fstream> 
using namespace std; 
void two_arrays_txt_file(float at[5], float bt[5], float zt[], float mt[]); 
int main(int argc, char* argv[]) { 
    float zt[5]; // the result value 
    float mt[5]; 
    float at[5]; 
    float bt[5]; 
    ifstream fin; 
    fin.open("2arrays.txt"); 
    two_arrays_txt_file(at, bt, zt, mt); 
    printf("(with a function two ararays from txt file) \n adding z1 = %8.2f, z2 = %8.2f\t,z3=%f\t,z4=%f \tk=%f\n", zt[0], zt[1], zt[2], zt[3], zt[4]); 
    printf("(with a function of productof two ararays from txt file) \n Multiplying mm1 = %8.2f, mm2 = %8.2f, mm3 = %8.2f, mm4 = %8.2f, mm5 = %8.2f", mt[0], mt[1], mt[2], mt[3], mt[4]); 
    fin.close(); 
    cout << "Press Enter to Continue"; 
    getchar(); 
} 
void two_arrays_txt_file(float at[5], float bt[5], float zt[], float mt[]) { // Task 6 
    int i; 
    for (i = 0; i<5; i++) { 
     zt[i] = at[i] + bt[i]; 
     mt[i] = at[i] * bt[i]; 
    } 
} 
+5

Где вы читаете из файла? – NathanOliver

+0

Я создал файл с именем «arrays.txt» и попытался его покрасить с помощью ifstream fin; fin.open ("2arrays.txt"); –

+0

Что является содержимым файла? Каков ваш фактический результат из этой программы? Каков ожидаемый результат? –

ответ

0

Я не знаю, как ваш текстовый файл, но вы ничего не читаете из текстового файла, который вы только открыв текстовый файл и его закрытие. Вот что вы должны сделать

#include <iostream> 
    #include <fstream> 
using namespace std; 
void two_arrays_txt_file(float at[5], float bt[5], float zt[], float mt[]); 
int main(int argc, char* argv[]) { 
    float zt[5]; // the result value 
    float mt[5]; 
    float at[5]; 
    float bt[5]; 
    ifstream fin; 
    fin.open("2arrays.txt"); 
    fin>>at[1] ;// //you have to take input from file like this 
    /* since i dont know that in what way numbers are stored in file so i  cannot tell you the exact way to take input and get output the way you want it.*/ 
two_arrays_txt_file(at, bt, zt, mt); 
printf("(with a function two ararays from txt file) \n adding z1 = %8.2f, z2 = %8.2f\t,z3=%f\t,z4=%f \tk=%f\n", zt[0], zt[1], zt[2], zt[3], zt[4]); 
printf("(with a function of productof two ararays from txt file) \n Multiplying mm1 = %8.2f, mm2 = %8.2f, mm3 = %8.2f, mm4 = %8.2f, mm5 = %8.2f", mt[0], mt[1], mt[2], mt[3], mt[4]); 
fin.close(); 
cout << "Press Enter to Continue"; 
getchar(); 
} 
void two_arrays_txt_file(float at[5], float bt[5], float zt[], float mt[]) {  
int i; 
for (i = 0; i<5; i++) { 
    zt[i] = at[i] + bt[i]; 
    mt[i] = at[i] * bt[i]; 
} 

}

+0

текстовый файл содержит следующее: at = {3,5,7,10,15}, bt = {2,6,8,16,22} –

+0

Что мне нужно делать? –

0

Вы ничего не читает из файла в фрагменте кода вы показали здесь. in.open() откроет только файл. Вы должны прочитать из него

Вы можете сделать это в >> «имя переменной»

+0

Я сделал это и прочитал, но я не могу это понять? –

Смежные вопросы