Witam,
Nie jestem profesjonalnym programistą (jestem na poziomie drugiej klasy technikum), ale stworzyłem program, który sprawdza czy dzięki podanym przeze mnie liczbom, program sprawdzi czy można stworzyć z tych długości trójkąt i nazywa ten trójkąt (tzn. ostrokątny, rozwartokątny, itd.). I tu występuje problem, a mianowicie gdy podam boki, to na końcu programu dodaje znaki, które oryginalnie w kodzie nie znajdują się.
#include <iostream>
#include <cstdio>
using namespace std;
int a,b,c;
char trojkat ()
{
if(a<b+c&&b<a+c&&c<b+a)
cout<<"Mozna stworzyc trojkat"<<endl;
else{
cout<<"Nie mozna stworzyc trojkata"<<endl;
}
}
char trojkat_prostokatny()
{
if((a*a)+(b*b)==c*c)
cout<<"Trojkat jest prostokatny";
}
char trojkat_ostrokatny()
{
if((a*a)+(b*b)>c*c&&(b*b)+(c*c)>a*a&&(c*c)+(a*a)>b*b)
cout<<"Trojkat jest ostrokatny"<<endl;
}
char trojkat_rozwartokatny()
{
if(a<b+c&&b<a+c&&c<b+a&&(a*a)+(b*b)<c*c)
cout<<"Trojkat jest rozwartokatny";
}
char trojkat_rownoramienny(){
if(a<b+c&&b<a+c&&c<b+a&&b==c)
cout<<"Trojkat jest rownoramienny";
}
int main()
{
cout<<"Podaj dlugosc podstawy : "<<endl;
cin>>a;
cout<<"Podaj dlugosc jednego ramienia : "<<endl;
cin>>b;
cout<<"Podaj dlugosc drugiego ramienia : "<<endl;
cin>>c;
if(a==0||b==0||c==0)
{
cout<<"Bok nie moze miec zerowej dlugosci"<<endl;
}
if (a==0&&b==0&&c==0)
{
cout<<"Nie moze byc 0 :)"<<endl;
return 0;
}
cout<<trojkat();
cout<<trojkat_prostokatny();
cout<<trojkat_ostrokatny();
cout<<trojkat_rozwartokatny();
cout<<trojkat_rownoramienny();
getchar();
return 0;
}
Jak pisałem, nie jestem profesjonalistą i coś tam może być źle. A i używam programu CodeBlocks 13.12. Chciałbym pozbyć się tych znaków. Dołączam również screena, na którym jest działający program.