cześć mam taki programik, chodzi mi o to że jak ktoś nie ma jakieś liczby do wzory to zamiast tego wpisał przysłowiowe x, Problem jednak się pojawia bo kompilator oczekuje liczby a nie litery jak zrobić aby oczekwiał jednej litery "X" lub cyfr ? Oczywiście program na dole jest błedny ale co powinienem teraz zrobic ? Jakiej funkcji użyc ? Aby gdy użytkownik wpisze znak X z klawiatury zrobiły się if'y ?
float dlugoscPodstawy, dlugoscPrzeciwprostokatnej, wysokosc,pole,obwod,dlugoscPrzeciwprostokatnejKwadrat, dlugoscPodstawyKwadrat,wysokoscKwadrat;
cout<<"Witaj, jezeli nie bedziesz mial jakiejs dlugosci wpisz taki znak z duzej litery: \"X\" "<<endl;
cout<<"Podaj dlugosc przeciprostokatnej";
cin>>dlugoscPrzeciwprostokatnej;
cout<<"Podaj dlugosc podstawy: ";
cin>>dlugoscPodstawy;
cout<<"Podaj wysokosc trojkata: ";
cin>>wysokosc;
if (dlugoscPrzeciwprostokatnej=="X")
{
dlugoscPrzeciwprostokatnejKwadrat=(wysokosc*wysokosc)+(dlugoscPodstawy*dlugoscPodstawy);
dlugoscPrzeciwprostokatnej=pow(dlugoscPrzeciwprostokatnejKwadrat,1.0/2.0);
}
if (dlugoscPodstawy=="X")
{
dlugoscPodstawyKwadrat=(dlugoscPrzeciwprostokatnej*dlugoscPrzeciwprostokatnej)-(wysokosc*wysokosc);
dlugoscPodstawy=pow(dlugoscPodstawyKwadrat,1.0/2.0);
}
if (wysokosc=="X")
{
wysokoscKwadrat=(dlugoscPrzeciwprostokatnej*dlugoscPrzeciwprostokatnej)-(dlugoscPodstawy*dlugoscPodstawy);
wysokosc=pow(wysokoscKwadrat,1.0/2.0);
}
pole=(dlugoscPodstawy*wysokosc)/2;
obwod=dlugoscPodstawy+wysokosc+dlugoscPrzeciwprostokatnej;
cout<<"Pole tego trojkata jest rowne: "<<pole<<endl;
cout<<"Obwod tego trojkata jest rowny: "<<obwod<<endl;