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

Ocena małego programu.

Object Storage Arubacloud
0 głosów
464 wizyt
pytanie zadane 13 czerwca 2017 w C i C++ przez tomek100 Nowicjusz (170 p.)
Witam, miałem lekką przerwę w nauce programowania, więc w sumie nadal jestem początkujący, dobrnąłem bodajże do 13 odcinka z kursu programowania Mirosława Zelenta na Youtube. Chciałbym by ktoś doświadczony ocenił mój kod i podpowiedział co w nim mogę zmienić, by go usprawnić (na pewno myślę o tym, żeby zrobić coś z 18 else ifami, które słabo wyglądają). Wiem, że program wysypuje się po wprowadzeniu literki zamiast cyfry - nad tym będę musiał również jeszcze popracować. Jak widzicie poniżej użyłem własnych funkcji do obliczania BMI i zapotrzebowania kalorycznego, w tym programie to nie było raczej potrzebne, ale chciałem zastosować to co zobaczyłem w filmie Pana Mirosława. Wydaję mi się, że poza wysypywaniem się programu po wpisaniu literki, wszystko gra.

https://pastebin.com/jXSQ3SNv

4 odpowiedzi

+1 głos
odpowiedź 13 czerwca 2017 przez bimbrownik Mądrala (5,180 p.)
edycja 13 czerwca 2017 przez bimbrownik
 
Najlepsza

Do tej średniej nie łatwiej byłoby użyć pętli? Do wczytywania ocen pętla z użyciem tablicy stringów z nazwami przedmiotów. Mogłoby to wyglądać jakoś tak:

for(int i = 0; i < liczba_przedmiotow; i++) // jeżeli chcesz ją zmniejszać w pętli to potrzebny jest jakiś bufor, który przechowa jej wartość
{
   cout << nazwaPrzedmiotu[i];
   cin >> ocena[i];
   // reszta kodu
}

Tak samo przy obliczaniu średniej - tworzysz zmienną suma, pętlą dodajesz każdą z ocen, a później dzielisz ją przez liczbę przedmiotów.

Poza tym jeżeli chcesz po ifie napisać tylko jedną linię kodu to nie musisz pisać nawiasów klamrowych. Przykładowo:

if (srednia>=4.75) cout<<"TAK!"<<endl;

No i oczywiście, jak już Pajdas wcześniej pisał, powinieneś stworzyć więcej funkcji, które obsługują dany element programu (średnia, kalkulator, bmi).

 

komentarz 13 czerwca 2017 przez tomek100 Nowicjusz (170 p.)
Dzięki za odpowiedź.
+1 głos
odpowiedź 13 czerwca 2017 przez 10kw10 Pasjonat (22,880 p.)

takze ten...

srednia = (ocena[0]+ocena[1]+ocena[2]+ocena[3]+ocena[4]+ocena[5]+ocena[6]+ocena[7]+ocena[8]+ocena[9]+ocena[10]+ocena[11]+ocena[12]+ocena[13]+ocena[14]+ocena[15]+ocena[16]+ocena[17])/liczba_przedmiotow;

 

0 głosów
odpowiedź 13 czerwca 2017 przez Pajdas Mądrala (5,930 p.)
No co tu dużo mówić. Możesz poprawić czytelność programu tworząc więcej funkcji np. menu oraz używając obiektowości, ale podejrzewam, że na tym poziomie nie miałeś z nią jeszcze styczności.

Jeżeli chcesz jednak ulepszyć ten program teraz, to skup się na podziale menu na funkcje i za pomocą pętli umożliw poruszanie się po interfejsie, czyli powracanie do jakiegoś menu, cofanie swoich działań, powtarzanie obliczeń podczas jednego działania programu. Na początek stwórz trzy funkcje: do obliczania średniej ocen, do kalkulatora i do BMI. Później w tych funkcjach odnoś się do kolejnych funkcji obsługujących działania o niższym poziomie abstrakcji (polecam książkę Czysty Kod)
–2 głosów
odpowiedź 13 czerwca 2017 przez Hiskiel Pasjonat (22,830 p.)
Ja nie jestem jakoś SUPER doświadczony, ale nieźle zrobione!
komentarz 13 czerwca 2017 przez Pajdas Mądrala (5,930 p.)
Trochę mało konkretna komentarz. Przynajmniej ja uważam, że jeżeli nie ma się nic do powiedzenia to nie powinno się nic mówić. Wszystkie pochwały i co ważniejsze krytyka powinny być oparte o jakieś wyjaśnienie i przykład
komentarz 14 czerwca 2017 przez Hiskiel Pasjonat (22,830 p.)
Każda pochwała motywuje, a każda nagana wymusza zmiane na lepsze - więc jeśli jest szansa na zmiane lub jest szansa aby kogoś zmotywować, to czemu tego nie zrobić?
komentarz 14 czerwca 2017 przez Pajdas Mądrala (5,930 p.)
Dlaczego? Ponieważ pochwała kiedy nie jest słuszna, może stać się powodem, dla którego osoba przestanie poprawiać swoje umiejętności i zacznie uważać źle napisany program program za dobry. Dlatego powinno się mówić CO jest dobre i CO złe, a nie określać wszystkiego jako dobre, albo złe

Podobne pytania

0 głosów
2 odpowiedzi 306 wizyt
pytanie zadane 17 października 2017 w C i C++ przez Czarus0 Obywatel (1,040 p.)
+1 głos
1 odpowiedź 198 wizyt
pytanie zadane 19 listopada 2017 w Nasze projekty przez DragonCoder Nałogowiec (36,500 p.)
0 głosów
2 odpowiedzi 215 wizyt
pytanie zadane 19 kwietnia 2018 w Sieci komputerowe, internet przez Aneta_30 Nowicjusz (180 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 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!

...