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

Вместо значений массива в cout выводит адреса - C++

Восстановить пароль Регистрация
 
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
15.01.2014, 20:17     Вместо значений массива в cout выводит адреса #1
Помогите пожалуйста! Вместо значений массива в cout выводит адреса

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
#include<iostream>
#include<conio.h>
#include <iomanip>
#include <math.h>
#include <fstream>
/*void WriteComplex(char * fname, Complex * buffer, int count); 
– функция записывает count элементов типа Complex из массива 
buffer в файл с именем fname; */
using namespace std;
struct Complex  
 {
 
    double re;  
    double im;
 
};
 Complex Add(Complex c1, Complex c2); 
 Complex Sub(Complex c1, Complex c2);
  Complex Mul(Complex c1, Complex c2);
 Complex Div(Complex c1, Complex c2);
 
 void ex(Complex resAdd);
 void ex1(Complex resSub);
 void ex2(Complex resMul);
 void ex3(Complex resMul);
void print_Complex(Complex resAdd){
     cout<<"Komplexnoe chislo v algebraicheskoy forme: "<<resAdd.re<<"+"<<resAdd.im<<"i"<<endl;
     double F, Z;
     F=  atan(resAdd.im/resAdd.re);
     Z =  sqrt( resAdd.re*resAdd.re+ resAdd.im*resAdd.im); 
     cout<<"Komplexnoe chislo v pokazatelnoy forme: Cp= "<<Z<<"*e^i"<<F<<endl;
     };
     
     const int size =1;
     void WriteComplex(Complex* pbuf, const int size)
{
    
    ofstream fout;
    fout.open("C:\\C++fails\\1.txt");
    int t=0;
    while (t<2){
          cout<<pbuf++<<endl;//Вместо значений выводит адреса
          t++;
          }
//fout<<pbuf<<endl;
}
 
 
 
int main()
{
    
    
 
   Complex buf[size];//массив экземпляров класса
   Complex*pbuf=buf;
   pbuf->re=5;
   pbuf->im=6;
   
////////////////////////////////////////////////////////   
   WriteComplex(buf,size);
Complex c1;
Complex c2; 
Complex res;       
         
cout << "Vvedite deystvitelnuyu chast kompleksnogo chisla c1:  " << endl; 
cin>>c1.re;
cout << "Vvedite mnimuyu chast kompleksnogo chisla c1: " << endl;
cin>>c1.im;
cout << "Vvedite deystvitelnuyu chast kompleksnogo chisla c2:  " << endl; 
cin>>c2.re;
cout << "Vvedite mnimuyu chast kompleksnogo chisla c2: " << endl;
cin>>c2.im;
cout<<endl<<endl;
cout<<setw(60)<<"******************Menu********************"<<endl;
cout<<"Viberite punkt menu: "<<endl;
cout<<"1. Slogenie komplexnih chisel. "<<endl;
cout<<"2. Vichitanie komplexnih chisel."<<endl;
cout<<"3. Umnogenie komplexnih chisel."<<endl;
cout<<"4. Delenie komplexnih chisel."<<endl<<endl<<endl;
 
int e;
cin>>e;
cout<<endl;
switch(e)
{
         case 1:
Add( c1,  c2);
Complex resAdd;
ex(resAdd);
print_Complex(resAdd);
break;
         case 2:
Sub(c1, c2);
Complex resSub;
ex1(resSub); 
break;
         case 3:
Mul(c1, c2);
Complex resMul;
ex2(resMul); 
break;
         case 4:
Div(c1, c2);
Complex resDiv;
ex3(resDiv);
break;     
     
default: cout<<"Takogo punkta v menu net!!!";
}
 
 
getch();
return 0;
}
 Complex Add(Complex c1, Complex c2)
{
        Complex resAdd;
        resAdd.re= c1.re+c2.re;
        resAdd.im= c1.im+c2.im;
        return resAdd;
}
 
void ex(Complex resAdd)
{
 cout<<"c1+c2= "<<resAdd.re<<" + "<<resAdd.im<<"i"<<endl<<endl;
}
 Complex Sub(Complex c1, Complex c2)
 {
      Complex resSub;
        resSub.re= c1.re-c2.re;
        resSub.im= c1.im-c2.im;
        return resSub;
}   
void ex1(Complex resSub)
{
 cout<<"c1-c2= "<<resSub.re<<" + "<<resSub.im<<"i"<<endl<<endl;
}
 
 Complex Mul(Complex c1, Complex c2)
 {
      Complex resMul;
        resMul.re= c1.re*c2.re;
        resMul.im= c1.im*c2.im;
        return resMul;
}   
void ex2(Complex resMul)
{
 cout<<"с1*с2= "<<resMul.re<<" + "<<resMul.im<<"i"<<endl;
}
 
 
 
Complex Div(Complex c1, Complex c2)
 {
      Complex resDiv;
        resDiv.re= c1.re/c2.re;
        resDiv.im= c1.im/c2.im;
        return resDiv;
}   
void ex3(Complex resDiv)
{
 cout<<"с1\с2= "<<resDiv.re<<" + "<<resDiv.im<<"i"<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 20:17     Вместо значений массива в cout выводит адреса
Посмотрите здесь:

C++ Cout не выводит строку.
C++ Выводит вместо массива е числа от балды. Где проблема?
Выводит вместо массива мягко сказать хрень C++
C++ cout Выводит не те символы
C++ Сортировка массива, вместо массива выводит мусор
C++ Вывод адреса по указателю на char в std::cout
C++ Вместо массива выводит большие отрицательные чсила
Cout не выводит числа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 21:19     Вместо значений массива в cout выводит адреса #2
C++
1
2
cout << pbuf ->re << ' ' << pbuf ->im << endl;;
++pbuf;
Yandex
Объявления
15.01.2014, 21:19     Вместо значений массива в cout выводит адреса
Ответ Создать тему
Опции темы

Текущее время: 00:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru