• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kalkulator w c++

Object Storage Arubacloud
0 głosów
1,121 wizyt
pytanie zadane 8 maja 2016 w Nasze projekty przez DragonCoder Nałogowiec (36,500 p.)
Witam. Przedstawiam moj kalkulator w c++. Nie jest super wiem o tym ale mysle ze jako cwiczenie byl bardzo. Prosze o:

1. Ocene kodu (czytelnosc)

2. Ocene programu i pomyslu

3. Ocene przejrzystosci

4. Wszelka krytke dotyczaca jeg skrocenia, czyli czy da to jeszcze zrobic (zawsze sie da), jak tak to prosze o mala podpowiedz jak. Poki co zastosowalem funkcje, ale w kodzie znajdziecie takze petle for, ktora dalem w komentarz i prosilbym takze o powiedzenie czy oplaca sie ja dodac do programu. Jezeli cos przyjdzie wam jeszcze do glowy, to napiszcie chetnie wyslucham uwag od kogos kto jest na wyzszym poziomie. Dodam tylko ze jest to moj pierwszy projekt powyzej 1000 lini.

A tutaj link:

http://wklej.org/id/2380168/

5 odpowiedzi

+1 głos
odpowiedź 8 maja 2016 przez adas94 Nałogowiec (29,200 p.)
                                    podaj_a();
                                    std::cin>>a[5];
                                    std::cout<<"b (w cm): ";
                                    std::cin>>b[1];

Dlaczego w funkcji podaj_a() nie ma też tego cin tylko piszesz to osobno. W podaj_a() masz sam tekst do wyświetlenia, a z kolei dla b już nie wywołujesz funkcji tylko piszesz sztywno cout, trochę brak tu konsekwencji. 

Druga rzecz to nie wiem dlaczego tam jest tyle tablic, po co Ci tablica do obliczania obwodu kwadratu ? a[1] - obwod, a[2] pole itd... i tak wykonujesz jedną operację na raz poprzez wybór więc możesz wykorzystywać wielokrotnie te same proste zmienne. 

Jak dla mnie duży bajzel. 

komentarz 8 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Ok.... o tym nie wiedzialem ze moge wykorzystal 1 komorke kilkukrotnie... co do podaj_a owszem ale chodzi o 2 linijki takto musilabym dodac for bo w kazdej tablicy musialoby sie to zmienic ale po przeczytaniu tego o komorkach to loge wszystko wypisac jako a [1] w calym kwadracie to wtedy tak ma to sens. Ok. Dziekuje za odpowiedz jak tylko zadanie domowe skpncze to przerobie to. Znowu nocka :D
komentarz 8 maja 2016 przez adas94 Nałogowiec (29,200 p.)
Nie, że w jednej komórce a[1], tylko w ogóle nie robić tablicy, tylko prostą zmienną int a jako jeden z boków i sobie do niej przypisywać to co trzeba w odpowiednich miejscach kodu. Nie używasz jej przecież jednocześnie do pola i do obwodu, bo w switchu wybierasz jedną z tych opcji na raz.
komentarz 8 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
A wiec int a; ///cos Case 1: Cout a; I tak w kazdym case w kwadracie? Przepraszam ze tak podalem kod ale pisze z telefonu
komentarz 8 maja 2016 przez adas94 Nałogowiec (29,200 p.)
Tak, dokładnie tak. Nawet nie samym kwadracie, tylko każdej figurze, która używa A jako boku. :)
komentarz 8 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Tak ok. Zapomnialem dodac ze chcialem dodac wpisywanie wynikow do pliku, z tego powodu stworzylem tablice zeby uzytkownik mogl sprawdzic jaka liczby podal i wyniki wyszly. Dobrze a jaak oceniasz ide albo projekt jako cwiczenie?
+1 głos
odpowiedź 8 maja 2016 przez niezalogowany
1. Czytelność kodu? Bardzo słaba

2. Wyniku się nawet zobaczyć nie da. Wpisz literę zamiast liczby.

3. Przejrzystości czego?

4. Tak, da się napisać krócej.

W kod się nie zagłębiałem bo jest strasznie nieczytelny.
+1 głos
odpowiedź 8 maja 2016 przez niezalogowany
1 i 3. Słabo, nieskończone pętle, snake_case wymieszany z camelCase, masa tablic których nazwy absolutnie nic nie mówią, nie zapominajmy o prawie braku wcięć, albo robionych niekonsekwentnie. Mógłbyś to wszystko rozbić jeszcze bardziej na funkcje

2. Standardowy projekt, może tylko tyle że nieco bardziej rozbudowany

4. Da się, da się też zaoszczędzić nieco pamięci bo z tego co widzę to nie zawsze potrzebujesz tylu tablic, np po co ci aż tyle wyników? Wystarczyłaby jedna zmienna...

Kod jest mało przyjazny, jeżeli chodzi o analizę czy po prostu czytanie go, za dużo tu wszystkiego
komentarz 8 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Tablice usune. Ok. Zrobie jedna zmienna z wynikiem i z a raczej tez. Do no wlasnie wciecia sa.... tylko ze bardziej przypomina to programowanie w html i css niz c++. Moze znasz blog albo wpis gdzie jest opisane jak zrobic przejrzysty kod
komentarz 8 maja 2016 przez niezalogowany
http://helion.pl/ksiazki/czysty-kod-podrecznik-dobrego-programisty-robert-c-martin,czykod.htm

Jednak przed zakupem radze ci poszukać gdzieś indziej (choćby na allegro), bo helion ma strasznie wysokie ceny
+1 głos
odpowiedź 8 maja 2016 przez TheFeniks Gaduła (4,690 p.)
Witam :)

Po 1. Czytelność od 2/10

Po 2. Po jakiego uja te std:: ? Nie lepiej raz napisać: using namespace std; ?

Po co sobie utrudniać życie ?

 

Pozdrawiam ! :)

 

Ps. Jak kod jest nieczytelny to niektórym może się nawet nie chcieć na niego spojrzeć. Pamiętaj o tym ;) .
komentarz 8 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Ok. Czemu bo ihywam to ze standardu c. Nw czemu utrudnia zycie a mam to z natury ze wole cos skomplikowanego bo to czegos uczy.. jesli znasz trudne rozwiazanie to latwiejsze tez znajdziesz
komentarz 8 maja 2016 przez Jakub Baran Nowicjusz (160 p.)
W programowaniu chodzi o to żeby w sposób logiczny ale zarazem prosty "kodzić". Czy jest to coś bardziej skomplikowanego, że piszesz std:: ? Myślę, że nie, mózg się przyzwyczai i przyjmie to za nawyk. Prawdę mówiąc wysyłając firmie 1200 lini main'a ( :D ) z std:: nie będzie to twoim atutem a wręcz przeciwnie! Ale! .... super, że sam kodzisz i poświęciłeś tyle czasu na napisanie tego main'a ;)FUNKCJE FUNKCJE FUNKCJE odc. 9 z c++ GL
komentarz 9 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Tak, ale jestem na odcinku 5 :D
+1 głos
odpowiedź 9 maja 2016 przez Porcupine Nałogowiec (31,560 p.)
A... a... a... gdzie funkcje i code reusability ? :(

 

Co do programu i pomysłu, bo o tym najmniej było komentarzy... Moim zdaniem troszkę kiepsko, bo jak na program do nauki to taki trochę mało uczący... switch, cin, cout, po 300 razy każdy. Ciekawiej byłoby Ci napisać jakiś krótszy program, który korzystałby z jakichś bardziej różnorodnych instrukcji. Np. na początek jakieś proste operacje na plikach, może jakaś prosta gra w terminalu itp.

 

Pozdrawiam
komentarz 9 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
edycja 9 maja 2016 przez DragonCoder
Tak, tu sie zgadza... Teraz byl to kalkulator chce go skonczyc i nastepna w planie jest juz gra :D... mam pare projektow w glowie... tu chcialem sie oswoic z bliblioteka mathe.h. Co do gry to mysle ze bedzie ok, chociaz jak na moj poziom to troche trudno bedzie, ale lubie wyzwania... wiec jej nie odpuszcze

 

EDIT: operacje na plkach tez robilem bylo to menu do aplikacji ktora tez chcem zrobic a dokladniej to komunikator....Tylko mousze to zmienic to potrzebuje wiecej plikow
komentarz 9 maja 2016 przez draghan VIP (106,230 p.)

Nie "chcem", tylko "chcę". wink

Podobne pytania

0 głosów
3 odpowiedzi 551 wizyt
pytanie zadane 17 kwietnia 2016 w Nasze projekty przez CzikaCarry Szeryf (75,340 p.)
0 głosów
2 odpowiedzi 451 wizyt
pytanie zadane 11 maja 2016 w C i C++ przez DragonCoder Nałogowiec (36,500 p.)
+1 głos
3 odpowiedzi 1,238 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...