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

Класс "Трехмерный вектор" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать программу вычисления сопротивления электрической цепи по известным значениям напряжения и силы тока http://www.cyberforum.ru/cpp-beginners/thread363613.html
Здравствуйте, нужна помощь в создании программы (Создать программу вычисления сопротивления электрической цепи по известным значениям напряжения и силы тока). ОММЕТР Введите через пробел значения напряжения U и силы тока I и нажмите : ->12 2 Результат: 6 ОМ.Недавно начал увлекаться программированием, пока изучаю базу, помогите пожалуйста начинающему программисту!!
C++ Шифрование шифра Виженера Здравствуйте! При шифровании сообщения на русском языке шифром Виженера у меня возникла ошибка. ind2=abc.find(key); <--- вот в этой строке индекс уходит вообще в минус....так как почему-то сам ключ почему-то не на русском, как при вводе, а казюльками разными! В чём ошибка? // шифр Вижинера #include <iostream> #include <stdlib.h> #include <string> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread363610.html
Задача по плюсам C++
Конечно понимаю что немного несправедливо с точки зрения рейтингов, но с задачкой провозился 2 часа, так и не разобрался... Возможно не стоило такую тяжелую брать Еще можно упрекнуть, что не использовал функции, векора, и т.п. Это да, но я экономил на памяти и размере кода) Ошибка не синтаксическая, но ответ программы не соответствует ответу на задачу. Предположительно мог намудрить со знаками...
C++ Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу
Помогите написать программу, которая вводит фактические данные в таблицу, и выводит на экран таблицу. Офісні пакети Найменування..............Виробник..........Кількість сост.частин............ Ціна ($) Office......................... Microsoft.......... 4....................................... 870...
C++ Поиск методом деления пополам. http://www.cyberforum.ru/cpp-beginners/thread363598.html
Имеется железнодорожное расписание, содержащее номер рейса поезда, времена отправления и прибытия и станцию прибытия. Организовать поиск номера поезда, время отправления и прибытия, если задана станция. Кто чем может помочь. Пойдет и словесной форма.. помогите начать
C++ Подсчёт количества слов в данном текстовом файле Задание такое: определить количество слов в данном текстовом файле. Слова - последовательности символов и цифр, разделенные "не символами", вроде пробелов, точек, запятых и пр. #include <iostream> #include <fstream> #include <cctype> using namespace std; int main() { setlocale(LC_ALL,"rus_rus.1251"); unsigned char ch; подробнее

Показать сообщение отдельно
exmahinator
1 / 1 / 0
Регистрация: 20.09.2011
Сообщений: 20

Класс "Трехмерный вектор" - C++

09.10.2011, 17:23. Просмотров 3405. Ответов 12
Метки (Все метки)

Добрый день всем жителям форума! Помогите найти проблему в програме. Вроде и не сложная но я плохо понимаю в програмировании...
Условие : Создать клас Вектор3Д который задаеться троицей координат, в котором должны быть реализированны функции : Инициализация, Ввод, Вывод, перевод в Стринг.
Задачи программы : сумма и разница векторов, скалярное произведение векторов, умножение на скаляр, сравнение векторов, вычисление длины вектора, сравнение длин векторов.
Код :

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
#ifndef _vector3D_H_
#define _vector3D_H_
 
class vector3D{
    public:
    vector3D(int inita=0, int initb=0, int initc=0): a(inita), b(initb), c(initc){};
 
    vector3D operator+(vector3D v2);
    vector3D operator-(vector3D v2);
    vector3D operator*(vector3D v2);
    vector3D operator*(vector3D, double scalar); //скалярное произведение векторов
    vector3D operator%(vector3D v2); //векторное произведение векторов
    vector3D operator^(vector3D v2); //сравнение векторов
    vector3D abs(vector3D); //модуль вектора(длина)
    vector3D operator/(vector3D v2); //сравнение длин векторов
    void show();
 
    private:
    int a;
    int b;
    int c;
 
};
 
#endif
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
#include "vector3D.h"
 
vector3D vector3D::operator+(vector3D v2){
    vector3D vec;
    vec.a=a+v2.a;
    vec.b=b+v2.b;
    vec.c=c+v2.c;
    return vec;
}
 
 
vector3D vector3D::operator-(vector3D v2){
    vector3D vec;
    vec.a=a-v2.a;
    vec.b=b-v2.b;
    vec.c=c-v2.c;
    return vec;
}
 
vector3D vector3D::operator*(vector3D v2){
    vector3D vec;
    vec.a=a*v2.a;
    vec.b=b*v2.b;
    vec.c=c*v2.c;
    return vec;
}
 
 
void vector3D::show(){
    std::cout<<a<<","<<b<<","<<c;
}
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
#include <math.h>
#include <iostream>
#include <sstream>
#include <string.h>
#include "vector3D.h"
#include "vector3D.cpp"
using namespace std;
 
class vector
{
    double x,y,z;
    public:
    vector(double vX=0, float vY=0, float vZ=0) { x=vX; y=vY; z=vZ; } // конструктор
    ~vector ();
    friend vector operator+(vector a, vector b); //сложение векторов
    friend vector operator-(vector a, vector b); //вычитание векторов
    friend vector operator*(vector a, double scalar); //умножение вектора на скаляр
    friend double operator*(vector a, vector b); //скалярное произведение векторов
    friend vector operator%(vector a, vector b); //векторное произведение векторов
    friend vector operator^(vector a, vector b); //сравнение векторов
    friend double abs(vector a); //модуль вектора(длина)
    friend vector operator/(vector a, vector b); //сравнение длин векторов
    void input(void);//ввод
    void output(void);//вЫвод
};
 
vector operator+(vector a, vector b)//перегружаю оператор +
{
    vector temp;
    temp.x = a.x + b.x;
    temp.y = a.y + b.y;
    temp.z = a.z + b.z;
    return temp;
}
 
vector operator-(vector a, vector b)//перегружаю оператор -
{
    vector temp;
    temp.x = a.x - b.x;
    temp.y = a.y - b.y;
    temp.z = a.z - b.z;
    return temp;
}
 
vector operator*(vector a, double scalar)//перегружаю оператор *
{
    vector temp;
    temp.x = a.x * scalar;
    temp.y = a.y * scalar;
    temp.z = a.z * scalar;
    return temp;
}
 
double operator*(vector a, vector b)//перегружаю оператор / для double(для скалярного произведения)
{
    return a.x*b.x + a.y*b.y + a.z*b.z;
}
 
vector operator%(vector a, vector b)//перегружаю оператор % для векторного произведения
{
    vector Ox(1,0,0), Oy(0,1,0), Oz(0,0,1);
    return Ox*(a.y*b.z - a.z*b.y) + Oy*(a.z*b.x - a.x*b.z) + Oz*(a.x*b.y - a.y*b.x);
}
 
double abs(vector a)//вычесление модуля
{
    return sqrt(a.x*a.x + a.y*a.y + a.z*a.z);
}
Ошибки :
1>------ Построение начато: проект: Vektor, Конфигурация: Debug Win32 ------
1> stdafx.cpp
1> Vektor.cpp
1>e:\vektor\vektor\vektor\vektor.cpp(1): warning C4627: #include <math.h>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(2): warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(3): warning C4627: #include <sstream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(4): warning C4627: #include <string.h>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(5): warning C4627: #include "vector3D.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(6): warning C4627: #include "vector3D.cpp": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vektor.cpp(69): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> vector3D.cpp
1>e:\vektor\vektor\vektor\vector3d.cpp(2): warning C4627: #include "vector3D.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>e:\vektor\vektor\vektor\vector3d.cpp(33): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> Создание кода...
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Сразу напишу - если подключить СтдАФХ то еще больше находит... Кто может - проверте у себя - в чем может быть причина - 2-ю неделю немогу скомпилировать ее...
Програма МайкрософтВижуал 2010

 Комментарий модератора 
Используйте теги форматирования кода
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru