Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2012, 18:26   #1
xNеo
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 15
По умолчанию [C++] Простейшие классы

Здравствуйте.

Нужно решить один несложный вопрос (я нубас). Есть три файла с кодом: основной (сама программа) и два файла, подключающих классы (как-то так). Это Point.h и Point.cpp, соответственно. Закидываю файлы в директорию с основным .cpp-файлом, как и следует. Но при попытке всё это дело скомпилировать, компилятор начинает громко на меня ругаться (я уже говорил, что я нубас?). Подключение файла Point.cpp в основном файле программы ничего толкового, ясное дело, не даёт (ошибки-ошибки-ошибки). В Point.h — тоже (ох, ну и глупости же я делаю). И наоборот. Ничем дополнять код, по-идее, не нужно: он закончен. Как это решить?
Собственно, само задание и код всех файлов.

Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций, сложения, вычитания, умножения и нахождения модуля комплексных чисел.

Каждый разрабатываемый класс должен, как правило, содержать следующие элементы: скрытые поля, конструкторы с параметрами и без параметров, метод для вывода параметров объекта на экран. В программе должна выполняться проверка всех разработанных элементов класса.

Решение

Код:
#include "stdafx.h"
#include <clocale>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>
#include <iostream>
#include "point.h"
class point;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian_Russia,1251");
int q;
cout << "1. Addition;" << endl << "2. Subtract;" << endl << "3. Multiply;" << endl << "4. Find the module;" << endl << "0. Exit." << endl;
cin >> q;
while(q!=0)
{
if(q==1)
{
int real, imaginary, real2, imaginary2;
cout << "Enter 4 numbers: " << endl;
cout << "Enter the real part of the first number: ";
cin >> real;
cout << "Enter the imaginary part of the first number: ";
cin >> imaginary;
cout << "Enter the real part of the second number: ";
cin >> real2;
cout << "Enter the imaginary part of the second number: ";
cin >> imaginary2;
Complex a = Complex(real, imaginary);
Complex b = Complex(real2, imaginary2);
a.Print();
cout << "+";
b.Print();
cout << "=";
Complex c = a + b;
c.Print();
cout << endl;
}
if(q==2)
{
int real, imaginary, real2, imaginary2;
cout << "Enter 4 numbers: " << endl;
cout << "Enter the real part of the first number: ";
cin >> real;
cout << "Enter the imaginary part of the first number: ";
cin >> imaginary;
cout << "Enter the real part of the second number: ";
cin >> real2;
cout << "Enter the imaginary part of the second number: ";
cin >> imaginary2;
Complex a = Complex(real, imaginary);
Complex b = Complex(real2, imaginary2);
a.Print();
cout << "+";
b.Print();
cout << "=";
Complex c=a-b;
c.Print();
cout << endl;
}
if(q==3)
{
int real, imaginary, real2, imaginary2;
cout << "Enter 4 numbers: " << endl;
cout << "Enter the real part of the first number: ";
cin >> real;
cout << "Enter the imaginary part of the first number: ";
cin >> imaginary;
cout << "Enter the real part of the second number: ";
cin >> real2;
cout << "Enter the imaginary part of the second number: ";
cin >> imaginary2;
Complex a = Complex(real, imaginary);
Complex b = Complex(real2, imaginary2);
a.Print();
cout << "+";
b.Print();
cout << "=";
Complex c = a * b;
c.Print();
cout << endl;
}
if(q==4)
{
int real, imaginary;
cout << "Enter 2 numbers: " << endl;
cout << " Enter the real part of the number: ";
cin >> real;
cout << " Enter the imaginary part of the number: ";
cin >> imaginary;
Complex a = Complex(real, imaginary);
cout << a.modul();
cout << endl;
}
cout << "1. Addition;" << endl << "2. Subtract;" << endl << "3. Multiply;" << endl << "4. Find the module;" << endl << "0. Exit." << endl;
cin >> q;
}

return 0;
}
Point.cpp

Код:
#include "stdafx.h"
#include "point.h"
#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;

double Complex::modul()
{
double x;
x = sqrt((double)this -> real * this -> real + this -> imaginary * this -> imaginary);
return x;
}
void Complex::Print()
{
if (imaginary>0)
cout << real << "+" << imaginary << "i";
else
cout << real << imaginary << "i";
}
Point.h

Код:
class Complex
{
int real, imaginary;
public:
Complex()
{
real = 0;
imaginary = 0;
}
Complex(int real, int imaginary)
{
this -> real = real;
this -> imaginary = imaginary;
}

void Print();
Complex operator + (Complex a)
{
Complex c = Complex(this -> real + a.real, this -> imaginary + a.imaginary);
return c;
}

Complex operator - (Complex a)
{
Complex c = Complex(this -> real - a.real, this -> imaginary - a.imaginary);
return c;
}

Complex operator * (Complex a)
{
Complex c = Complex(this -> real * a.real - this -> imaginary * a.imaginary, this -> real * a.imaginary + this -> imaginary * a.real);
return c;
}
double modul();
};
xNеo вне форума Ответить с цитированием
Старый 26.09.2012, 19:56   #2
Tiva
Пользователь
 
Регистрация: 23.11.2011
Сообщений: 49
По умолчанию

вроде как мало просто разместить дополнительные файлы в папке с проектом, и указать в них инклюды, вроде в самой среде(вижуал, билдер и тп) надо включить в проект эти файлы (в вижуал ПКМ по файлы исходного кода\заголовочные) и нажать добавить существующий элемент, и выбрать эти файлы.
хотя не знаю точно, обязательно это или нет )
Tiva вне форума Ответить с цитированием
Старый 26.09.2012, 20:22   #3
xNеo
Пользователь
 
Регистрация: 03.06.2011
Сообщений: 15
По умолчанию

Спасибо, проблема решена.
xNеo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простейшие классы в C# fpm.altyev Помощь студентам 5 17.05.2012 20:49
Простейшие Классы ( Си Шарп). Elimay25 Помощь студентам 0 03.04.2012 13:50
Простейшие классы,обработка исключительных ситуаций))) таня1 C# (си шарп) 0 18.05.2011 18:55
Задача на простейшие классы volchonok232 Помощь студентам 7 01.02.2011 22:13
Простейшие циклы. Wild_klas Помощь студентам 2 08.11.2010 18:13