logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dev-C++: Błędne wyświetlanie planu lekcji przy wyborze dnia tygodnia

osioł123 06 Wrz 2012 14:48 1356 8
REKLAMA
  • #1 11284316
    osioł123
    Poziom 18  
    Posty: 382
    Pomógł: 3
    Ocena: 29
    Witam!
    Korzystam z programu Dev-c++ i zaczynam z programowaniem. Napisałem mój pierwszy samodzielny program, który nawet trosze działa... Jest to po prostu plan lekcji :D Ale trosze działa, ponieważ jak wpisuje np. "Wtorek" pojawia mi się plan lekcji z poniedziałku... Co zepsułem? Kompiluje i odpala bez problemu. Jak można byłoby dodać pauze? Dzięki z góry za pomoc, a oto i program:

    Kod: text
    Zaloguj się, aby zobaczyć kod



    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. Proszę to poprawić! - arnoldziq
  • REKLAMA
  • #2 11284358
    otapi
    Poziom 26  
    Posty: 640
    Pomógł: 86
    Ocena: 103
    haha ten program zawsze wyświetli Ci plan z poniedziałku chyba ze wpiszesz poniedziałek to z wtorku :]

    != oznacza że np nie poniedziałek czyli każdy inny podany dzień, zamień wszystkie != na == co będzie znaczyło że jeżeli poniedziałek to plan z poniedziałku ;]
  • REKLAMA
  • #3 11284443
    osioł123
    Poziom 18  
    Posty: 382
    Pomógł: 3
    Ocena: 29
    Łaha! :D
    Taki dobry to jeszcze nie jestem... A jak z tą pauzą, żeby sobie np. program chodził bez środowiska Dev C++?

    Dodano po 1 [minuty]:

    A ogólnie dobrze to jest????

    Dodano po 32 [minuty]:

    Troche się pospieszyłem... Dopiero teraz sprawdziłem ową poprawkę i... teraz już całkiem nic nie wyświetla. Daje screen'y
    Dev-C++: Błędne wyświetlanie planu lekcji przy wyborze dnia tygodnia Dev-C++: Błędne wyświetlanie planu lekcji przy wyborze dnia tygodnia
  • REKLAMA
  • #4 11284645
    przemko07
    Poziom 16  
    Posty: 161
    Pomógł: 24
    Ocena: 4
    Kilka rzeczy:
    int to liczby(całkowite czyli 1,2,3), jeżeli natomiast chcesz przechowywać w zmiennej ciąg znaków(np. poniedzialek) to użyj tablicy znaków albo stringa.
    Tablica znaków
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Problem z tablicą znaków jest taki że długość wyrazu będzie ograniczona (tutaj akurat 10 max znaków) oraz białe znaki są interpretowane jako koniec ciągu(białe znaki to spacje, entery).
    Drugim sposobem są stringi.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Tutaj zarówno nie ma ograniczenia w długości wyrazu, oraz można wstawiać spacje w zdaniu. Co do tablicy charów, każda tablica charów oprócz swojej wartości.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Będzie miała na końcu swojego ciągu NULL, czyli wartość 0,
    Kod: text
    Zaloguj się, aby zobaczyć kod

    A to dlatego że użyłem podwójnych apostrofów ("wyraz"), pojedyncze apostrofy służą do pojedynczych znaków, tak jak to zrobiłem powyżej.
    Więc jeśli chciałbyś sprawdzić czy dzien jest równy poniedizałkowi to z podwójnymi apostrofami. Co do stringa, różni się trochę w trzymaniu danych od tablicy, ale na początku nie musisz tego znać. Używa się tak samo jak tablice, i tak samo działają apostrofy oraz wybieranie poszczególnej litery.
    Do pauzowania programu możesz użyć 2 znanych mi funkcji
    Kod: text
    Zaloguj się, aby zobaczyć kod

    problem jest tylko taki, że będzie wyprowadzać na ekran niepotrzebne śmieci.
    Ale możesz też użyć
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Tutaj nie będzie zbędnych informacji na ekranie. Funkcja ma jeszcze inne możliwości ale to sobie w kursach poczytasz :)
  • REKLAMA
  • #5 11285019
    osioł123
    Poziom 18  
    Posty: 382
    Pomógł: 3
    Ocena: 29
    Yyyyyeeeee... Nie rozumiem troche... wszystkiego... :D
    Zamiast int dałem char. Zamiast != jest ==. Czuję że mam coś zmienić w nawiasach przy funkcjach if... ale nie wiem co... Nie doszedłem do tego jeszcze...
  • #6 11285163
    przemko07
    Poziom 16  
    Posty: 161
    Pomógł: 24
    Ocena: 4
    Najprościej będzie Ci użyć stringów (domyślam się że tablic jeszcze nie opanowałeś a tym właśnie jest char[n]).
    To != oraz == to są operatory logiczne, jest ich trochę. Bez jakiegoś kursu, najfajniej online(bo darmowy) się nie obejdzie programowanie.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #7 11286649
    otapi
    Poziom 26  
    Posty: 640
    Pomógł: 86
    Ocena: 103
    I dobrze czujesz.... bo tak naprawdę do porównania stringów używa się funkcji compare(), ale tego tłumaczyć chyba nikt nie będzie, od tego są google tutoriale i kursy ;]
  • #8 11286782
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    Czemu nie zrobisz tego obiektowo jak już zdecydowałeś się na C++ ?

    Obiekt planu, obiekt dzień, i obiekt lekcji

    Plan zawiera kolekcję dni, każdy z dni ma kolekcję lekcji
  • #9 11287714
    osioł123
    Poziom 18  
    Posty: 382
    Pomógł: 3
    Ocena: 29
    Dzięki za pomoc! Ale postanowiłem troszkę zmodyfikować mój program. "Profesjonalnie zrobię to jak będę lepszy. Teraz ów program wygląda tak(i działa!) :
    Kod: text
    Zaloguj się, aby zobaczyć kod

Podsumowanie tematu

✨ Użytkownik korzystający z Dev-C++ napotkał problem z programem do wyświetlania planu lekcji, który nieprawidłowo wyświetlał plan dla wybranego dnia tygodnia. Odpowiedzi sugerowały, aby zmienić operatory porównania z "!=" na "==", co pozwoli na poprawne wyświetlanie planu w zależności od wprowadzonego dnia. Użytkownik został również poinformowany o konieczności użycia typów danych char lub string do przechowywania nazw dni tygodnia. W kolejnych wiadomościach użytkownik zaktualizował swój program, aby działał poprawnie, zmieniając sposób wprowadzania dni na numeryczne oraz dodając nowe funkcjonalności.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA