Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Бинарный файл и структура - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Связать классы. http://www.cyberforum.ru/cpp-beginners/thread297540.html
Дрпустим есть два класса и некторые методы в них: в 1(class c1) ... void SetLight(int lightcount) ... в 2(class c2) ... void TurnPosition(int is_position); ...
C++ Интерпретатор выражений с переменной(разбор и анализ строки)) Может у кого есть библиотечка по данному сабжу? В идеале надо чтобы пользователь мог вводить любую функцию y=f(x) и для любого значения переменной x, вычислялось значение y. Заранее спасибо :) http://www.cyberforum.ru/cpp-beginners/thread297529.html
Если среди элементов массива есть хотя бы одно число больше 100, то все элементы массива поделить на 100. C++
Дан массив действительных чисел a1,...,an. Если среди элементов массива есть хотя бы одно число больше 100, то все элементы массива поделить на 100. Исходный и скорректированный массивы вывести на...
Использование классов в С++. Простые объекты. C++
Задание: Описать объект, включающий заданные поля и методы. Написать программу, которая создает массив объектов и список объектов и содержит процедуры, работающие с указанны-ми структурами. ...
C++ Алгоритм Шимбелла http://www.cyberforum.ru/cpp-beginners/thread297487.html
Алгоритм Шимбелла позволяет находить минимальные (максимальные) пути между вершинами, состоящие из заданного количества ребер. Введем специальные операции над элементами матрицы: 1) Операция...
C++ Авторизация на прокси Пишу на С программу, забирающую определенное число с веб-страницы (температуру). Все работает. Добавил работу через прокси. Работает. А вот с работой с прокси через авторизацию - нефига. Помогите... подробнее

Показать сообщение отдельно
METZEN
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32

Бинарный файл и структура - C++

17.05.2011, 10:50. Просмотров 599. Ответов 10
Метки (Все метки)

Проверьте программу,не могу найти ошибку
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <stdio.h>
 #include <string.h>
 #include <windows.h>
 #include <conio.h>
 #include <iostream>
 using namespace std;
 
 char bufRus[256];
  char* Rus(char* mes)
  { AnsiToOem(mes, bufRus);
    return bufRus;
   }
 
struct DINAMO
{
    char fam[20];
    int shayb;
    int pereda4;
};
struct SPARTAK
{
    char fam[20];
    int shayb;
    int pereda4;
}
 
int compare(const void *din,const void *spa);
 
 
void create()
{
DINAMO din;
int sl;
FILE *fbin;
if ((fbin =fopen("Dinamo.bin","wb")) == NULL)
   { puts(Rus("Ошибка создания  файла\n "));
   getch();
   }
  else
        { do
           { cout << Rus("\n Фамилия: ");
                 cin.get() ; gets (din.fam) ;
                 cout << Rus("\n Число шайб: ");
                 cin >> din.shayb;
                 cout << Rus("\n Количество передач: ");
                 cin >> din.pereda4;
                 fwrite(&din, sizeof(din),1,fbin);
                 cout<<Rus("\n Продолжить ввод? (1-да/0-нет)");
                 cin >> sl;
                 } while(sl == 1);
   }  
  fclose(fbin);
}
 
void creat()
{
SPARTAK spa;
int sl1;
FILE *f1bin;
if ((f1bin =fopen("Spartak.bin","wb")) == NULL)
   { puts(Rus("Ошибка создания  файла\n "));
   getch();
   }
  else
        { do
           { cout << Rus("\n Фамилия: ");
                 cin.get() ; gets (spa.fam) ;
                 cout << Rus("\n Число шайб: ");
                 cin >> spa.shayb;
                 cout << Rus("\n Количество передач: ");
                 cin >> spa.pereda4;
                 fwrite(&spa, sizeof(spa),1,f1bin);
                 cout<<Rus("\n Продолжить ввод? (1-да/0-нет)");
                 cin >> sl1;
                 } while(sl1 == 1);
   }  
  fclose(f1bin);
}
 
void view()
  { FILE *fbin;
        if ((fbin =fopen("Dinamo.bin","rb")) == NULL)
         { puts(Rus("Ошибка открытия  файла\n"));
           getch();
         }
        else
         { fseek(fbin, 0, SEEK_END);
           int n_record = ftell(fbin)/sizeof(DINAMO);
           DINAMO *din = new DINAMO[n_record];
           fseek(fbin, 0, SEEK_SET);
           fread(din, sizeof(DINAMO),n_record, fbin);
           fclose(fbin);
           qsort(din, n_record, sizeof(DINAMO), compare);
           for (int i=0; i < n_record; i++)
                cout << "\n" << din[i].fam << "  " <<
                 din[i].shayb << "  " << din[i].pereda4 << "  " <<
                cout << "\n";
                getch();
         }
  }
 
void vie()
  { FILE *f1bin;
        if ((f1bin =fopen("Spartak.bin","rb")) == NULL)
         { puts(Rus("Ошибка открытия  файла\n"));
           getch();
         }
        else
         { fseek(f1bin, 0, SEEK_END);
           int n_record = ftell(f1bin)/sizeof(SPARTAK);
           SPARTAK *spa = new SPARTAK[n_record];
           fseek(f1bin, 0, SEEK_SET);
           fread(spa, sizeof(SPARTAK),n_record, f1bin);
           fclose(f1bin);
           qsort(spa, n_record, sizeof(SPARTAK), compare);
           for (int i=0; i < n_record; i++)
                cout << "\n" << spa[i].fam << "  " <<
                 spa[i].shayb << "  " << spa[i].pereda4 << "  " <<
                cout << "\n";
                getch();
         }
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru