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

funkcja zwracająca równą liczbę

Ostatnio zmodyfikowano 2015-03-18 17:34
Autor Wiadomość
Nitro
Temat założony przez niniejszego użytkownika
funkcja zwracająca równą liczbę
» 2015-03-18 12:12:21
Witam,

Napisałem program który porównuje przez funkcje dwie liczby ale nie udaje mi dopisać kodu który poinformuje iż wprowadzone liczby są równe, nie chce robić założenia przy scanf tylko w funkcji. Gdy użytkownik wprowadzi równe liczby nie pojawia się ten printf("Wieksza liczba jest %d\n",wieksza(wybor1,wybor2)); tylko informacja printf("Wprowadzono takie same liczby\n");

C/C++
//program wybiera+jacy mniejsza z liczb
#include <stdio.h>
#include <stdlib.h>

int wieksza( int a, int b );


int main( void )
{
    int wybor1 = 0;
    int wybor2 = 0;
    int licznik = 0;
   
    printf( "Uzytkoniku wprowadz pierwsza liczbe a ja powiem ktora jest wieksza\n" );
   
    while( scanf( "%d", & wybor1 ) == 1 )
    {
        printf( "Wprowadz kolejna liczbe\n" );
        scanf( "%d", & wybor2 );
       
       
        //???????
        printf( "Wprowadzono takie same liczby\n" );
       
       
       
        printf( "Wieksza liczba jest %d\n", wieksza( wybor1, wybor2 ) );
       
       
       
        printf( "Podaj kolejne liczby\n" );
       
       
       
    }
   
    printf( "Dziekuje\n" );
   
   
   
   
   
   
    system( "pause" );
    return 0;
}

int wieksza( int a, int b )
{
    int max = 0;
    int min = 0;
   
    if( a < b )
         max = b;
   
    if( a > b )
         max = a;
   
    if( a == b )
         max = 0;
   
    return max;
   
}
P-128674
Esteban
» 2015-03-18 16:45:08
C/C++
int wieksza( int a, int b )
{
    if( a < b )
         return b;
   
    if( a > b )
         return a;
   
    if( a == b )
         printf( "Wprowadzono takie same liczby\n" );
   
}
PS Nie uważasz, że bardziej przejrzyste jest używanie ,,cout" zamiast ,,printf"?
P-128707
aksen
» 2015-03-18 17:13:16
do #Esteban

Błąd:
funkcja nic nie zwraca w przypadku, gdy: a == b (a raczej zwróci przypadkową liczbę)
P-128712
aksen
» 2015-03-18 17:34:32
Najprościej:

C/C++
//program wybiera+jacy mniejsza z liczb
#include <stdio.h>
#include <stdlib.h>

int wieksza( int a, int b );


int main( void )
{
    int wybor1 = 0, wybor2 = 0, licznik = 0;
   
    printf( "Uzytkoniku wprowadz pierwsza liczbe a ja powiem ktora jest wieksza\n" );
   
    while( scanf( "%d", & wybor1 ) == 1 )
    {
        printf( "Wprowadz kolejna liczbe\n" );
        scanf( "%d", & wybor2 );
       
        if( wybor1 == wybor2 )
             printf( "Wprowadzono takie same liczby\n" );
        else
             printf( "Wieksza liczba jest %d\n", wybor1 > wybor2 ? wybor1: wybor2 );
       
        printf( "Podaj kolejne liczby\n" );
    }
   
    printf( "Dziekuje\n" );
   
    system( "pause" );
    return 0;
}


wersja z funkcją:

C/C++
//program wybiera+jacy mniejsza z liczb
#include <stdio.h>
#include <stdlib.h>

int wieksza( int a, int b );


int main( void )
{
    int wybor1 = 0, wybor2 = 0, licznik = 0;
   
    printf( "Uzytkoniku wprowadz pierwsza liczbe a ja powiem ktora jest wieksza\n" );
   
    while( scanf( "%d", & wybor1 ) == 1 )
    {
        printf( "Wprowadz kolejna liczbe\n" );
        scanf( "%d", & wybor2 );
       
        if( wybor1 == wybor2 )
             printf( "Wprowadzono takie same liczby\n" );
        else
             printf( "Wieksza liczba jest %d\n", wieksza( wybor1, wybor2 ) );
       
        printf( "Podaj kolejne liczby\n" );
    }
   
    printf( "Dziekuje\n" );
   
    system( "pause" );
    return 0;
}

int wieksza( int a, int b )
{
    if( a < b ) return b;
   
    if( a > b ) return a;
   
    return a; // rowne
}
P-128718
« 1 »
  Strona 1 z 1