Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - warunek kończący program

ndzej 23 Gru 2016 19:45 537 6
  • #1 23 Gru 2016 19:45
    ndzej
    Poziom 4  

    Nie wiem co wpisać, aby program kończył wpisywanie łańcuchów po wpisaniu łańcucha pustego(gdy nacisnę 2 razy enter).

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 6
  • #2 23 Gru 2016 20:06
    2675900
    Użytkownik usunął konto  
  • #3 24 Gru 2016 09:43
    ndzej
    Poziom 4  

    niestety nie działa, napisałem jednak coś takiego, tylko tu z kolei musze dwa razy wpisywac pierwszą literę gdyż jest zjadana, i nie wiem co poprawić

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #4 24 Gru 2016 11:03
    2675900
    Użytkownik usunął konto  
  • #5 25 Gru 2016 16:39
    JacekCz
    Poziom 35  

    Kolega miesza, z tego co na szybko zdążyłem zauważyć.
    Bibliotekę (niestandardową) getch, conio.h itd...
    Pliki C (FILE )
    Strumienie C++ (w starszym dialekcie)

    każda z tych bibliotek ma swoje bufory, swoją strategię pobierania z 'zewnątrz' (świadomie nie użyłem słowa systemu operacyjnego, bo conio.h działa bardziej na poziomie BIOS niż DOS), swoją koncepcję końca linii (inną!).
    To nie może działać. Uporządkuj do jednej stałej metody.

    Nie polepsza jakości kodu używanie w C++ stringów typu C (w konsekwencji męczysz się z alokowaniem, gubisz pamięć). To z nieznanych mi powodów chora moda, mam być pseudohakersko szybsze o nanosekundy? Obawiam się że nie będzie.
    Okłamywanie samego siebie "nieczystymi" nazwami / funkcjonalnościami funkcji (sortowanie które czasem sortuje, czasem wraca z magicznych powodów). Staraj się trzymać konwencję "czasownik" (lepiej "pobierz" niż "do pobrania") i ją w sposób czysty zrealizować. Np do tego kodu który jest funkcja "sortuj" powinna się nazywać "sortujalboiniesortuj", poczuj, że coś z tym nie gra.

    Magiczne stałe w rodzaju 13 itd... (nie tłumacz, wiem co chciałeś)

    To są wszystko składniki generalnie niskiej jakości kodu, plus stare niestatndardowe biblioteki. Nie spodziewaj się, że jakiś kolega to wklei i dokona uruchomienia.

    0
  • #6 29 Gru 2016 22:35
    kapidt
    Poziom 8  

    Jeżeli chodzi o dwukrotne entery to polecam Pratę. Tam jest bardzo dobrze to opisane.

    0
  • #7 30 Gru 2016 15:52
    Chudy20007
    Poziom 5  

    Zawsze możesz przed wpisywaniem danych spytać się użytkownika ile tych łańcuchów wpisać. Potem możesz spokojnie poprawić pętle while poprzez wykorzystanie zmiennej w której zapiszesz ilość łańcuchów do wpisania.

    0