[ alfa-pro @ 05.05.2013. 14:32 ] @
E ovako sada dali ja toliko gresim u matematici koliko se secam ali reko bih da sam u pravu. Radim zadatak iz C++ izracunavanje obima Jednokrakog, Jednakostranicnog i Nejednakostranicnog trougla. Zasto sam postavio ovu temu iz razloga zato sto drugar koji se duze bavi od mene C++ -om kaze da ovaj postupak nevalja i nije tacan obim trougla... Moja definicija za ovo je: Jednakostranicni trougao je trougao kome stranice su iste duzine jel tako? Obim = A+B+C znaci da a i b i c moraju imtai iste vrednosti. Jednakokraki (dve stranice su iste a jedna se razlikuje) sto bi bilo Obim = A(5) + B(2) + C(5) Nejednakostranicni (sve stranice su razlicite) sto bi bilo Obim = A(3) + B(2) + C(5) Dali gresim u proracunu ove geometrije? Mislim nesecam se ni ja vise kad sam to ucio pre 15 godina u skoli.. Zadatak je da izracunam obim i proverim dali stranice imaju vrednost 0 (NULL) i dali su jednake. Moj kod je sledeci: Code: #include <iostream> #include <string> using namespace std; // Jednakostranicni int jedankostranicni() { // a = stranica A // b = stranica B // c = stranica C // o = obim trougla int a, b, c, o; std::cout << "Jednakostranicni trougao" << std::endl; std::cout << "-----------------------------------------------------" << std::endl; std::cout << "A = "; std::cin >> a; std::cout << "B = "; std::cin >> b; std::cout << "C = "; std::cin >> c; // Proveri dali su stranice validne if ((a == 0) || (b == 0) || (c == 0)) { std::cout << "ERROR: Stranica sa nula vrednosti nije ispravna" << std::endl; } // Proveri jednakost stranica else if ((a != b) || (a != c) || (b != a) || (b != c) || (c != a) || (c != b)) { std::cout << "ERROR: Sve stranice moraju biti iste duzine " << std::endl; } // Ako je sve uredu izracunaj obim trougla else { // obim o = a + b + c; std::cout << "Obim Jednakostranicnog truugla je = " << o << std::endl; } return o; } int main() { std::cout << "*****************************************************************" << std::endl; std::cout << "Tip Trougla" << std::endl; std::cout << "*****************************************************************" << std::endl; std::cout << "1: Jednakostranicni (sve stranice su iste duzine)" << std::endl; std::cout << "2: Jednakokraki (dve stranice su iste a jedna se razlikuje)" << std::endl; std::cout << "3: Nejednakostranicni (sve stranice su razlicite)" << std::endl; std::cout << "-----------------------------------------------------------------" << std::endl; std::cout << "Unesi tip : "; std::cin >> tip; // Proveri tip switch (tip) { case 1: return jedankostranicni(); break; case 2: std::cout << "Jednakokraki trougao"; break; case 3: std::cout << "Nejednakostranicni trougao"; break; default: std::cout << "ERROR: Nepoznati tip" << std::endl; } return 0; } Samo sam stavio za jednakostranicni trougao jer je kod ogroman. |