Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 2
1

Некорректная запись в файл

08.06.2016, 20:00. Показов 645. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, разобраться с кодом.
Задание по нахождению большего значения объема шарового сегмента. Первое действие делает запись в файл, второе - читает с него значение. Но в результате test.txt имеет такой вид
Название: h_1465404985_3817765_50ff8c947a.png
Просмотров: 15

Размер: 7.3 Кб

Подскажите, как можно это решить

Unit 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include "Unit3.cpp"
#pragma hdrstop
 
//---------------------------------------------------------------------------
extern Sector s[100];
 //количество сегментов
extern int n;
 
extern FILE * f;
#pragma argsused
 
int main(int argc, char* argv[])
{
    int k;
    cout << "Input 1 or 2: ";
    cin >> k;
    switch(k){
        case 1:
            //ввод количества фигур
            cout << "n = ";
            cin >> n;
            //ввод параметров фигур в массив
            for(int i = 0; i < n; i++){
                cout << "\nFigure " << i+1;
                cout << "\nR = ";
                cin >> s[i].R;
                cout << "\nh = ";
                cin >> s[i].h;
            }
            //запись фигур в файл
            ToFile();
            cout << "Ok!";
            break;
        case 2:
            //считывание параметров фигур из файла в массив
            FromFile();
            //нахождение фигуры с макс. объемом
            cout << "\nMax figure is " << MaxV() + 1;
            break;
        default:
            //выходим
            return 0;
    }
    getch();
    return 0;
}
//---------------------------------------------------------------------------
Unit 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma hdrstop
 
#include "Unit3.h"
#include <math.h>
#include <iostream.h>
//---------------------------------------------------------------------------
 
#pragma package(smart_init)
// структура "шаровой сегмент"
 struct Sector{
    float R;
    float h;
 };
//массив шаровых сегментов
 Sector s[100];
 //количество сегментов
 int n;
//файловая переменная
 FILE * f;
 
//функция для записи в файл
 void ToFile(){
    f = fopen("test.txt", "wt");
    for(int i = 0; i < n; i++){
        fprintf(f, "%f %f\n", s[i].R, s[i].h);
    }
    fclose(f);
 }
 
//функция для чтения из файла
  void FromFile(){
    f = fopen("test.txt", "rt");
    n = 0;
    while(feof(f) == 0) {
        fscanf(f, "%f %f\n", &s[n].R, &s[n].h);
        n++;
    }
    fclose(f);
 }
 
 //функция для нахождения объема
 float V(Sector s){
    return 2.0/3*M_PI*s.R*s.R*s.h;
 }
 
//функция для нахождения номера сегмента с макс. объемом 
 int MaxV(){
    int maxN = 0; float Vcur = V(s[0]);
    for(int i = 1; i < n; i++){
        if(V(s[i]) > Vcur){
            Vcur = V(s[i]);
            maxN = i;
        }
    }
    return maxN;
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2016, 20:00
Ответы с готовыми решениями:

Некорректная запись в файл из массива
Есть код: int kol; AnsiString user; DeleteFile(&quot;base.dat&quot;);...

Некорректная запись в файл
Добрый день. Я выполнял задание по лабораторной работе &quot;Из текста, расположенного в файле,...

Некорректная запись в файл
задача - считать из файла1 тхт текст, ввести длину строки и записать в файл2.тхт этот же текст в...

Некорректная запись в файл
Пытаюсь записать полученный массив данных в файл. В матлабе значения отображается корректно, а при...

3
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
08.06.2016, 20:05 2
А что не так с содержимым?
0
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 2
08.06.2016, 20:11  [ТС] 3
Hikari, Разве там не должны быть значения, которые мы вводим при первом действии ?
Я просто плохо представляю, что должно получаться в коде, вот и пытаюсь разобраться в преподавательском примере.
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
08.06.2016, 20:52 4
Цитата Сообщение от panto_vi Посмотреть сообщение
Разве там не должны быть значения, которые мы вводим при первом действии ?
А что там на самом деле, если не исходные данные?
0
08.06.2016, 20:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2016, 20:52
Помогаю со студенческими работами здесь

Некорректная запись в файл
Код должен для примера записывать логин и пароль, затем разбивать их построчно и сравнивать при...

Некорректная запись в файл
Столкнулся с непонятной проблемой. Есть строка которая содержит шифрованные символы...

Некорректная запись в файл
Всем привет, столкнулся с проблемой Есть код, найденный на просторах данного форума и немного...

Некорректная запись структуры в файл
Добрый вечер всем! Следующая проблема: некорректно заполняется файл из структуры. class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru