All pastes #1863404 Raw Edit

Pajonk znowu

public cpp v1 · immutable
#1863404 ·published 2010-04-16 15:34 UTC
rendered paste body
//#include <stdio.h>  //niepotrzebne#include <cmath>  //jesli uzywamy bibliotek typu C w Cpp, to robimy tak, a nie math.h (to samo np. przy stringach - cstring, a nie string.h)#include <iostream>using namespace std;double rad(double k);double stopnie (double k);int main(){  int n,powrot;  const double g = 9.81;  while ( n != 5 )  {    cout << " Wybierz zadanie:\n 1  -  Rzut ukosny \n 2  -  Rzut poziomy \n 3  -  Rzut pionowy \n 4  -  Spadek swobodny \n 5  -  Wyjdz z programu \n";    cin >> n ;    switch( n )    {      case 1:        while ( powrot)        {          double kat, v, z, h, t;          cout << " Wybierz sposob liczenia:\n\n 1   -   Oblicza:  maks. wysokosc, zasieg rzutu, czas lotu \n \tPotrzebne dane: kat rzutu, predkosc \n\n"            " 2   -   Oblicza:  kat rzutu, maks. wysokosc, czas lotu \n \tPotrzebne dane: prednosc, zasieg\n\n"            " 3   -   Oblicza:  kat, maks. wysokosc, zasieg \n \tPotrzebne dane: predkosc, czas lotu\n\n"            " 4   -   Oblicza:  kat, zasieg, czas lotu \n \tPotrzebne dane: predkosc, maks. wysokosc\n\n"            " 5   -   Oblicza:  predkosc,  czas lotu, zasieg rzutu \n \tPotrzebne dane: kat rzutu, maks. wysokosc\n\n"            " 6   -   Oblicza:  predkosc, maks. wysokosc, zasieg \n \tPotrzebne dane: kat rzutu, czas lotu\n\n"            " 7   -   Oblicza:  predkosc, maks. wysokosc, czas lotu \n \tPotrzebne dane: kat rzutu, zasieg \n\n"            " 8   -   Powrot do Menu\n\n  ";          int x;          cin >> x;          switch (x)          {            case 1:              {                cout << "\nPodaj kat k =  ";                cin >> kat;                cout << "\nPodaj predkosc v0 w m/s: v0 =  ";                cin >> v;                kat = rad(kat);                h = pow((v*sin(kat)),2)/(2*g); // maks. wysokos na jak si wzniesie ciao                z = ((v*v)*sin(2*kat))/g; // zasieg rzutu                t = 2*v*sin(kat)/g; // Czas lotu ciaa                kat = stopnie(kat);                cout<<"\nObiekt rzucony \npod katem " << kat << " stopni z predkoscia " << v << "m/s \nosiagnie wysokosc " << h <<"m lecac na odleglosc "                  << z << "m w czasie " << t <<"s\n\n";              }                            break;            case 2:              {                cout << "\n Podaj predkosc v = ";                cin >> v ;                cout << "\n Podaj zasieg  z = ";                cin >> z;                kat = asin(z*g/(v*v))/2;                h = pow((v*sin(kat)),2)/(2*g);                t = 2*v*sin(kat)/g;                kat = stopnie(kat);                cout<<"\nAby obiekt poruszajacy sie z predkoscia "<< v << "m/s osiagnal odleglosc "<< z << "m \n\n"                  "musi zostac rzucony pod katem "<< kat<<" stopni na wysokosc " << h <<"m i upasc po " << t <<"s\n\n\n" ;              }                            break;            case 3:              {                cout << "\n Podaj predkosc v = ";                cin >> v;                cout << "\n Podaj czas lotu t = ";                cin >> t;                kat = asin(t*g/(2*v));                h = pow((v*sin(kat)),2)/(2*g);                z = ((v*v)*sin(2*kat))/g;                kat = stopnie(kat);                cout<<"\nAby obiekt poruszajacy sie z predkoscia " << v << "m/s upadl po " << t << "s \n\n"                  "musi zostac rzucony pod katem " << kat << " stopni na wysokosc " << h <<"m i odleglosc " << z <<"m\n\n\n" ;              }              break;                        case 4:              {                cout << "\n Podaj predkosc v = ";                cin >> v;                cout << "\n Podaj maks.wysokosc h = ";                cin >> h;                kat = pow(asin(2*g*h/(v*v)),2);                t = 2*v*sin(kat)/g;                z = ((v*v)*sin(2*kat))/g;                kat = stopnie(kat);                cout<<"\n\nAby obiekt z predkoscia " << v << "m/s osiagnal wysokosc " << h << "m \n\n"                  "musi zostac rzucony pod katem " << kat << " stopni i upasc po czasie " << t <<"s w odleglosci " << z <<"m\n\n\n" ;              }              break;                          case 5:              {                cout << "\n Podaj kat k =  ";                cin >> kat ;                cout << "\n Podaj maks.wysokosc h = ";                cin >> h;                kat = rad(kat);                v = sqrt(2*h*g/pow(sin(kat),2));                t = 2*v*sin(kat)/g;                z = ((v*v)*sin(2*kat))/g;                kat = stopnie(kat);                cout<<"\n\nAby obiekt rzucony pod katem " << kat << " stopni osiagnal wysokosc " << h << "m \nmusi poruszac sie z predkoscia " << v << "m/s i upasc po czasie " << t <<"s w odleglosci " << z <<"m\n" ;              }                            break;            case 6:              {                cout << "\n Podaj kat k =  ";                cin >> kat ;                cout << "\n Podaj czas lotu t = ";                cin >> t;                kat = rad(kat);                v = t*g/(2*sin(kat));                h = pow((v*sin(kat)),2)/(2*g);                z = ((v*v)*sin(2*kat))/g;                cout<<"\n\nAby obiekt rzucony pod katem " << kat << "stopni upadl po czasie " << t << "s \n\nmusi poruszac sie z predkoscia "<< v <<"m/s, osiagnac wysokosc " << h <<"m i doleciec odleglosc " << z <<"m\n";              }                            break;            case 7:              {                cout << "\n Podaj kat k =  ";                cin >> kat;                cout << "\n Podaj zasieg rzutu z = ";                cin >> z;                kat = rad(kat);                v = sqrt(z*g/(sin(2*kat)));                h = pow((v*sin(kat)),2)/(2*g);                t = 2*v*sin(kat)/g;                cout<<"\n\nAby obiekt rzucony pod katem " << kat << " stopni upadl w odleglosci " << z <<"m \nmusi poruszac sie z predkoscia "<< v <<"m/s, osiagnac wysokosc " << h <<" m i upasc po " << t <<" s\n\n\n";              }              break;                        case 8:              {                powrot = 0;              }              break;          }        }        break;            case 2 :        {          double t, z, h, v ;          cout << "\n Podaj wysokosc h = ";          cin >>  h ;          cout << "\n Podaj v  v= ";          cin >> v ;          t = sqrt(2*h/g);          z = v * sqrt(2*h/g);          cout << " t = " << t << " s \n z = " << z << " m \n";          break;        }      case 3 :        {          double tw, tr, h0, hm, v0 ;          cout << "\n Podaj prdkosc poczatkowa v0 = ";          cin >> v0;          cout << " \n Podaj wysokosc poczatkowa h0 = ";          cin >> h0;          tw = v0/g;          hm = h0+(v0*v0)/(2*g);          tr = 2*tw;          cout << "tw = " << tw << " s \n hm = " << hm << "m \n tr = " << tr <<"s\n";          break;        }        case 4 :        {          double h0, t;          int x;          cout << " Co chcesz obliczyc? \n 1  -  Czas swobodnego spadania \n 2  -  Wysokosc poczatkowa \n";          cin >> x;          switch (x)          {            case 1 :              {                cout << "\n Podaj wysokosc poczatkowa h0 = ";                cin >> h0;                t = sqrt((2*h0)/g );                cout << " t = " << t << "s\n";                break;              }            case 2 :              {                cout << "\n Podaj czas swobodnego spadania t = ";                cin >> t;                h0 = g*(t*t)/2;                cout << "h0 = " << h0 << "m\n";                break;              }            default :              cout << "Wprowadzono nieprawidlowe dane, sprobuj jeszcze raz";              continue;          }        }        case 5 :        break;                default: cout << "Wprowadzono nieprawidlowe dane, sprobuj jeszcze raz";                 break;    }  }}double rad(double k){return k*3.14/180;}double stopnie( double k) {return k*180/3.14;}