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

[C] Kalkulator z wykorzystaniem wkaźników.

Ostatnio zmodyfikowano 2015-03-27 19:52
Autor Wiadomość
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
C/C++
#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ć.
P-129278
1 « 2 »
Poprzednia strona Strona 2 z 2