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

zadanie 4 lekcji 7 - pomocy

Ostatnio zmodyfikowano 2010-11-24 12:53
Autor Wiadomość
capajera18
Temat założony przez niniejszego użytkownika
zadanie 4 lekcji 7 - pomocy
» 2010-11-21 15:59:22
Mam pytanie zwiazane z zadaniem 4 lekcji7 o tablicach.
czy można jakoś zadeklarować zmienną w taki sposób by w programie można było używać przecinka w pisując np liczbe 1,2 lub 3,2 lub inne ??
jeżeli tak to podzielcie się wiedzą proszę.
tam jest w tym zadaniu coś takiego by pobrać od użytkownika pojemność silnika no i kiedy piszę liczbe typu 1.2(z kropką) to jest wszystko ok a kiedy napisze 1,2(z przecinkiem) to program przeskakuje na sam koniec albo wgl nie wypisuje ostatniej cyfry po tym przecinku .

Może ktoś mi to wytłumaczyć dlaczego tak sie dzieje i jak temu zapobiegać ??
P-24256
McAffey
» 2010-11-21 23:30:50
Może ktoś mi to wytłumaczyć dlaczego tak sie dzieje i jak temu zapobiegać ??
Dzieje się tak ponieważ oddzielanie części dziesiętnych za pomocą kropki jest poprawną formą. Na co dzień przyjęło się tak, że oddziela się przecinkiem, ale przecinka powinno się używać do sprawiania aby liczba była czytelniejsza, np do zapisywania liczby "1000000" w postaci "1,000,000". Jest więc całkowicie normalne, że program głupieje gdy wprowadzasz cyfrę z przecinkiem, albowiem nie jest na taką sytuację przygotowany.
czy można jakoś zadeklarować zmienną w taki sposób by w programie można było używać przecinka w pisując np liczbe 1,2 lub 3,2 lub inne ??
Nie wiem jaki masz problem aby po prostu zapisywać cyfry z kropką zamiast przecinka.
Nie słyszałem o takim sposobie deklarowania zmiennej (i wątpię aby taki istniał, aczkolwiek nigdy mi na czymś takim nie zależało, więc i takowego sposobu nie poszukiwałem) ale jak Ci na tym bardzo zależy to możesz się pobawić np w coś takiego, że wprowadzasz liczbę do programu nie cinem a getchem, po każdej cyfrze do innej zmiennej, a po zatwierdzeniu enterem, że liczba została już cała wpisana, cyfry przed przecinkiem przekształcić w jedną liczbę (wystarczy, że jak np są 3 cyfry, to pierwszą mnożysz razy 100, drugą razy 10 i to wszystko dodajesz do trzeciej) i cyfry po przecinku też przekształcić w jedną liczbę. Jeśli to wyjdzie część setna to podzielić ją przez 100, jeśli tysiączna to podzielić przez 1000 (...) i to co wyszło dodać do liczby którą otrzymałeś po przekształceniu cyfr przed przecinkiem. I po dodaniu tego, otrzymasz dokładnie to samo, co byś otrzymał jak byś wpisywał tę liczbę z kropką, z tą różnicą, że wpisałeś ją z przecinkiem. Nie wiem czemu Ci tak na tym zależy, ale skoro masz ochotę kodować to wszystko zamiast po prostu podać
cin >> liczba;
 to proszę bardzo.
P-24296
DejaVu
» 2010-11-22 00:27:06
W programowaniu stosuje się kropki dla liczb rzeczywistych. Dlaczego? Bo tak. Istnieje do tego wyrafinowana historia, a zarazem stosowne uzasadnienie jednak przytaczanie tego mija się z celem. Na razie zaakceptuj taki stan rzeczy.
P-24299
McAffey
» 2010-11-22 00:38:44
Kurde, chyba założę sobie pamiętnik "Ulubione cytaty Piotra Szawdyńskiego" a to będzie pierwszy wpis ;]
P-24300
DejaVu
» 2010-11-22 00:43:31
pisz pisz ;p - kiedyś sprzedasz i być może dzięki temu będę sławny ;d
P-24301
McAffey
» 2010-11-22 00:54:07
Wujek google podpowiada, że już jesteś sławny, po wpisaniu "Piotr Szawdyński" 6/10 wyników dotyczy Ciebie ;P
P-24304
capajera18
Temat założony przez niniejszego użytkownika
» 2010-11-22 07:55:27
raczej zalezy bardziej mi na tym by program działał w porządku,
czyli co, nie muszę koniecznie robic tego by można było używać tego przecinka ??
i jeżeli tak można to żeby użytkownik mógł wpisać zarówno przecinek jak i kropkę by się nie zastanawiał co się dzieje.
P-24306
DejaVu
» 2010-11-22 14:05:07
Być może sprawę załatwi funkcja:
C/C++
setlocale( LC_ALL, "Polish" );

Przykład: » standard Cstrftime

Zobacz na sztandarowy produkt Microsoftu - tj. Excela. Czy on wspiera obsługę kropek i przecinków? Podpowiem: nie. Użytkownik musi dostosować się do aplikacji. Da się zrobić wsparcie dla kropki i przecinka, jednak pewien nakład pracy jest wymagany oraz musisz mieć wiedzę na pewnym poziomie. Ty się dopiero uczysz programownaia, więc zaakceptuj moją poprzednią odpowiedź, bądź spróbuj ustawić locale i sprawdź czy działają przecinki.


P-24307
« 1 » 2 3
  Strona 1 z 3 Następna strona