Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak przerobić mój kod, aby wykorzystywał funkcje?

Ostatnio zmodyfikowano 2012-04-20 14:57
Autor Wiadomość
Adams911
Temat założony przez niniejszego użytkownika
Jak przerobić mój kod, aby wykorzystywał funkcje?
» 2012-04-20 10:36:14
Jak przerobić ten program na program wykorzystujący funkcje.
C/C++
#include<iostream>
#include<cmath>
int main()

{
    using namespace std;
    int a, b, x, c, del, del1, x1, x2, x0, p, h, ob, liczba;
   
   
    cout << "Wybierz: 1-Figura, 2-Bryla: ";
    cin >> liczba;
    switch( liczba )
    {
       
    case 1:
       
        cout << "Wybierz funkcja: 1-kwadrat, 2-prostokat, 3-rownoleglobok: ";
        cin >> liczba;
        switch( liczba )
        {
        case 1:
           
            cout << "CO chcesz liczyć 1-pole, 2-obwod: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                p = a * a;
                cout << "Pole rowna jest: " << p;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
                ob = 4 * a;
                cout << "Obwod rowna sie: " << ob;
               
                break;
            }
            break;
        case 2:
           
            cout << "CO chcesz liczyc 1-pole, 2-obwod: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj bok b: ";
                cin >> b;
                p = a * b;
                cout << "Pole rowna sie: " << p;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj bok b: ";
                cin >> b;
                ob = 2 * a + 2 * b;
                cout << "Obwod rowna sie: " << ob;
               
                break;
            }
        case 3:
           
            cout << "CO chcesz liczyć 1-pole, 2-obwod: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj wysokosc h: ";
                cin >> h;
                p = a * h;
                cout << "Pole rowna jest: " << p;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj wysokosc b: ";
                cin >> b;
                ob = 2 * a + 2 * b;
                cout << "Obwod rowna sie: " << ob;
               
                break;
            }
            break;
        }
    case 2:
        cout << "Wybierz funkcja: 1-prostopoadloscian, 2-szescian, 3-ostroslup: ";
        cin >> liczba;
        switch( liczba )
        {
        case 1:
           
            cout << "CO chcesz liczyć 1-pole, 2-obwód: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj bok b: ";
                cin >> b;
                cout << "Podaj wysokosc h: ";
                cin >> h;
                p =( 2 * a * b ) +( 2 * a * h ) +( 2 * b * h );
                cout << "Pole rowna sie: " << p;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj bok b: ";
                cin >> b;
                cout << "Podaj wysokosc h: ";
                cin >> h;
                ob = a * b * h;
                cout << "Obwod rowna sie: " << ob;
               
                break;
            }
            break;
        case 2:
           
            cout << "CO chcesz liczyć 1-pole, 2-obwod: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                p = 6 *( a * a );
                cout << "Pole rowna sie: " << p;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
                ob = a * a * a;
                cout << "Obwod rowna sie: " << ob;
               
                break;
            }
            break;
        case 3:
           
            cout << "CO chcesz liczyć 1-pole, 2-obwod: ";
            cin >> liczba;
            switch( liczba )
            {
            case 1:
               
                cout << "Podaj bok a: ";
                cin >> a;
                cout << "Podaj wysokosc boku: ";
                cin >> b;
               
                cout << "Podaj wysokosc h: ";
                cin >> h;
                p =( a * a ) + 2 * a * b;
               
                break;
            case 2:
               
                cout << "Podaj bok a: ";
                cin >> a;
               
                cout << "Podaj wysokosc h: ";
                cin >> h;
                ob =(( a * a ) * h ) / 3;
               
                break;
            }
            break;
        }
       
        system( "PAUSE" );
    }
}
P-54869
jsc
» 2012-04-20 11:36:47
P-54872
Admixior
» 2012-04-20 14:57:22
Sorry że poprawiam ci kod choć nie ma błędów, ale mógłbyś to zrobić trochę mnie pisząc, bo dużo jest kodu kopiowanego.
Np.
C/C++
case 1:

cout << "CO chcesz liczyć 1-pole, 2-obwód: ";
cin >> liczba;
cout << "Podaj bok a: ";
cin >> a;
cout << "Podaj bok b: ";
cin >> b;
cout << "Podaj wysokosc h: ";
cin >> h;
switch( liczba )
{
case 1:
   
    p =( 2 * a * b ) +( 2 * a * h ) +( 2 * b * h );
    cout << "Pole rowna sie: " << p;
   
    break;
case 2:
   
    ob = a * b * h;
    cout << "Obwod rowna sie: " << ob;
   
    break;
}

Przerabiając na funkcję (jak przeczytasz i zrozumiesz co to są funkcje) wystarczy że w głównym switch-u w każdym z 3-ech przypadków dasz wywołanie 3-ech różnych funkcji. A do ciała tych funkcji skopiujesz to co masz w case (i nie zapomnij usunąć z main definicje: int a,b,h i wstawić te potrzebne na początku każdej funkcji).
P-54884
« 1 »
  Strona 1 z 1