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

Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 - C++

Восстановить пароль Регистрация
 
GraBLYA
-46 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
30.03.2013, 00:30     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #1
Решил наворотить свою главную функцию что бы она рисовала квадрат с соответствующими сторонами при переходе по case 2. Выписал функцию как глобальную, но она в главное все равно не выполняется, судя по всему функция не вызывается т.к. компилятор не ругается и выполняет главную функцию, но не выводит фигуру.
Где именно моя ошибка?

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
#include <iostream.h>
#include <math.h>
#include <locale.h>
#include <iomanip.h>
 
 
 
int main ()
{
    setlocale(LC_ALL, "rus");
    
 int upr; // переменный для управления switch 
 double aT,bT,cT,sT, pT,ppT; // для расчетов с треугольником
while (true)
{
cout<< ("\nВведите соответствующие условное обозначение ")
<< ("\nдля перехода к нужным Вам вычислениям ")
<<( "\n\n 1 - треугольник\t 2 - прямоугольник\n")
<<(" 3 - круг\t \t4 - трапеция\n\n ")
 
<< "Для выхода из программы введите -1 "<<endl;
 
cin>> upr;
if(upr != -1)
{
    switch (upr)
{
    case 1:
{
    cout<<("Вы выбрали функцию расчета площади треугольника!\n")
    <<("Введите 3 стороны треугольника:")
    << "\n a:";
    cin>> aT;
    cout <<("\nb: ");
    cin>> bT;
    cout<< "\nc: ";
    cin>> cT;
    pT=aT+bT+cT;
    ppT=pT/2;
    sT=sqrt(ppT*(ppT-aT)*(ppT-bT)*(ppT-cT));
    cout<< ("Периметр равен: ")<< pT << (" Площадь треугольника: ")<< sT<< endl;
break;
    }
    
case 2:
{
    cout<< "Вы выбрали функцию расчета площади прямоугольника! "
    << "Введи значение сторон a , b"<<endl;
    double aP,bP; cin>>aP>>bP;
    double SP=aP*bP;
    cout<< "Площадь прямоугольника: "<< SP<< endl;
    if (aP==bP)
    int paintSQR (aP);
    
}
break;
case 3: 
{
    cout<< " Вы выбрали функцию для расчета площади круга!"
    <<"Введите значение радиуса: ";
    double R, SO; cin>>R;
    SO=3.14*pow(R,2);
    cout<< "Площадь круга: "<< SO<<endl;
}
break;
case 4:
{
    double aU,bU,hU,SU;
    cout<< "Вы выбрали функцию расчета площади трапеции!"<<endl
    << "Введите значение сторон a , b и высота h соответственно: ";
    cin>> aU
    >>bU
    >> hU;
    SU=((aU+bU)/2)*hU;
    cout<< " Площадь трапеции: "<< SU<< endl;
    break;
}
default: cout<< "Вы ввели неверное значение\n"<< endl;
}               // закрытие тела  switch 
}               // закрытие оператора if при положительных результатах
else
{               // Открыт else
    cout<<" Программа завершена."<<endl;
break;
}               // закрытие значение else  
}               // закрытие цикла WHILE 
 
    return 0;  
    
}            // закрытие главной функции
 int paintSQR (int a)
    {
int l,w,counter,counter2, counter3,STOPcou;
{cout<<setw(6)<<"Любые недопустимые для выполнения введённые\n"
<<" значения приведут к завершению программы,\n"
<<"      в том числе дробные числа\n"
<<setw(20)<<"\*exit*";
cout<<"\n\nВведите размер сторон квадрата: "; STOPcou=a;
if (a>=1)
{
if (a>=2)
{
    
for (counter=1;counter<=STOPcou;counter++) // верхняя сторона
{
cout<<"*";
}
l=a-2;
for (counter2=1;counter2<=l;counter2++)
{
cout<<"\n*" ;
for (counter3=1;counter3<=l;counter3++)
cout<<" ";
cout<<"*";
}
cout<<endl;
for (counter=1;counter<=STOPcou;counter++) // нижняя сторона
cout<<"*";
}               // закрытие If (a>=2)
else 
cout<<"*";
}               // закрытие if (a>=1)
else 
cout<<endl;
return 0;
}
    } //Закрытие функции paintSQR
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 00:30     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2
Посмотрите здесь:

C++ Не могу найти ошибку в программе рисующей линию из символов
C++ Выяснить, можно ли прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами c, d
Программа виснет при переходе в функцию function C++
Составить программу с использованием функции, которая вычисляет высоты треугольника со сторонами а, b, с C++
Case switch и функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
supra7sky
 Аватар для supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
30.03.2013, 00:40     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #2
Все очень просто. Нету прототипа.
Перед вызовом ф-ии должно находится ее объявление.
То есть тоже что и при определении только после скобок точку с запятой дописать.
C++
1
2
3
 int paintSQR (int a);
 
 int main ()
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.03.2013, 00:47     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #3
Цитата Сообщение от GraBLYA Посмотреть сообщение
т.к. компилятор не ругается
Что за среда такая?
GraBLYA
-46 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 62
03.04.2013, 00:11  [ТС]     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Что за среда такая?
С-Free 5, вроде все нормально было, но настал походу 30 день и она просит активации. Поставил Visual 2010 и сразу же понял какое я бревно. Очень сложно перейти от простейшей среды в учебных целях к сложной массивной среде, которая буквально отсекает все попытку использовать Олд-скульные дерективы даже, но ведь отчеты все должны соответствовать условиям. Подскажите халявную среду, что бы не ругалась на .h и Си одновременно поддерживала. Спасибо за ответ, но пока что не могу проверить т.к. пытаюсь пересесть на Visual, я понимаю, что в любом случае это надо будет сделать, но сейчас мне нужно лабу сдать и морочиться с апгрейдом нету времени.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.04.2013, 01:55     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #5
Цитата Сообщение от GraBLYA Посмотреть сообщение
Подскажите халявную среду, что бы не ругалась на .h и Си одновременно поддерживала
Смотря какие .h. На какие конкретно ругается? Можно проверить на Code::Blocks. Там, в свойствах компилятора, можно выставлять флаги соответствия разным стандартам.
supra7sky
 Аватар для supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
03.04.2013, 13:59     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2 #6
Цитата Сообщение от GraBLYA Посмотреть сообщение
С-Free 5, вроде все нормально было, но настал походу 30 день и она просит активации. Поставил Visual 2010 и сразу же понял какое я бревно. Очень сложно перейти от простейшей среды в учебных целях к сложной массивной среде, которая буквально отсекает все попытку использовать Олд-скульные дерективы даже, но ведь отчеты все должны соответствовать условиям. Подскажите халявную среду, что бы не ругалась на .h и Си одновременно поддерживала. Спасибо за ответ, но пока что не могу проверить т.к. пытаюсь пересесть на Visual, я понимаю, что в любом случае это надо будет сделать, но сейчас мне нужно лабу сдать и морочиться с апгрейдом нету времени.
Где это запрещается следовать Standart C++ ? Возможно метод. материал устаревший, но это не значит что нужно следовать строго ему. Все что новее никогда не будет осуждаться. Только наоборот.
Yandex
Объявления
03.04.2013, 13:59     Вызов функции, рисующей квадрат с соответствующими сторонами при переходе по case 2
Ответ Создать тему
Опции темы

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