Podstawy funkcji, wczytywanie i drukowanie zmiennych
Ostatnio zmodyfikowano 2017-02-25 18:35
cotyniepowiesz Temat założony przez niniejszego użytkownika |
Podstawy funkcji, wczytywanie i drukowanie zmiennych » 2017-02-25 14:40:25 Witam, zaczynam naukę funkcji. Co jest przyczyną niepoprawnego wydruku zmiennej wpisanej z klawiatury? #include <stdio.h> #include <stdlib.h>
int suma( int a, int b, int c ) { return( a + b + c ); }
void wczytywanie( int x ) { int k; do { printf( "\n podaj liczbe:" ); k = scanf( "%d", & x ); if( k == 0 ) printf( "\n Blad formatu!" ); fflush( stdin ); } while( k == 0 ); }
void drukowanie( int x ) { printf( "\n Podana liczba wynosi: %d", x ); }
int main() { void wczytywanie( int q ); void drukowanie( int q ); int q; int a = 1, b = 1, c = 1; int x = 1, y = 9, z = 10; int m = suma( a, b, c ); printf( "\n Suma podanych liczb wynosi: %d", m ); int n = suma( x, y, z ); printf( "\n Suma podanych liczb wynosi: %d", n ); wczytywanie( q ); printf( "\n wydruk:" ); drukowanie( q ); return 0; }
|
|
maly7 |
» 2017-02-25 15:49:44 Funkcja wczytywanie( q ); nie może edytować zmiennej q. Żeby tak było musisz użyć wskaźnika/referencji. Na początku zrób po prostu, żeby funkcja zwracała wartość i wtedy q = wczytywanie(); |
|
cotyniepowiesz Temat założony przez niniejszego użytkownika |
» 2017-02-25 16:56:36 Nie do końca wiem co tam pozmieniać... |
|
maly7 |
» 2017-02-25 17:47:04 Żeby funkcja nie przyjmowała żadnego argumentu, ale żeby go zwracała: int wczytywanie( void ) { int k, x; do { printf( "\n podaj liczbe:" ); k = scanf( "%d", & x ); if( k == 0 ) printf( "\n Blad formatu!" ); fflush( stdin ); } while( k == 0 ); return x; } I później zmienić main; int main() { int q; int a = 1, b = 1, c = 1; int x = 1, y = 9, z = 10; int m = suma( a, b, c ); printf( "\n Suma podanych liczb wynosi: %d", m ); int n = suma( x, y, z ); printf( "\n Suma podanych liczb wynosi: %d", n ); q = wczytywanie(); printf( "\n wydruk:" ); drukowanie( q ); return 0; } Funkcja ma zwracać wartość tak jak funkcja suma. |
|
cotyniepowiesz Temat założony przez niniejszego użytkownika |
» 2017-02-25 18:35:56 Dzięki wielkie :) |
|
« 1 » |