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

[C++] Funkcje, a ich przydatność

Ostatnio zmodyfikowano 2013-01-23 12:07
Autor Wiadomość
Lukines
Temat założony przez niniejszego użytkownika
[C++] Funkcje, a ich przydatność
» 2013-01-23 10:27:15
Witam mam pytanie czy robienie programu funkcjami jest bardziej optymalne/opłacalne/lepsze ? Czy lepiej zrobić jakiś program poprostu od tak dam niżej przykład i proszę o odpowiedz który jest lepiej napisany pierwszy przeze mnie drugi przez kolegę . Czy tak jak ja to napisalem to jest lepiej czy gorzej ? Czy lepiej pisac program prościej i krócej ?

Pierwszy Mój:
C/C++
#include <iostream>

using namespace std;

int Odejmowanie( int & a, int & b )
{
    return( a - b );
}

int Dodawanie( int & a, int & b )
{
    return( a + b );
}

int Mnozenie( int & a, int & b )
{
    return( a * b );
}

int Dzielenie( int & a, int & b )
{
    return( a / b );
}

void Sprawdz( char & znak, int & a, int & b )
{
    switch( znak )
    {
    case '+':
        {
            cout << "Dodaje : " << a << "+" << b << " Wynik : " << Dodawanie( a, b ) << endl;
            return;
        }
    case '-':
        {
            cout << "Odejmuje : " << a << "-" << b << " Wynik : " << Odejmowanie( a, b ) << endl;
            return;
        }
       
    case '*':
        {
            cout << "Mnoze : " << a << "*" << b << " Wynik : " << Mnozenie( a, b ) << endl;
            return;
        }
    case '/':
        {
            cout << "Dziele : " << a << " *" << b << " Wynik : " << Dzielenie( a, b ) << endl;
            return;
        }
    }
   
   
}

void WczytajZnak( char & znak )
{
    cout << "Podaj Znak : ";
    cin >> znak;
}
void WczytajLiczbe( int & x )
{
    cout << "Podaj Liczbe : ";
    cin >> x;
}
int main()
{
    int x, y;
    char znak;
    WczytajLiczbe( x );
    WczytajLiczbe( y );
    WczytajZnak( znak );
    Sprawdz( znak, x, y );
    return 0;
}

I ten przez kolegę:
C/C++
#include<conio.h>
#include<stdio.h>
int a, b, wynik;
char znak;
main()
{
    printf( "Wprowadz pierwsza liczbe \n" );
    scanf( "%i", & a );
    printf( "Wprowadz pierwsza liczbe \n" );
    scanf( "%i", & b );
    printf( "Wprowadz znak \n" );
    scanf( "%s", & znak );
   
    if( znak == '+' )
    {
        wynik = a + b;
        printf( "Wynik dodawania: %i", wynik );
    }
   
    if( znak == '-' )
    {
        wynik = a - b;
        printf( "Wynik odejmowania: %i", wynik );
    }
   
    if( znak == '*' )
    {
        wynik = a * b;
        printf( "Wynik mnozenia: %i", wynik );
    }
   
    if( znak == '/' )
    {
        if( b != 0 )
        {
            wynik = a / b;
            printf( "Wynik dzielenia: %i", wynik );
        }
        else
             printf( "Nie dziel przez zero!" );
       
    }
   
    while( !kbhit() );
   
}
P-74783
jsc
» 2013-01-23 11:04:45
Programowanie oparte na funkcjach to metoda organizacji kodu programu. W małych programach jeśli ci łatwiej to nie musisz korzystać, ale w dużych już od nich nie uciekniesz.
P-74785
DejaVu
» 2013-01-23 11:09:31
Lepiej pisać kod w oparciu o funkcje po to, aby się do nich przyzwyczajać i po to, aby umieć go dzielić umiejętnie na funkcje. Każda aplikacja składa się z wielu funkcji. Być może nie ma uzasadnienia używania funkcji do operacji tak prostych jak dodawanie/odejmowanie dwóch liczb (poza walorami edukacyjnymi). No ale jeżeli będziesz miał potrzebę wykonywania wielokrotnie złożonych obliczeń, z różnymi argumentami to funkcje będą niezastąpione.
P-74786
Lukines
Temat założony przez niniejszego użytkownika
» 2013-01-23 11:21:14
Czyli lepiej pisać na funkcjach już teraz aby się uczyć ich wykorzystywania. Lecz w tak małych programach jest to bez różnicy. Czyli zostaje przy pisaniu na funkcjach ;D
P-74788
Berux
» 2013-01-23 12:07:32
Przykładowo:

Pisałem program i nie robiłem w nim funkcji (oprócz funkcji int main). Do powrotu do danej części programu używałem etykiety
goto
. Program stał się mało czytelny. Teraz wiem, że mogłem użyć funkcji.

Funkcje ułatwiają zadanie :)

Polecam używanie funkcji xD
P-74795
« 1 »
  Strona 1 z 1