Loading...
kmilewa avatar kmilewa 2 Точки

C++ Лице на правоъгълник

Здравейте!

Бихте ли споделили вашите решения относно точка 2, на задачата за намиране на лицето на правоъгълник?

По конкретно ме интересува как точно направихте проверката? (Бел.р.: "2. Допишете програмата по-горе, за да пресмята лицето на правоъгълника и да го проверява.")

Благодаря!

Тагове:
0
Programming Basics
RuNNeR4142 avatar RuNNeR4142 396 Точки

може ли пълното условие на задачата?

0
kmilewa avatar kmilewa 2 Точки

Разбира се.

"Напишете C++ програма, която прочита от конзолата две числа a и b, въведени от потребителя, пресмята и
отпечатва лицето на правоъгълник със страни a и b.

Направете конзолна C++ програма. За да прочетете двете числа, използвайте следния код:
#include<iostream>;
using namespace std;
int main() {
int a;
int h;
cin << a << h;
// TODO: Calculate area
return 0;
}

2. Допишете програмата по-горе, за да пресмята лицето на правоъгълника и да го проверява.
3. Тествайте решението си в judge системата."

0
03/06/2019 22:24:27
BobyTopalova avatar BobyTopalova 26 Точки

# include <iostream>
using namespace std;
int main(){
   int sideA;
   int sideB;
   cin>> sideA;
   cin >> sideB;
   cout<< sideA*sideB<< endl;
return(0);
}

0
dmartinov avatar dmartinov 37 Точки

Тъй де, но това е само първата част на задачата. Демек пресмятането на лицето - дефинират се променливите за страна А и страна Б и после се принтва резултата от А*Б. Второто условие обаче е да се направи проверка и тук трябва да допълним условието, което колегата е дал по-горе, тъй като в него са зададени стойности, а именно 3 варианта:

a

b

area

2

7

14

7

8

56

12

5

60

 

Та след като имаме конкретни стойности, а една проверка изисква да знаем крайния резултат, то следва да проверим дали нашите изходни стойности ще попадат в някой от 3-те варианта - 14, 56 или 60 и съответно да връща true или false. Например нещо от сорта на IF, което обаче е функция, която в началната лекция не беше засегната и не съм сигурен - аз ли бъркам дефиницията на "проверка" или просто това е начин да се поинтересуваме от нещо допълнително :)

Иначе трябва да е нещо от сорта на:

 

#include <iostream>
using namespace std;

int main(){

    double a, b; {
    cout << "Please enter length of side A in cm:" << endl;
    cin >> a;
    cout << "Please enter length of side B in cm:" << endl;
    cin >> b;
    }

    double i = a * b;
    cout << "Area is " << i << " square cm" << endl;

    if (i == 14) {
        cout << "Result is true" << endl;
        }
    else {
        if (i == 56) {
            cout << "Result is true!" << endl;
            }
        else {
            if (i == 60)
                cout << "Result is true" << endl;
            else {
                cout << "Result is false. Area should be 15, 56 or 60" << endl;
            }
        }
    }

return 0;
}
 

С единственото условие, че judge няма да приеме това зради текста, но на мен така ми е по-пригледно, а и това е просто пример :) Освен това вместо double може да се ползва int тъй като по задание числата са цели. Аз го направих с double просто защото исках да имам възможност да вкарвам и стойности различни от цели числа :)

0
05/06/2019 11:29:11
kmilewa avatar kmilewa 2 Точки

Дааа, това вече е друго нещо. Аз реших, че проверката трябва да представлява не точно дали тези числа се използват, а като цяло. Поради което направих while цикъл, който да провери дали не се използват отрицателни стойности или 0 на a, b. Но твоето решение също много  ми допада :) Благодаря!

0
05/06/2019 16:19:54
dmartinov avatar dmartinov 37 Точки

Да, твоят подход също е интересен и тук нещата наистина се свеждат до разбирането за "проверка". Тааа, при наличието на предварително зададени параметри аз предположих, че става въпрос да проверим дали са изпълнени и затова подходих по този начин. Интересно ми е обаче да видя и твоето решение - би ли го показала? :)

0
BobyTopalova avatar BobyTopalova 26 Точки

При дебъгване е по-добре декларацията на  a, b да бъде на отделен ред. 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.