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

Работа с файлом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Приведите простенький пример с наследованием, чтобы понять, как создавать экземпляр класса http://www.cyberforum.ru/cpp-beginners/thread1109494.html
Добрый день. Помогите нубу с наследованием на С++. Суть такова. Мне дано 2 класса. У базового 4 поля. У дочерного 1 поле. В дочерном есть метод который выводит на экран всю информацию из полей базового класса и из поля дочерного класса вместе. Приведите простенький примерчик чтобы понять как создавать экземпляр класса. Чтобы вызвать этот метод. А то я делают так : DochernijKlass...
C++ Вычислить сумму ряда, состоящего из N слагаемых Пожалуйста, помогите написать программу на с++. Вот задание: Разработать программу на языке программирования С++. Вычислить сумму ряда, состоящего из N слагаемых, и вывести результат с M знаками после запятой. http://www.cyberforum.ru/cpp-beginners/thread1109487.html
C++ Ошибка при подключении библиотеки
ошибка при подключении библиотеки "stdafx.h" в VS 2013 вот, что пишет : 1>x:\users\fene4ka\documents\visual studio 2013\projects\алгоритм прима\алгоритм прима\алгоритм прима.cpp(4): error C2855: command-line option '/d1safedelete' inconsistent with precompiled header 1>x:\users\fene4ka\documents\visual studio 2013\projects\алгоритм прима\алгоритм прима\алгоритм прима.cpp(4): error C2855:...
C++ C++ Ошибка памяти
я пишу скриптовый язык программирования на с++ сейчас занят тем что пытаюсь сделать так чтоб программа считывала строку и конвертировала её в выражение. Но у меня вылетает Ошибка памяти. Где ошибка. Заранее спасибо. #include <iostream> #include <string> #include <cstring> #include <cstdlib> using namespace std; float operate(string); int main() {
C++ Напишите программу для расчета по двум формулам http://www.cyberforum.ru/cpp-beginners/thread1109446.html
Здравствуйте! Дано. Напишите программу для расчета по двум формулам. Введите с клавиатуры значение угла a (альфа) в градусах. Необходимо включить к программе заголовочный файл <cmath>. Помогите объяснить задачу, никак не могу понять что сделать с "а (альфой)", "х", "у". Что делать после того как введу значения для альфа в градусах, как мне использовать вместо "х" и "у"?
C++ Найти сумму отрицательных элементов массива и произведение положительных Создать одномерный целочисленный массив на 100 элементов. Найти сумму отрицательных элементов массива и произведение положительных. подробнее

Показать сообщение отдельно
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
02.03.2014, 22:07     Работа с файлом
в общем есть некая решенная задача которая имеет классы и методы(ввода и вывода) для них, нужно ювелирно переделать методы так чтоб они вводили/выводили не на/с экран(а) а в/из файл(а) где то видел изящное решение когда подавали вроде бы файловую переменную как параметр на эти функции но у меня так не получилось =\ подскажите как это будет проще, вот код программы
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
class pset
    {public:
    float x,y,z;
    void input();
    void output();
//  float smeshproiz(pset a,pset b, pset c);
    };
float SP(pset a,pset b, pset c) //смешанное произведение чтобы проверять являются ли введенные данные вершинами параллелограмма
    {pset d;
    d.x=b.y*c.z-b.z*c.y;
    d.y=b.z*c.x-b.x*c.z;
    d.z=b.x*c.y-b.y*c.x;
    return d.x*a.x+d.y*a.y+d.z*a.z;
    }
class paral
    {public:
    pset A1,B1,C1,D1,A2,B2,C2,D2;
    float kx,ky,kz;
    void input();
    void output();
    float diag();
    };
void pset::input()
    {cout<<"x=";
    cin>>x;
    cout<<"y=";
    cin>>y;
    cout<<"z=";
    cin>>z;
    }
void paral::input()
    {cout<<"\nvvedite A1: \n";
    A1.input();
    cout<<"\nvvedite B1: \n";
    B1.input();
    cout<<"\nvvedite C1: \n";
    C1.input();
    cout<<"\nvvedite D1: \n";
    D1.input();
    pset ab,ac,ad;
    ab.x=B1.x-A1.x;
    ab.y=B1.y-A1.y;
    ab.z=B1.z-A1.z;
    ac.x=C1.x-A1.x;
    ac.y=C1.y-A1.y;
    ac.z=C1.z-A1.z;
    ad.x=D1.x-A1.x;
    ad.y=D1.y-A1.y;
    ad.z=D1.z-A1.z;
    while(SP(ab,ac,ad)!=0)
        {cout<<"\nnevernie dannie";
        cout<<"\nvvedite A1: \n";
        A1.input();
        cout<<"\nvvedite B1: \n";
        B1.input();
        cout<<"\nvvedite C1: \n";
        C1.input();
        cout<<"\nvvedite D1: \n";
        D1.input();
        ab.x=B1.x-A1.x;
        ab.y=B1.y-A1.y;
        ab.z=B1.z-A1.z;
        ac.x=C1.x-A1.x;
        ac.y=C1.y-A1.y;
        ac.z=C1.z-A1.z;
        ad.x=D1.x-A1.x;
        ad.y=D1.y-A1.y;
        ad.z=D1.z-A1.z;
        }
    cout<<"\nvvedite A2: \n";
    A1.input();
    cout<<"\nvvedite B2: \n";
    B1.input();
    cout<<"\nvvedite C2: \n";
    C1.input();
    cout<<"\nvvedite D2: \n";
    D1.input();
    ab.x=B2.x-A2.x;
    ab.y=B2.y-A2.y;
    ab.z=B2.z-A2.z;
    ac.x=C2.x-A2.x;
    ac.y=C2.y-A2.y;
    ac.z=C2.z-A2.z;
    ad.x=D2.x-A2.x;
    ad.y=D2.y-A2.y;
    ad.z=D2.z-A2.z;
        while(SP(ab,ac,ad)!=0)
            {   cout<<"\nvvedite A2: \n";
            A1.input();
            cout<<"\nvvedite B2: \n";
            B1.input();
            cout<<"\nvvedite C2: \n";
            C1.input();
            cout<<"\nvvedite D2: \n";
            D1.input();
            pset ab,ac,ad;
            ab.x=B2.x-A2.x;
            ab.y=B2.y-A2.y;
            ab.z=B2.z-A2.z;
            ac.x=C2.x-A2.x;
            ac.y=C2.y-A2.y;
            ac.z=C2.z-A2.z;
            ad.x=D2.x-A2.x;
            ad.y=D2.y-A2.y;
            ad.z=D2.z-A2.z;
            }
 
    }
void pset::output()
    {
    cout<<"("<<x<<","<<y<<","<<z<<")";
    }
void paral::output()
    {   cout<<"A1=";
    A1.output();
    cout<<"\n";
    cout<<"B1=";
    B1.output();
    cout<<"\n";
    cout<<"C1=";
    C1.output();
    cout<<"\n";
    cout<<"D1=";
    D1.output();
    cout<<"\n";
    cout<<"A2=";
    A2.output();
    cout<<"\n";
    cout<<"B2=";
    B2.output();
    cout<<"\n";
    cout<<"C2=";
    C2.output();
    cout<<"\n";
    cout<<"D2=";
    D2.output();
    cout<<"\n";
    }
float paral::diag()
    {return sqrt((A2.x-C1.x)*(A2.x-C1.x)+(A2.y-C1.y)*(A2.y-C1.y)+(A2.z-C1.z)*(A2.z-C1.z));
    }
 
int _tmain(int argc, _TCHAR* argv[])
{   //vvod
    int n;
    cout<<"vvedite kolichestvo parallelepipedov";
    cin>>n;
    paral* A;
    A=new paral[n];
    for(int i=0;i<n;i++)
        {cout<<"vvedite parallelepiped"<<i+1<<":";
        A[i].input();
        }
    //sortirovka 
    for(int i=0; i<n; ++i)
        for(int j=i+1; j<n; ++j)
            if(A[j].diag()<A[i].diag()) swap(A[i],A[j]); 
    //vivod
    for(int i=0;i<n;i++)
        {cout<<"parallelepiped "<<i+1<<":\n";
        A[i].output();
        cout<<"ego diagonal: "<<A[i].diag()<<"\n";
        }
    return 0;
}
P.S. если возможно то желательно работать не с потоками а с обычными функциями типа fputs fgets
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru