Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Programowanie windy (problem) w C++

#1
Programowanie windy (problem) w C++
Witam. Mam za zadanie napisać program do windy. 3 dni nie śpię bo jestem początkująca i muszę go oddać na studia (stresik) i wiadomo, że nie chce zawalić Lol2 . Dlatego proszę was o pomoc. Program niby działa, ale zauważyłam, że co jakiś czas łapie mi błąd np. piszę że jestem na 4 piętrze, przyjeżdża winda nr 2 (mimo że winda nr 1 jest bliżej) i jak daję, że jadę na piętro nr 2 to pisze mi komunikat UP Boję się . Proszę pomóżcie mi wychwycić błąd w kodzie bo ja już na oczy nie widzę :D ewentualnie nie pogardzę paroma radami jak usprawnić (mój w sumie pierwszy prawdziwy, napisany własnymi ręcoma kod) lub poprawić jak wyłapiecie jakieś błędy.

Link do kodu:
https://pastebin.com/mbiyRGg8
 System operacyjny: windows_ten Przeglądarka: chrome
#2
RE: Programowanie windy (problem) w C++
Cześć, czy masz dokładną treść zadania? Zwróć uwagę na warunek
Kod:
if (b.twoje_pietro > w1.aktualne_pietro)
Podając piętro niższe zawsze przyjedzie winda nr 2. Powinnaś raczej badać różnicę piętra użytkownika i piętra, na której znajduje się winda, np.
Kod:
#include <iostream>
#include <cstdlib>
using namespace std;
enum kierunek
{
   DOWN, UP
};

struct winda
{
   int pietro;
   int przebieg;
   kierunek kierunek_jazdy;
   winda(int pietro=0, int przebieg=0, kierunek kierunek_jazdy=DOWN)
       : pietro(pietro), przebieg(przebieg), kierunek_jazdy(kierunek_jazdy)
   {
   }
};

struct budynek
{
   const int liczba_pieter;
   winda w1, w2;
   budynek() : liczba_pieter(5), w1(1, 14), w2(1, 17)
   {
   }
};

int main()
{
    return 0;
    budynek b;
    int twoje_pietro, nowe_pietro;
    while (true)
    {
        cout << "Podaj, na ktorym pietrze jestes: ";
        cin >> twoje_pietro;
        // faworyzowana winda z mniejszym przebiegiem
        const int w1_roznica = abs(b.w1.pietro-twoje_pietro) + b.w1.przebieg,
            w2_roznica = abs(b.w2.pietro-twoje_pietro) + b.w2.przebieg;
        if (w1_roznica <= w2_roznica)
        {
            // winda pierwsza pojedzie
            cin >> nowe_pietro;
            b.w1.przebieg += abs(nowe_pietro-b.w1.pietro);
            b.w1.pietro = nowe_pietro;
        }
        else
        {
            // winda druga pojedzie
            cin >> nowe_pietro;
            b.w2.przebieg += abs(nowe_pietro-b.w2.pietro);
            b.w2.pietro = nowe_pietro;
        }
    }
    return 0;
}
Co do reszty kodu: czy obiektowość jest dozwolona (bo dodałem konstruktor)?

 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: Programowanie windy (problem) w C++
Wydaje mi się, że nie. Jestem dopiero na I roku studiów i tego jeszcze nie przerabialiśmy. Mieliśmy się raczej opierać na pętlach, warunkach
 System operacyjny: windows_ten Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki (Programowanie windy (problem) w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Pytanie - programowanie batch [cmd] Max23 0 4693 20.03.2020, 01:03
Ostatni post: Max23
  Programowanie Batch (CMD) Informatyk2019 0 7217 11.12.2019, 18:30
Ostatni post: Informatyk2019
Scared Ipad Pro programowanie? NissmoOne 4 13250 06.10.2018, 12:22
Ostatni post: NissmoOne

Skocz do:


Wybrane wątki (Programowanie windy (problem) w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Programowanie Batch (CMD) Informatyk2019 0 7217 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 3301 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 15247 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 3776 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 9064 15.11.2019 15:57
Ostatni post: Alsenas
  Programy w C ~Anonim 1 8547 22.10.2019 17:48
Ostatni post: Szachista
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 9134 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4703 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 24529 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7211 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 8916 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 10839 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 10234 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 10260 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 12231 28.04.2019 19:31
Ostatni post: koneton