michal_s Opublikowano 22 Lipca 2005 Zgłoś Opublikowano 22 Lipca 2005 Mam taki problem, chcialem sobie napisalc prosty program w C kod ponizej: #include <stdio.h>#define s 100double a,b,odejmowanie;main(){clrscr();printf("Podaj wieksza liczbe:\n");scanf("%lf", &a);printf("Podaj mniejsza liczbe:\n");scanf("%lf", &b);odejmowanie=(a-b*s/a);printf("wynik: %0.0lf\n", odejmowanie);getch();}problem polega na tym ze nie liczy tak jak powinien, nie wiem czy problem polega na typie zmiennych, moze liczby nie mieszcza sie w pamieci ? Prosze o pomoc nie wiem co jest nie tak. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
nitro Opublikowano 23 Lipca 2005 Zgłoś Opublikowano 23 Lipca 2005 Chyba powinno być: odejmowanie=( ((a-b)*s)/a );Poza tym, lepiej zdefiniować s jako jakiś typ danych (np.: int), a nie dyrektywą define, właściwie jako literał. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haze Opublikowano 23 Lipca 2005 Zgłoś Opublikowano 23 Lipca 2005 Powstaje pytanie jakie właściwie chcesz wykonać działanie, bo w tym kodzie, tak jak pisał Nitro, najpierw mnożone jest b przez s, potem wynik dzielony jest przez a i na końcu odejmowany od a. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
michal_s Opublikowano 24 Lipca 2005 Zgłoś Opublikowano 24 Lipca 2005 dzieki panowie, na smierc zapomnialem o kolejnosci dzialn, nawias rozwiazal problem. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...