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
  Programowanie Batch (CMD) Informatyk2019 0 1850 11.12.2019, 18:30
Ostatni post: Informatyk2019
Scared Ipad Pro programowanie? NissmoOne 4 10343 06.10.2018, 12:22
Ostatni post: NissmoOne
  Czy programowanie jest dla mnie? Co powinienem robić? Kumiku 2 9974 05.01.2018, 20:14
Ostatni post: broda99

Skocz do:


Wybrane wątki (Programowanie windy (problem) w C++)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Mój pierwszy projekt - Pomoc rafal12999 1 7808 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 9218 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 8089 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 8820 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 8127 10.01.2019 13:12
Ostatni post: jurek2
  Zamiana całego zestawu znaków wg przyporządkowania BarHorab 5 8827 19.12.2018 16:45
Ostatni post: Szachista
  Sumowanie licz excel - problem OxyGenE 2 11511 19.12.2018 16:29
Ostatni post: Szachista
  Jaki kod pod pewne zdarzenia visualbasic 2010 aktywny27 4 9296 07.11.2018 13:41
Ostatni post: Ajgor
Scared Ipad Pro programowanie? NissmoOne 4 10343 06.10.2018 12:22
Ostatni post: NissmoOne
  C# pierwsza pusta komórka Excel DonCorleone 0 9346 21.09.2018 16:58
Ostatni post: DonCorleone
  .bat nie kompresuje plików GIENTY 3 9893 06.09.2018 07:20
Ostatni post: broda99
  problem z programem .bat wiktrom12 4 11101 30.08.2018 08:25
Ostatni post: wiktrom12
  Silnik do gier ZigglerGames 1 9725 23.08.2018 09:03
Ostatni post: Szachista
  Chciałbym zrobić prosty plik exe z jedną funkcją densour 4 10502 09.08.2018 16:24
Ostatni post: Ajgor
  Który język wybrać do stworzenia aplikacji synchronizujące pliki z urządzeniem mobiln Elemental 2 2593 18.07.2018 12:05
Ostatni post: Ajgor