Этому посту полагается иметь тэги "говно" и "С++". Однако я не буду их ставить, поскольку надеюсь не так уж часто об этом писать.
В универе у нас идет курс программирования на С++.
Пишем прожки в Борланде 3.1. Но это отдельная тема.
Лаба №2 называется "Условная операция и множественный выбор".
В теории к лабе №2 описан синтаксис тернарной операции ( ?: ) и свитча (switch).
Задание:
Построить [чо?!] программу, которая вводит [эти придурки имели в виду, что юзер вводит их с клавиатуры] координаты точки x, у и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область.
Я написала такую прогу:
#include
int main()
{
float x,y;
cout<<"Insert x and y: ";
cin>>x>>y;
if (x<0) x=-x;
if (y<0) y=-y;
if ( y>1 || x>1 || y {
cout< }
else
{
cout< }
}
Но нет! Оказывается, ифами эту прогу писать нельзя! Всем плевать, что даже в названии лабы фигурирует "условная операция".
Мол, использовать надо только то, что есть в теории к лабе.
Я сломала себе моск, но за 10 минут написала вот такое:
#include
#include
int main()
{
float x,y;
int t,p,k,n;
cout<<"Insert x and y: ";
cin>>x>>y;
x=(x<0) ? -x : x;
y=(y<0) ? -y : y;
t=(x>1) ? 0 : 1;
p=(y>1) ? 0 : 1;
k=(y>x) ? 0 : 1;
n=t+p+k;
switch (n)
{
case 3 : cout< default : cout< }
getch();
}
Это же ужасно! Я не понимаю, зачем они заставляют нас такое делать!
Замечания приветствуются, поскольку программирование я не знаю вообще.