Технический форум

Технический форум (http://www.tehnari.ru/)
-   C/C++/С# (http://www.tehnari.ru/f42/)
-   -   С++, модифицировать программу, закрытые переменные (http://www.tehnari.ru/f42/t94792/)

Cassan 23.02.2014 23:29

С++, модифицировать программу, закрытые переменные
 
Вложений: 1
Здравствуйте! Кому не сложно, помогите пожалуйста модифицировать программу таким образом, чтобы класс содержал закрытые переменные. Код готов. И еще проблема в программе есть когда выводится комплексное число после сложения, вычитания или умножения получается какой-то неверный вид, как исправить?(посмотрите изображение).
Вот само условие, если что:Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел.
Код:

#include <iostream>
#include <stdlib.h>
#include <time.h>
 
 
using namespace std;
 
class Komplecs{
int *a;
public:
 
        Komplecs()
    {
        a= new int[2];
        a[0] = 0;
        a[1] = 0;
    }
 
    ~Komplecs()
    {
    delete []a;
    }
 void Vvod();
 void Slog();
 void Umnog();
 void Vich();
  void Print();
};
void Komplecs::Print()
{
    cout<<a[0] <<"+i*"<<a[1]<<endl;
}
 
void Komplecs::Vvod()
{
cout<<"Введите действительную часть числа";
cout<<endl;
cin>>a[0];
cout<<"Введите мнимую часть числа";cout<<endl;
cin>>a[1];
cout<<endl;cout<<"Число равно  ";
cout<< a[0]<<"+i*"<< a[1];cout<<endl;
}
void Komplecs::Slog()
{int t,d,x,z;
cout<<"Введите действительную часть первого числа";
cout<<endl;
cin>>t;
cout<<"Введите мнимую часть первого числа";cout<<endl;
cin>>d;
cout<<endl;
cout<<"Введите действительную часть второго числа";
cout<<endl;
cin>>x;
cout<<"Введите мнимую часть второго числа";cout<<endl;
cin>>z;
a[0]=(t+x);
a[1]=(d+z);
cout<<"Сумма равна";
cout<<endl;
cout<< a<<"+i*"<< a[1]; cout<<endl;
}
void Komplecs::Umnog()
{
int t,d,x,z;
cout<<"Введите действительную часть первого числа";
cout<<endl;
cin>>t;
cout<<"Введите мнимую часть первого числа";cout<<endl;
cin>>d;
cout<<endl;
cout<<"Введите действительную часть второго числа";
cout<<endl;
cin>>x;
cout<<"Введите мнимую часть второго числа"; cout<<endl;
cin>>z;
a[0]=(t*x-d*z);
a[1]=(t*z+d*x);
cout<<"При умножении число равно";cout<<endl;
cout<< a<<"+i*"<< a[1];cout<<endl;
}
void Komplecs::Vich()
{
int t,d,x,z;
cout<<"Введите действительную часть первого числа";
cout<<endl;
cin>>t;
cout<<"Введите мнимую часть первого числа";cout<<endl;
cin>>d;
cout<<endl;
cout<<"Введите действительную часть второго числа";
cout<<endl;
cin>>x;
cout<<"Введите мнимую часть второго числа";cout<<endl;
cin>>z;
a[0]=(t-x);
a[1]=(d-z);
cout<<"При вычитании число равно";cout<<endl;
cout<< a<<"+i*"<< a[1];cout<<endl;
}
 
 
void main()
{
    setlocale (LC_ALL, "Russian");
    Komplecs c;int v;
v=1;
while(v!=0)
{
cout<<endl;
cout<<"1-Ввод числа";cout<<endl;
cout<<"2-Сложение чисел"; cout<<endl;
cout<<"3-Умножение чисел";cout<<endl;
cout<<"4-Вычитание чисел";cout<<endl;
cout<<"0-Выход";cout<<endl;
cin>>v;
if (v==1)
{
c.Vvod();
}
if (v==2)
{
c.Slog();
}
if (v==3)
{
c.Umnog();
}
if (v==4)
{
c.Vich();
}
} }



Часовой пояс GMT +4, время: 07:58.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.