Grupa II
Dobra - oto mój kod do obliczania pola trójkąta. Szczerze mówiąc radzę użyć tego jako przykładu a nie przepisywać chamsko całość bo się gość kapnie po prostu.
#include <iostream.h> #include<math.h> using namespace std; int main(int argc, char *argv[]) { float a; float h; float P; char k='l'; while(k!='w') { cout<<"Podaj wartosc a: "; cin >> a; if (a>0) { cout<<"Podaj wartosc h, opadajace na bok a: "; cin >> h; } else { cout<<"Podana wartosc jest mniejsza od zera\n"; } if (h>0) { P=(a*h)*0.5; } else { cout<<"Podana wartość jest mniejsza od zera\n"; } cout<< "Pole to: "<< P<<endl ; cout<<"Podaj k żeby zakonczyc"; cin>>k; } system("pause"); }
Offline
Dla mnie trochę popierdoliłeś, bo jak wpisuję ujemna wartość to oprócz komunikatu wyświetla się wartość pola.
Zamiast tego jebnąłem 2x while, łatwiejsze i bardziej przejrzyste. (tylko się nie moge oduczyć pisania /n zamiast endl )
#include <iostream.h> using namespace std; int main() { cout << "Podaj a" << endl << endl; float a; cin >> a; while (a<=0) { cout << "Bok nie moze byc mniejszy lub rowny 0!" << endl << endl; cout << "Podaj ponownie wartosc a" << endl << endl; cin >> a; } cout << "Podaj h" << endl << endl; float h; cin >> h; while (h<=0) { cout << "Wysokosc nie moze byc mniejsza lub rowna 0!" << endl << endl; cout << "Podaj ponownie wartosc h" << endl << endl; cin >> h; } float p; p= a * h * 0.5; cout << "Pole trojkata jest rowne " << p << endl << endl; }
ZADAŁ COŚ JESZCZE PRÓCZ TEGO ?
Ostatnio edytowany przez Ślepy (2010-03-14 22:11:37)
Offline
Ok, poprawiłem.
Jest tutaj warunek w warunku. Twoja opcja jest łatwiejsza, ale ta też działa.
#include <iostream.h> #include<math.h> using namespace std; int main(int argc, char *argv[]) { float a; float h; float P; char k='l'; while(k!='w') { cout<<"Podaj wartosc a: "; cin >> a; if (a>0) { cout<<"Podaj wartosc h, opadajace na bok a: "; cin >> h; if (h>0) { P=(a*h)*0.5; cout<< "Pole to: "<< P<<endl ; } else { cout<<"Podana wartość jest mniejsza od zera\n"; } } else { cout<<"Podana wartosc jest mniejsza od zera\n"; } cout<<"Podaj k żeby zakonczyc"; cin>>k; } system("pause"); }
PS zadał jeszcze rozwiązywanie trójmianu kwadratowego - temat wyżej (niżej)
Offline
ten Twoj program Dawid, z trojkatem, zostawia wiele do zyczenia ja zrobilem go za pomoca "do while", jak widac mozna to zrobic na kilka sposobów, jest w czym wybierac...
#include <iostream.h> //biblioteka wejscia/wyjscia main () //glowna funkcja progrmu { float a,h; //zmienne globalne float pole; do //petla, dopoki a nie bedzie >=0 to petla sie powtarza { cout<<"Podaj podstawe a = "; cin>>a; if (a<=0) cout<<"Podstawa jest mniejsza lub rowna zero!\nPodaj podstawe wieksza od zera\n"; } while(a <= 0); // tu jest spelniony warunek i wychodzi z petli do //podobnie jak z a { cout<<"Podaj wysokosc h = "; cin>>h; if (h<=0) cout<<"wysokosc jest mniejsza lub rowna zero!\nPodaj wysokosc wieksza od zera\n"; } while(h <= 0); // tu jest spelniony warunek i wychodzi z petli pole=a*h*0.5; //obliczamy pole trojkata cout<<"pole tojkata jest rowne = "<<pole<<endl; system("pause"); //funkcja ktora pozwala zobaczyc wynik }
Ostatnio edytowany przez Damian (2010-03-15 23:57:22)
Offline