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

Сформировать двоичный файл из элементов, заданной в варианте структуры. Структура "Стадион" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что такое юнит-тест http://www.cyberforum.ru/cpp-beginners/thread891572.html
В задании требуется наличие юнит-тестов к программе. Что это? Как выглядит? Как работает?
C++ Подправить программу помогите, пожалуйста. программа работает только когда вводятся числа по условию от 3 до 9. когда вводишь больше 9, то программа считает, хотя не должна, а меньше 3-ничего не происходит. #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread891569.html
Даны действительные числа X1,.,X10, Y1,.,Y10 C++
Даны действительные числа X1,...,X10, Y1,...,Y10 . Получить cумму 10 i=1 XiYi . Как упростить решение,если исходные данные будут иметь следующий порядок: X1Y1,..., X10Y10 ? Помогите нада срочно)
C++ Написать функцию, которая ищет наибольший элемент массива и возвращает его значение
Задание 1 – работа с двумерным массивом Написать консольную программу, которая создаёт в динамической памяти двумерный массив размера N (N задаётся пользователем с клавиатуры), заполняет его случайными числами (от 0 до 100). Написать функцию, которая ищет наибольший элемент массива и возвращает его значение. Программа должна запрашивать число N с клавиатуры, далее выделять память под массив...
C++ сравнение строк http://www.cyberforum.ru/cpp-beginners/thread891562.html
Нужно сравнить строки типа стринг, без использования стандартных функций НЕ знаю,как их присвоить, пытаюсь передать функции string11 b string22. но они пустые #include <string> #include <iostream> #include <cstring> #include <stdio.h> #include <string.h> using namespace std;
C++ std:bad_alloc Проблемы с памятью Здравствуйте, проблема такая. Написал программу итерационного метода. Далее эту программу, поместил в функцию. И вызываю очень часто (порядка 200 000 итераций). Функция содержит огромные массивы. Сначала ошибка была где то после 500 итераций, сейчас всю память почистил и где то через 5000 все равно ругается. Вопрос, может как то еще надо очищать память? Привожу код функции long double... подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 20:34     Сформировать двоичный файл из элементов, заданной в варианте структуры. Структура "Стадион"
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
#include <locale>
 #include <iostream>
 #include <conio.h>
 #include <stdio.h>
 #include <Windows.h>
 using namespace std;
 
 typedef struct
 {
 char nazvanie [40];
 char adres [40];
 float vmestimost;
 char vid_sporta [40];
 
 } stadion;
 
 void form(char sFileName[10],int KolZap)
 {
 setlocale (LC_ALL,"RUSSIAN");
 int i;
 char* rejim="w";
 FILE *f;
 stadion s;
 if (KolZap==1) {
 rejim="a";
 }
 if ((f=fopen(sFileName,rejim))==NULL) exit(1);
 for (i=0;i<KolZap;i++) {
 cout <<"Vvedite nazvanie - ";
 scanf ("%s",&s.nazvanie);
 cout <<"Vvedite adres - ";
 scanf ("%s",&s.adres);
 cout <<"Vvedite vmestimost - ";
 scanf ("%f",&s.vmestimost);
 cout <<"Vvedite vid_sporta - ";
 scanf ("%s",&s.vid_sporta);
 cout <<endl;
 fwrite(&s,sizeof(stadion),1,f);
 if (ferror(f)!=NULL) exit(2);
 }
 fclose(f);
 }
 void vivod(char sFileName[10])
 {
 FILE *f;
 stadion d;
 if ((f=fopen(sFileName, "r"))==NULL) exit(3);
 cout <<"File - "<<sFileName<<endl;
 while (!feof(f)) {
 fread (&d,sizeof(stadion),1,f);
 if (!feof(f)) {
 cout <<"============================\n";
 cout <<"Nazvanie: "<<d.nazvanie<<endl;
 cout <<"Adres: "<<d.adres<<endl;
 cout <<"Vmestimost: "<<d.vmestimost<<endl;
 cout <<"Vid_sporta: "<<d.vid_sporta<<endl;
 cout <<"============================\n";
 }
 }
 fclose(f);
 
 }
 
 void udalenie(char cFileIn[10], char cFileOut[10])
 {
 stadion d;
 FILE *f1,*f2;
 char temp[40];
 if ((f1=fopen(cFileIn, "r"))==NULL) exit(4);
 if ((f2=fopen(cFileOut,"w"))==NULL) exit(5);
 cout << "Vvedite nazvanie na udalenie - ";
 cin >> temp;
 
 while(1) 
 { 
    fread(&d,sizeof(stadion),1,f1);
    if (feof(f1)) break;
    if (strcmp(d.nazvanie, temp))
        fwrite (&d,sizeof(stadion),1,f2);
 }
 
 fclose(f2);
 fclose(f1);
 }
 
 void main()
 {
     int n;
     setlocale(LC_ALL,"RUSSIAN");
     cout <<"Vvedite kol-vo zapisey: - ";
     cin>>n;
     cout <<endl;
     form("f1.dat",n);
     vivod("f1.dat");
     udalenie("f1.dat","f2.dat");
     cout <<"Posle udalenia:\n";
     vivod("f2.dat");
     getch();
     n=1;
     system("cls");
     form ("f2.dat",n);
     cout <<"Posle dobavlenia:\n";
     vivod ("f2.dat");
     getch();
 }
 
Текущее время: 04:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru