Program pro parametry trojúhelníka – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Program pro parametry trojúhelníka – C / C++ – Fórum – Programujte.comProgram pro parametry trojúhelníka – C / C++ – Fórum – Programujte.com

 

13. 2. 2016   #1
-
0
-

Zdravím všechny,

mám za úkol napsat program, který pro trajúhelník zadaný velikostmi svých stran vypíše jeho další parametry.
Jsem úplný začátečník a C++ mi ve škole nikdy moc nešlo, proto vás prosím o pomoc, něco už jsem se pokusil napsat.
Vstupem mají být tři kladná desetinná čísla pro velikost stran a,b,c

Výstupem má být na příklad toto:
Zadejte velikost stran a b c:
5 4 3
Trojuhelnik neni ani rovnostrany ani rovnorameny.
Trojuhelnik je pravouhly.
Uhel alfa: 1,5708 rad = 90 s 00´00,00´´
Uhel beta: 0,9273 rad = 53 s 07´48,37´´
Uhel gama: 0,6435 rad = 36 s 52´11,63´´
Obvod: 12,0000
Obsah: 6,0000
Polomer kruznice vepsane: 1,0000
Polomer kruznice opsane: 2,5000
vyska va: 2,4000
vyska vb: 3,0000
vyska vc: 4,0000

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


if (round(als)== 60) {alfam++;als=0;}
if (round(bes)== 60) {betam++;bes=0;}
if (round(ges)== 60) {gamam++;ges=0;}

double Uhly (double a, double b, double c)      // alfa na stupně
double alfast = AngleA (a,b,c) *180/M_PI
double betast = AngleB (a,b,c) *180/M_PI
double gamast = AngleC (a,b,c) *180/M_PI

double Existence (double a, double b, double c)


double AngleA (double a, double b, double c)
double alfa = acos((b*b+c*c-a*a)/(2*b*c));

double AngleB (double a, double b, double c)
double beta = acos((a*a+c*c-b*b)/(2*a*c));

double AngleC (double a, double b, double c)
aouble gama = acos((2*b*a)); return (gama);

else
if (existence a,b,c) == 1 extra (a,b,c);


int main (void)
{
    double a, double b, double c;
    printf ("zadejte velikost vsech stran a,b,c:\n");
    if (scanf("%lf%lf%lf",&a,&b,&c) !=3 || (a <=0 || b <=0 || c <=0));
    printf ("nespravny vstup.\n");
    }


system("PAUSE");
Nahlásit jako SPAM
IP: 78.80.10.–
Doomista+1
Stálý člen
14. 2. 2016   #2
-
0
-

Tak vzhledem k tomu, že používáš C++ a ne C, tak doporučuju nahradit stdio.h knihovnou iostream a používat objekty std::cout na vypisování a std::cin na vstup. Pokud se ti ale lépe pracuje se scanf a printf, tak u toho určitě zatím můžeš zůstat.

Vidím, že jsi se pokusil vytvořit haldu funkcí, z nichž každá bude něco počítat, dobře. Nicméně tělo funkce (všechny ty příkazy, co se mají provést) musí být zavřené ve složených závorkách podobně jako je main, takže budeš chtít něco ve smyslu: 

double AngleC (double a, double b, double c){
double gama = acos((2*b*a));
return gama;
}

Je fajn, že jsi si vědom nutnosti přepočtu radiánů na stupně, ale klidně to můžeš vrazit do funkcí AngleA apod přímo.

Všechny ty ify mimo tělo jakékoli funkce nedávají smysl, takže je někam vhodně umísti.

Základní kostra programu s cout a cin by vypadala třeba takto:
#include <iostream> // IO
#include <cmath> // C++ verze math.h

using namespace std;

bool isTriangle(double a, double b, double c){
    if(a + b >  c && a + c > b && b + c > a) return true;
return false;
}

int main(){
double a, b, c;

cout << "Enter side a: ";
cin >> a;
cout << "Enter side b: ";
cin >> b;
cout << "Enter side c: ";
cin >> c;
    if(isTriangle(a,b,c)){
    // je to trojuhelnik
    // volame ostatní funkce pro vypocty
    }
    else{
    cout << "Sides << a << ", " << b << ", " << c << " cannot be sides of a triangle.\n";
    }

return 0; // koncime program bez erroru
}

PS.: Pro druhý zdroják jsem nepoužil tu věc na psaní kódu, protože v IE celej ten box na psaní žalostně nefunguje a já nemám jiný prohlížeč. Snad tě to i tak někam popostrčí

Nahlásit jako SPAM
IP: 2a00:1028:83a0:33ea:1d2d:...–
Na vše stačí iostream...
15. 2. 2016   #3
-
0
-

#2 Doomista
Děkuju moc!!!  zkusím to upravit :)

Nahlásit jako SPAM
IP: 78.80.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Program v C - parametry — založil sdfa

Dávka pro program — založil Kiki Lopez

Program v C pro PIC18F452 — založil hynman

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý