Problem z programowaniem :(

Forum Komputery
Odpowiedz
06.11.2011 20:58
😒
1
odpowiedz
zanonimizowany728137
15
Pretorianin

Problem z programowaniem :(

Dlaczego to nie działa? :(

#include "stdafx.h"
#include "stdlib.h"

int main()

float a=0;
a=129600/921600;
printf("%f",a);
return 0;

06.11.2011 21:00
2
odpowiedz
Warr_NPC
87
Senator

może podmień < na ‹ i > na ›

edit WTF? w GOLU nie ma nawiasów wąsatych :(

06.11.2011 21:02
😒
3
odpowiedz
zanonimizowany728137
15
Pretorianin

Kopiowałam to z Visual Studio i chodzi mi o to dlaczego wynik tego dzielenia to 0. :(

06.11.2011 21:02
4
odpowiedz
Aureliusz_NPC
87
Legend

Sarusia94 --> A co mówi debugger?

06.11.2011 21:04
5
odpowiedz
zanonimizowany728137
15
Pretorianin

Program działa, dochodzi do końca, nie ma żadnych błędów, ale nie rozumiem dlaczego wyświetla mi, że wynik tego dzielenia to 0.

06.11.2011 21:08
hopkins
6
odpowiedz
hopkins
234
Zaczarowany

a czemu na poczatku deklarujesz a jako zero?

06.11.2011 21:13
7
odpowiedz
zanonimizowany728137
15
Pretorianin

A sama nie wiem, w szkole mnie tak uczyli, że lepiej dać jakąś wartość na starcie i najczęściej daję zero. Zmieniłam przed chwilą na 100, ale i tak wychodzi 0.

06.11.2011 21:15
8
odpowiedz
Aureliusz_NPC
87
Legend

Ponieważ dzielisz dwie liczby całkowite, to i wynik jest podawany jako liczba całkowita. Można to rozwiązać na 2 sposoby. Pierwszy, to zamienienie jednej z liczb całkowitych na rzeczywistą. Na przykład: a=129600/921600.000;
Drugim sposobem jest wyznaczenie reszty z dzielenia i dodania jej do wyniku całkowitego, na przykład
a = 129600 / 921600;
b = 129600 % 921600;
c = a + b;

Jednak tutaj mogą wyjść dziwne kwiatki, jeżeli część całkowita zostanie zaokrąglona w górę.

06.11.2011 21:17
9
odpowiedz
Mlynarz_NPC
17
Pretorianin

musisz napisac ile liczb po przecinku ma byc wyswietlone. U Ciebie pisze, ze zero, wiec wynik jest prawidlowy

06.11.2011 21:22
😊
10
odpowiedz
zanonimizowany728137
15
Pretorianin

Faktycznie, ale to było proste. xD Wielkie dzięki za pomoc chłopaki. ;)
PS Może jeszcze w moim drugim wątku bylibyście w stanie pomóc... :P

06.11.2011 21:41
Regis
😱
11
odpowiedz
Regis
134

[7] Woot?

a) Reszta z dzielenia? Po co wynajdywać koło od nowa, tworząc przy tym jakieś wielokątne coś, zamiast prawdziwego koła? Sorry, ta sugestia to jakieś kompletne nieporozumienie.

b) Dopisywanie ".000" - super, ale co jeśli mamy wartość w zmiennej, a nie zaszytą w kodzie? Mnożyć razy 1.0 za każdym razem? Bez jaj.

Dlaczego po prostu nie ZRZUTOWAĆ zmiennej na właściwy typ? Po to przecież między innymi jest rzutowanie.

06.11.2011 22:14
12
odpowiedz
DEXiu
151
Senator

Regis ==> Tu akurat nie mamy zmiennej tylko stałe wpisywane na dodatek z palca, więc rzutowanie to trochę wyjeżdżanie z armatą na motyla ;)

07.11.2011 09:06
Regis
13
odpowiedz
Regis
134

1) Nie uważam, żeby dopisanie przed jedną z liczb 7 znaków zamiast dopisywania 4 znaków za nią było jakąś "armatą"
2) Jak już uczyć, to uczyć porządnie - nigdy nie rozumiałem dlaczego w tak prostych sprawach niektórzy "dla ułatwienia" wolą wpajać złe nawyki i uczyć "półśrodków", zamiast od razu nauczyć dobrze i uniwersalnie.

Forum Forum Komputery
Odpowiedz

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl