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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 19:30   #1
Jumb0
 
Регистрация: 24.09.2012
Сообщений: 3
По умолчанию Пространства имен С++

Задание
Согласно варианту описать указанные типы данных и поместить их в отдельный заголовочный файл. Аналогично поступить с функциями. Реализацию функций выполнить в отдельном файле.
Типы данных и функции разместить в соответствующем пространстве имен.
Написать программу, использующую описанные типы данных: инициализация переменных (ввод пользователя), выполнение действий (в зависимости от дальнейшего ввода пользователя).
Тип данных
Квадрат на плоскости (задаются координаты трех точек – куб может быть «повернут»).
Функции:
Проверка правильности данных (не любые три точки задают куб!). Вычисление площади.
Для проверки правильности данных проверьте равенство двух сторон и убедитесь, что угол между ними прямой.


Помогите сделать проверку, не получается и как правильно в с++ использовать #pragma once

Моя программа:
Код:
#pragma once
struct square1
{
    int x1,x2,x3,x4,y1,y2,y3,y4;
}
#endif
 

#pragma once
float square();
float length(int a, int b, int c, int d);
 
 
#include “HEADER_11_H”
#include “HEADER_11_H1”
#include <math.h>
    float square()
    {
        float p=(sqrt(pow((float)(x4-x1))+pow((float)(y4-y1))));
        p*=sqrt(pow((float)(x2-x1))+pow((float)(y2-y1)));
        return p;
    }
    float length(int a, int b, int c, int d)
    {
        return sqrt(pow((float)b-a)+pow((float)(d-c)));
    }
    float chek()
    {
        float p=p*
 
 
 
#include <stdio.h>
#include “HEADER_11_H”
#include “HEADER_11_H1”
#include <iosrteam>
using namespace std;
int main()
{
    int x[3],y[3];
    cout << "enter points\n" << endl;
    cin >> x[0];
    cin >> x[1];
    cin >> x[2];
    cin >> y[0];
    cin >> y[1];
    cin >> y[2];
square1 usual={x[0],x[1],x[2],y[0],y[1],y[2]};
cout << "square is %.3f\n" << usual.square() << endl;
}
Спасибо

Последний раз редактировалось Stilet; 10.03.2013 в 20:26.
Jumb0 вне форума Ответить с цитированием
Старый 10.03.2013, 19:49   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) Программный код оформляется тегом форума CODE.

1)
Цитата:
как правильно в с++ использовать #pragma once
Никак, опции директивы pragma зависят от компилятора, а не оговариваются стандартом. Если не знаете, как ими пользоваться - попробуйте для начала не использовать вовсе.

2)
Код:
float square()
{
float p=(sqrt(pow((float)(x4-x1))+pow((float)(y4-y1))));
p*=sqrt(pow((float)(x2-x1))+pow((float)(y2-y1)));
return p;
}
Такой синтаксис подразумевает, что x1, x2 и так далее - глобальные переменные. Поскольку реально таких глобальных переменных нет, компилятор должен выдать сообщение об ошибке, которое можно прочитать и сделать выводы.

3) Функция проверки может выглядеть так (если в условии квадрат, а не куб - путаница в Ваших формулировках имеет угрожающие масштабы):
Код:
//Функция принимает ссылку на проверяемый объект
bool IsCorrectSquare(const square1& s){
  if(s.x1==s.x2 && s.y1==s.y2) return false;
  if((s.x4-s.x3 != s.x2-s.x1) || (s.y4-s.y3 != s.y2-s.y1)) return false;
  if(s.x1==s.x3 && s.y1==s.y3) return false;
  if((s.x4-s.x2 != s.x3-s.x1) || (s.y4-s.y2 != s.y3-s.y1)) return false;
  if((abs(s.x3-s.x1) != abs(s.y2-s.y1)) || (abs(s.y3-s.y1) != abs(s.x2-s.x1))) return false;
  return true;
}
4)
Код:
usual.square()
Прочитайте формулировку ошибки, выданную компилятором в ответ на эту конструкцию. Подумайте.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесконечность пространства. Levsha100 Свободное общение 96 14.12.2012 00:15
Не удалось найти имя типа или пространства имен "IBM" Stilet Общие вопросы .NET 6 20.05.2012 13:23
Объявление пространства имен T@Rak0t Общие вопросы C/C++ 5 21.09.2010 09:58
Реализация игрового пространства pyhpyh Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 23.08.2010 18:29
проблема с подключением пространства имен whiskaz Помощь студентам 2 24.03.2010 22:40