SwitchBlade Posted January 30, 2016 Report Share Posted January 30, 2016 (edited) Witam;Napiszę na wstępie, że z programowaniem w C mam spore problemy.Muszę jednak utworzyć tablicę, w której będzie przelicznik jednostek.Np. wpisuję daną: 10 KM (KM - uznajmy za fundamentalną jednostkę)i muszę mieć ten wynik w metrach, w calach, w jardach.Więc:10 KM = 10000,00 M | 393700,79 cal. | 10936,13 ydTak to powinno mniej więcej wyglądać, ale w C Korzystam z programu o nazwie "CodeBlocks", bo "Dev Cpp" ma problemy z antywirusem, z Avastem.Znalazłaby się jakaś dobra dusza, która wytłumaczy (nakieruje), jak to zrobić krok po kroku?Szukałem w internecie, Jest mowa tylko o tablicach + ew. dodawaniu.Pozdrawiam,Bartek. Edited January 30, 2016 by SwitchBlade Quote Link to comment Share on other sites More sharing options...
MikaelDorren Posted January 30, 2016 Report Share Posted January 30, 2016 Co do szukania w necie - to znalazłeś?Z góry uprzedzam, że na gotowy kod nie masz co liczyć. Na forum pomagamy, a nie wyręczamy.Zakładam, że liczbę kilometrów użytkownik musi podać.Można w ten sposób:1) Zapisujemy tę liczbę jako zmienną typu float (można double, jak kto chce większej precyzji). Teoretycznie możnaby tu dać unsigned int, gdyż odległość zawsze będzie dodatnia, ale wtedy ograniczylibyśmy użytkownikowi możliwość wpisania do liczb całkowitych (po polsku - dwa i pół kilometra wtedy nie przeliczy)2) Tworzymy tablicę o następującej konstrukcji:typ_zmiennych_w _tablicy nazwa_tablicy [długość_tablicy]* = {kilometry*1000, kilometry/0.0000254 (cale), kilometry/0.0009144 (yardy) }3)Z wyświetleniem zawartości tablicy powinieneś sobie poradzić.Na początek najlepiej będzie jak pokażesz co sam do tej pory zrobiłeś.*nie wiem gdzie tu dwuwymiarowa potrzebna. Quote Link to comment Share on other sites More sharing options...
[Ekspert] Hakken Posted January 30, 2016 Report Share Posted January 30, 2016 (edited) Jak mamy tylko coś wypisać to niezanadto widzę sens tworzenia tablicy tak w ogóle - możemy wypisywać na bieżąco.możnaby tu dać unsigned int, gdyż odległość zawsze będzie dodatnia, ale wtedy ograniczylibyśmy użytkownikowi możliwość wpisania do liczb całkowitychTo w sumie jest nieprawda, ani o odległości ani o ograniczeniu. Edited January 30, 2016 by Hakken 1 Quote Link to comment Share on other sites More sharing options...
MikaelDorren Posted January 30, 2016 Report Share Posted January 30, 2016 niezanadto widzę sens tworzenia tablicy tak w ogóleAle skoro wymagają (co dziwne) to niech im będzie. Pytanie tylko czemu i kto.10 KM = 10000,00 MSię pisze km i m. Nie mylmy kilometrów z Koniami Mechanicznymi. Quote Link to comment Share on other sites More sharing options...
SwitchBlade Posted January 30, 2016 Author Report Share Posted January 30, 2016 Przepraszam. Dopiero wszedłem na laptopa i będę z tym walczył. Etap mojej pracy jest na poziomie "zero".W przyszłym tygodniu mam z tego zaliczenie, a miałem problemy z komputerem w akademiku, aby kompilować program.Zwlekałem z tym do ostatniej chwili i obudziłem się z ręką w nocniku.Tak Mikael - widziałem ten przelicznik jednostek. Dziękuję Wam za odpowiedzi.I racja - tablica dwuwymiarowa jest zbędna. Quote Link to comment Share on other sites More sharing options...
Sevard Posted January 31, 2016 Report Share Posted January 31, 2016 Kurcze, po kiego stosować jakieś zewnętrzne przeliczniki, skoro wszystko masz na tacy.Skoro masz, że 10 km to 393700,79 cali, to z proporcji można bardzo prosto wyliczyć ilosć cali dla dowolnej ilości kilometrów i na odwrót.Masz coś takiego:10 km - 393700,79 calx km - y calczyli x km = (10 km * y cal)/(393700,79 cal)oraz y cal = (393700,79 cal * x km)/(10 km)Reszta analogicznie.Tu naprawdę nie ma niczego, co wychodziłoby poza program podstawówki. Quote Link to comment Share on other sites More sharing options...
SwitchBlade Posted January 31, 2016 Author Report Share Posted January 31, 2016 Tak. Są przeliczniki.To jest tylko jedno z zadań, które muszę zrobić, aby zaliczyć programowanie.A problem jest fundamentalny; Za nic w świecie - nie wiem, jak zacząć Quote Link to comment Share on other sites More sharing options...
SwitchBlade Posted January 31, 2016 Author Report Share Posted January 31, 2016 (edited) http://pastebin.com/TFX8P4HU - część programu.Mam teraz problem z jego kompilowaniem:""project 2 - Debug": The compiler's setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler.Probably the toolchain path within the compiler options is not setup correctly?! (Do you have a compiler installed?)Goto "Settings->Compiler...->Global compiler settings->GNU GCC Compiler->Toolchain executables" and fix the compiler's setup.Skipping..."Zrobiłem, jak należało;Usunąłem DevCpp, przeczyściłem rejestr - i nic Edited January 31, 2016 by SwitchBlade Quote Link to comment Share on other sites More sharing options...
MikaelDorren Posted January 31, 2016 Report Share Posted January 31, 2016 Usunąłem DevCpp, przeczyściłem rejestr - i nicA przypadkiem kompilatora razem z nim nie wywaliłeś?Zawsze można przeinstalować CodeBlocks (jeden z instalatorów ma dołączony kompilator), zwłaszcza, że jest od kilku dni nowa wersja.Tak btw, CodeBlocks się burzy o kilka linijek:np.void glowna(int *war1,int *war2){(..) war1 = scaner(); if (war1 == 1 || war1 == 2 || war1 == 3 || war1 == 4 || war1 == 5)in function 'glowna':44|warning: assignment makes pointer from integer without a cast45|warning: comparison between pointer and integer51|warning: passing argument 1 of 'mini_menu' makes integer from pointer without a castJa sam zaś się dopytam o tablicę - czy czasem taka o wymiarach 4x4 nie powinna się zaczynać od [0][0] i kończyć na [3][3]? Quote Link to comment Share on other sites More sharing options...
[Ekspert] Mormegil Posted February 1, 2016 Report Share Posted February 1, 2016 Nie bez powodu radziłem w FAQ, żeby Visual Studio używać. Niemniej do Code::Blocks potrzebny jest jakiś kompilator - polecam MinGW. Quote Link to comment Share on other sites More sharing options...