Promocja językowa LINGO

Lekcja 3

Wszystkie informacje związane z Kurs C++ - POZIOM 1

Moderator: Moderatorzy

Lekcja 3

Postprzez mnabialek Śr paź 25, 2006 14:23 pm

W tym temacie można zgłaszać uwagi, błedy lub niejasności dotyczące 3 lekcji kursu C++ na stronie http://www.ithelpdesk.pl.
Avatar użytkownika
mnabialek
Administrator
Administrator
 
Posty: 657
Dołączył(a): Śr paź 25, 2006 14:05 pm
Lokalizacja: Częstochowa

Postprzez Gość Śr sty 03, 2007 20:33 pm

Uwagi mam w zasadzie 4:
1. Czy używanie klasy string w tym programie ma sens? Bo zdaje się, że wątpliwy choćby ze wzglęgu na konieczność dołączania dodatkowego pliku nagłówkowego.
2. Chodzi o cin.ignore(1,EOF) nie wydaje się najlepszym sposobem na "opróżnienie" strumienia.
3. Oczekiwanie na wciśnięcie klawisza poprzez gechar() jest dobre ale w tym przypadku nie najlepsze rozwiązanie choćby dlatego, że może być to tylko ENTER.
4. Czy deklarowanie wszystkiego w globalnej przestrzeni nazw jest w dobrym smaku?

Przedstawiam ten kod w innej konwencji jest prostrzy, krótszy i zdaje się wydajniejszy. Oczywiście mogę się mylić, bo dotarłem dopiero do trzeciej lekcji.

Kod: Zaznacz cały
#include <iostream>
int main()
{
  char name[10];
  std::cout <<"Podaj imie: ";
  std::cin.getline(name,10);
  std::cout <<"Witaj "<<name;
  std::cout <<"\nGratulacje. To Twoj pierwszy program!\n";
  system("pause");
  return 0;
}


P.S.
Komentarze wielo i jednolinijkowe to ciekawe określenie, ale prawda jest taka, że /**/ to komentarze w stylu C, a // w stylu C++. I ogólnie tak je się nazywa pozdrawiam.
Gość
obserwator
obserwator
 
Posty: 7
Dołączył(a): Wt sty 02, 2007 21:19 pm

Postprzez Armon Śr sty 03, 2007 21:09 pm

nie powinno się używać system("pause")
dlaczego??
http://cpp.codenewbie.com/articles/cpp/ ... age_1.html

String został wprowadzony do C++ z tego co wiem, a char byl uzywany w C. Poza tym od razu poznaje czlowiek co to jest string i uczy sie dodawania nastepnych naglowkow.

Od kiedy bez uzycia using namespace std program robi sie krotszy...

Gość napisał(a):3. Oczekiwanie na wciśnięcie klawisza poprzez gechar() jest dobre ale w tym przypadku nie najlepsze rozwiązanie choćby dlatego, że może być to tylko ENTER.

A może akurat chodzi oto zeby byl to TYLKO ENTER... uzywajac getch(); mozesz przypadkiem zakonczyc program zbyt szybko...
Life is brutal and full of zasadzkas but sometimes is good while and for this good while warto life ;)
http://videokurs.pl :-)
Avatar użytkownika
Armon
zaawansowany
zaawansowany
 
Posty: 389
Dołączył(a): Wt paź 31, 2006 23:45 pm

Postprzez Gość Śr sty 03, 2007 23:22 pm

Armon napisał(a):nie powinno się używać system("pause")
dlaczego??
http://cpp.codenewbie.com/articles/cpp/ ... age_1.html

Nie wynikają z tego jakieś wielkie przeciwskazania. Generalnie problem z zamykaniem jest spory bo np. dev nie potrafi tego zrobic automatycznie tak jak Visual'e. A jak już ktoś odpala program w warunkach bojowych np. w konsoli to efekt działania i tak nie zniknie.
Armon napisał(a): String został wprowadzony do C++ z tego co wiem, a char byl uzywany w C. Poza tym od razu poznaje czlowiek co to jest string i uczy sie dodawania nastepnych naglowkow.

ale uczy się też marnowania pamięci i pisania niewydajnych programów, a bez umiejętności operowania charami daleko nikt nie zajdzie. Char to typ zmiennych wbudowanych w C++ odziedziczony z C. String go nie zastąpi.
Armon napisał(a):Od kiedy bez uzycia using namespace std program robi sie krotszy...

Tego nie twierdzę tylko mówię, że to niestetycznie polecam zapoznać się z literaturą ojca C++ na ten temat.
Armon napisał(a):A może akurat chodzi oto zeby byl to TYLKO ENTER... uzywajac getch(); mozesz przypadkiem zakonczyc program zbyt szybko...

To właśnie getchar() przeskoczy jak nie zostaną wyczyszczone strumienie, a nie getch a getch() można "zamknąć" na znaki inne niż ENTER.

Tak jak we wszystkim można się sprzeczać i dyskutować. Ja nie krytykuje rozwiązań tyko pokazuje inne. Trochę mniej sceptyzmu. Zresztą przypominam, że:
Gość napisał(a):Oczywiście mogę się mylić, bo dotarłem dopiero do trzeciej lekcji.
Gość
obserwator
obserwator
 
Posty: 7
Dołączył(a): Wt sty 02, 2007 21:19 pm

Postprzez mnabialek Cz sty 04, 2007 08:52 am

Oboje wiemy, że Twoja wiedza wykracza poza 3 lekcję, więc nie wiem po co to jest:

Kod: Zaznacz cały
Oczywiście mogę się mylić, bo dotarłem dopiero do trzeciej lekcji.


Ten temat ma służyć raczej do zgłaszania błędów i niejasnych rzeczy w tej lekcji, a nie do dyskusji na temat sposobu pobierania znaków, wyższości funkcji getchar() nad getch().

Jeśli macie ochotę podyskutować, załóżcie oddzielny temat.

Nie wypowiadam się na temat uwag, bo niestety wszystkie z nich Gość są raczej mało sensowne...
Promocja na abonament w serwisie - kup lub poleć innym - szczegóły na Abonament w serwisie
Avatar użytkownika
mnabialek
Administrator
Administrator
 
Posty: 657
Dołączył(a): Śr paź 25, 2006 14:05 pm
Lokalizacja: Częstochowa

Postprzez Gość Cz sty 04, 2007 21:58 pm

mnabialek napisał(a):Oboje wiemy, że Twoja wiedza wykracza poza 3 lekcję, więc nie wiem po co to jest:

Kod: Zaznacz cały
Oczywiście mogę się mylić, bo dotarłem dopiero do trzeciej lekcji.


Cóż nie sądzę by wykraczała poza lekcję pierwszą lub nawet do niej dorastał. No ale cóż nie wnikam. Generalnie dzięki za ten kurs.

mnabialek napisał(a):Ten temat ma służyć raczej do zgłaszania błędów i niejasnych rzeczy w tej lekcji, a nie do dyskusji na temat sposobu pobierania znaków, wyższości funkcji getchar() nad getch().


Nie przypuszczam, żeby były błędy w działaniu programów, które prezntujesz. Nie krytykuje twoich rozwiązań, choć możliwe że da się odnieść takie wrażenie.

mnabialek napisał(a):Jeśli macie ochotę podyskutować, załóżcie oddzielny temat.

Ja dziękuje, bo już powiedziałem co chciałem i stwierdziłem, że to jest moja opinia z zaznczniem, i że nie koniecznie słuszna.

mnabialek napisał(a):Nie wypowiadam się na temat uwag, bo niestety wszystkie z nich Gość są raczej mało sensowne...

Na to nie powiem nic, bo nic SENSOWNEGO nie mogę na to odpowiedzieć.

Widzę, że odbierasz to jako jakiś atak czy coś. No nie wiem? Powim Ci, że zawsze są dwa wyjścia albo Próbować coś przyjąć albo udawać, że problemu nie ma.

Ale nie powinienyś odpowiadać na powyższe oboje wiemy dlaczego, więc tego nie rób.

O co chodzi? O to, że dobrze, że stworzyłeś kurs.
Zastrzeżenie do niego mam jedną dość zasadną, ale nie będę mówił o nim, bo widzę, że to nonsens.

Jeszcze raz dobrze, że powstał ten kurs. Pozdrawiam
Gość
obserwator
obserwator
 
Posty: 7
Dołączył(a): Wt sty 02, 2007 21:19 pm

Postprzez Marleyo Cz sty 04, 2007 23:14 pm

Gość przyjmijmy taką zasadę, że Twoja wiedza jest dość znikoma a Twoje uwagi naprawdę nic konkretnego tutaj nie wnoszą.
I proponuję już zakończyć dyskusję ;p
...Słyszałem i zapomniałem, czytałem i zapamiętałem, działałem i zrozumiałem...
Google - aurea mediocritas ;>
Avatar użytkownika
Marleyo
zaawansowany
zaawansowany
 
Posty: 320
Dołączył(a): N paź 29, 2006 10:20 am
Lokalizacja: mam to wiedzieć??

Następna strona

Powrót do KURS C++ POZIOM 1

Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości

cron
ręceprecz odtybetu | Programista PHP | Pozycjonowanie www | Seo link directory | Pozycjonowanie Częstochowa | wizy do rosji | wizy do uzbekistanu