[C] Kalkulator z wykorzystaniem wkaźników.
Ostatnio zmodyfikowano 2015-03-27 19:52
CoolPrune9 Temat założony przez niniejszego użytkownika |
» 2015-03-27 19:52:05 Próbuje na wszelkie sposoby i nie mogę zrozumieć jak użyć tego bool i w jakim przypadku P. S. Zrobiłem coś takiego ale niestety nie działa #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <stdbool.h>
bool dodawanie( float * a, float * b, float * wynik ); bool odejmowanie( float * a, float * b, float * wynik ); bool mnozenie( float * a, float * b, float * wynik ); bool dzielenie( float * a, float * b, float * wynik ); bool potega( float * a, float * b, float * wynik );
int main( void ) { float a = 0; float b = 0; int c; int e; float d; float * pwynik; float * wska; float * wskb; int i; do { system( "cls" ); printf( " podaj pierwsza liczbe: \n" ); scanf( "%f", & a ); printf( " \n wybierz działanie \n 1.dodawanie \n 2.odejmowanie\n 3.mnozenie\n 4.dzielenie\n 5.potegowanie \n" ); scanf( "%d", & c ); if( c > 5 ) { printf( " \nBrak takiego działania wybierz działanie \n 1.dodawanie \n 2.odejmowanie\n 3.mnozenie\n 4.dzielenie\n 5.potęgowanie \n" ); scanf( "%d", & c ); } if( c < 1 ) { printf( " \nBrak takiego działania wybierz działanie \n 1.dodawanie \n 2.odejmowanie\n 3.mnozenie\n 4.dzielenie\n 5.potęgowanie \n" ); scanf( "%d", & c ); } if( c == 5 ) { printf( "\n podaj potege do ktorej podniesc liczbe \n" ); } else printf( " \n podaj druga liczbe: \n" ); scanf( "%f", & b ); wska =& a; wskb =& b; pwynik =& d; switch( c ) { case 1: i = dodawanie( wska, wskb, pwynik ); break; case 2: odejmowanie( wska, wskb, pwynik ); break; case 3: mnozenie( wska, wskb, pwynik ); break; case 4: dzielenie( wska, wskb, pwynik ); break; case 5: potega( wska, wskb, pwynik ); break; } if( i == 1 ) printf( "wynik dzialania: %f %d", d, i ); else printf( "Brak jednej danej" ); printf( " \n czy cchesz dalej liczyc (1=tak;2=nie)" ); scanf( " \n %d", & e ); } while( e == 1 ); return 0; }
bool dodawanie( float * a, float * b, float * wynik ) { if( b != NULL ) { * wynik =( * a ) +( * b ); return true; } else return false; }
bool odejmowanie( float * a, float * b, float * wynik ) { * wynik =( * a ) -( * b ); return true; }
bool mnozenie( float * a, float * b, float * wynik ) { * wynik =( * a ) *( * b ); return true; }
bool dzielenie( float * a, float * b, float * wynik ) { * wynik =( * a ) /( * b ); return true; }
bool potega( float * a, float * b, float * wynik ) { * wynik = pow( * a, * b ); return true; }
nie rozumiem jak inaczej mogłoby to działać. |
|
1 « 2 » |