Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem]Początki programowania


Rekomendowane odpowiedzi

Opublikowano

Witajcie moi drodzy, dzisiaj wzięło mnie na programowanie, a mianowicie naukę w C++

Ludzie mówili, żebym od razu zaczął naukę na C++, bo C# jest strata czasu, a samo C++ jest kompatybilne z C#

 

Uczę się z kursem internetowym, robię krok po kroku ćwiczenia i "zadanie domowe", staram się analizować każdy przykład i próbować z tych podstaw które potrafię coś samemu ułożyć albo pozmieniać.

Tak wesoło z pozytywnym podejściem uczyłem się do momentu, kiedy zatrzymały mnie zmienne i ich inicjalizacja.

 

Mam tam podany przykład kodu (Którego tutaj nie mogę udostępnić ze względu na prawa autorskie), który wydaje mi się, że rozumiem.

Ale jak przychodzi do zadania:

 

#include <iostream>
int main()
{
    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

Kompilowanie tego programu nie powodzi się i mam za zadanie poprawić go tak, aby to się udało.

Oto błąd z logu:

error: 'nieznana' was not declared in this scope 

 

Tutaj jak ja to próbowałem rozwiązać:

#include <iostream>

int main()
{
    unsigned char neznana;
    nieznana = '123';

    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

Problem oczywiście nie znika... Walczę z tym już jakieś 3 godziny dlatego tutaj pisze, próbowałem to robić już nie jedna zmienną.

Rozumiem pojęcie unsigned i posiadam tabelkę z wartościami zmiennych i ilością bajtów. Według niej chyba wszystko się zgadza. Nie wiem na prawdę ludzie co mam zrobić, determinacji nadal nie tracę i próbuje, ale jak na razie nic z tego.

 

Czy znajdzie się osoba, która wytłumaczy mi dokładnie na czym polegają te zmienne i wszystko z nimi związane? Przydałby mi się taki korepetytor, kurs swoją drogą ale go nie zapytam, żeby mi dokładnie objaśnił dane pojęcie albo zdanie...

Jestem w stanie nawet jakiś grosz zapłacić za taką pomoc, jak okaże się przydatna.

 

Ps. Wiem, że na pewno jest jakiś durny błąd w tym kodzie i wyjdę na durnia, ale jestem kompletnie zielony. Jeszcze jedno jak masz zamiar pisać mi poprawiony kod w odpowiedzi lub śmiać się ze mnie to oszczędź sobie tego, bo od razu cię zgłoszę za spam. Liczę na prawdziwa pomoc :)

 

Źródło kodu do zadania i strona kursu:

http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Pojecie-zmiennej-i-podstawowe-typy-danych/11

linki poza mpc

Opublikowano

a samo C++ jest kompatybilne z C#

Nie. Jest kompatybilne wstecz z C, ale to i tak bardziej wada niż zaleta.

 

Poczytaj o literałach.

http://www.cplusplus.com/doc/tutorial/constants/

odchudzona wersja http://msdn.microsoft.com/en-us/library/c70dax92%28v=vs.80%29.aspx

'123' nie jest poprawną wartością char. (znaczy się, poprawną jest, ale raczej zachowa się inaczej niż oczekujesz)

 

 

przy okazji. Masz literówkę w kodzie. "neznana"

Opublikowano

Nie. Jest kompatybilne wstecz z C, ale to i tak bardziej wada niż zaleta.

 

Poczytaj o literałach.

http://www.cplusplus.com/doc/tutorial/constants/

odchudzona wersja http://msdn.microsoft.com/en-us/library/c70dax92%28v=vs.80%29.aspx

'123' nie jest poprawną wartością char. (znaczy się, poprawną jest, ale raczej zachowa się inaczej niż oczekujesz)

 

 

przy okazji. Masz literówkę w kodzie. "neznana"

Dzięki, jestem ślepy... Głowiłem się nad tym przez tyle czasu, a tam była tylko zwykła literówka, teraz działa ale rezultatu takiego jaki jest nie oczekiwałem.

Wyskakuje tylko "3", ale teraz chyba zostało mi tylko ogarnąć właśnie te zmienne czyli kiedy jakiej używać i w jakim celu.

Poczytam to co wysłałeś, w razie problemów edytuje ten komentarz.

Oczywiście dzięki :)

 

@Edit

Okej poczytałem i zrozumiałem, też się bardziej zagłębiłem w tą tabelkę w kursie i samo działanie, teraz wszystko jest okej i rezultat oczekiwany.

Kod wygląda tak:

#include <iostream>

int main()
{
    unsigned int nieznana;
    nieznana = 123;

    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

 

Także dziękuje ci jeszcze raz, mogę ruszać z kursem dalej, programowanie mnie najwidoczniej pochłonęło i nie mam zamiaru się poddawać ;)

linki poza mpc

Opublikowano

Nie. Jest kompatybilne wstecz z C, ale to i tak bardziej wada niż zaleta.

 

Poczytaj o literałach.

http://www.cplusplus.com/doc/tutorial/constants/

odchudzona wersja http://msdn.microsoft.com/en-us/library/c70dax92%28v=vs.80%29.aspx

'123' nie jest poprawną wartością char. (znaczy się, poprawną jest, ale raczej zachowa się inaczej niż oczekujesz)

 

 

przy okazji. Masz literówkę w kodzie. "neznana"

 

C++ nie jest kompatybilny wstecz z C, tylko na nim są oparte podstawy. (zmienne, funkcje ...) polecam się zapoznać z tym http://www.intercon.pl/~sektor/cbx/basics/deprecated.html.

 

Uzasadnij w ogóle dlaczego miała to by być wada ? 8S 8S 8S 8S 8S 8S

Opublikowano

C++ nie jest kompatybilny wstecz z C, tylko na nim są oparte podstawy.

Jest kompatybilny wstecz z C, bo każdy (prawie) kod z C zadziała w C++.

 

Wada, bo zatrzymuje rozwój C++ w niektórych zakresach. Zostaje też dużo niepotrzebnego syfu jak c style cast, czy struct

Opublikowano

 

Witajcie moi drodzy, dzisiaj wzięło mnie na programowanie, a mianowicie naukę w C++

Ludzie mówili, żebym od razu zaczął naukę na C++, bo C# jest strata czasu, a samo C++ jest kompatybilne z C#

 

Uczę się z kursem internetowym, robię krok po kroku ćwiczenia i "zadanie domowe", staram się analizować każdy przykład i próbować z tych podstaw które potrafię coś samemu ułożyć albo pozmieniać.

Tak wesoło z pozytywnym podejściem uczyłem się do momentu, kiedy zatrzymały mnie zmienne i ich inicjalizacja.

 

Mam tam podany przykład kodu (Którego tutaj nie mogę udostępnić ze względu na prawa autorskie), który wydaje mi się, że rozumiem.

Ale jak przychodzi do zadania:

 



#include <iostream>
int main()
{
    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

Kompilowanie tego programu nie powodzi się i mam za zadanie poprawić go tak, aby to się udało.

Oto błąd z logu:



error: 'nieznana' was not declared in this scope 

 

Tutaj jak ja to próbowałem rozwiązać:



#include <iostream>

int main()
{
    unsigned char neznana;
    nieznana = '123';

    std::cout << "Liczba = " << nieznana << std::endl;
    return 0;
}

Problem oczywiście nie znika... Walczę z tym już jakieś 3 godziny dlatego tutaj pisze, próbowałem to robić już nie jedna zmienną.

Rozumiem pojęcie unsigned i posiadam tabelkę z wartościami zmiennych i ilością bajtów. Według niej chyba wszystko się zgadza. Nie wiem na prawdę ludzie co mam zrobić, determinacji nadal nie tracę i próbuje, ale jak na razie nic z tego.

 

Czy znajdzie się osoba, która wytłumaczy mi dokładnie na czym polegają te zmienne i wszystko z nimi związane? Przydałby mi się taki korepetytor, kurs swoją drogą ale go nie zapytam, żeby mi dokładnie objaśnił dane pojęcie albo zdanie...

Jestem w stanie nawet jakiś grosz zapłacić za taką pomoc, jak okaże się przydatna.

 

Ps. Wiem, że na pewno jest jakiś durny błąd w tym kodzie i wyjdę na durnia, ale jestem kompletnie zielony. Jeszcze jedno jak masz zamiar pisać mi poprawiony kod w odpowiedzi lub śmiać się ze mnie to oszczędź sobie tego, bo od razu cię zgłoszę za spam. Liczę na prawdziwa pomoc :)

 

Źródło kodu do zadania i strona kursu:



http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Pojecie-zmiennej-i-podstawowe-typy-danych/11

zadeklarowales neznana a powinno byc nieznana

Opublikowano

@up może przejrzyj temat zanim coś napiszesz, bo spamujesz ^_^

 

@Sopelek

Albo coś jest kompatybilne, albo nie. Nie może być prawie kompatybilne, to tak jak byś napisał że ktoś jest prawie żywy. Albo jest żywy albo martwy.

Jak znajdzie się kod który jest poprawny w C, a nie działa w C++ to C++ już traci miano bycia kompatybilnym z C. ( zobacz na stronę którą podałem jeśli Cię to interesuje ).

 

Sam kiedyś napisałeś:

To lepiej nic nie mówić. To jest wprowadzanie w błąd. Potem są
niejasności, bo gość nie wie o czym mówi i wszystko mu się niepoprawnie
kojarzy/składa. W dodatku ciężko jest potem zmienić pogląd na poprawny.
Uczyć się powinno poprawnie od początku, albo w ogóle.

 

A co do zatrzymania rozwoju, to ja jednak widzę że się C++ rozwija w miarę dobrze, bo nawet powstaje standart c++11. :P

Więc tutaj też nie masz za bardzo racji ;p

Ale może są jakieś inne jak Ty to nazwałeś "zakresy rozwoju", ktokolwiek widział ktokolwiek wie :)

Opublikowano

Albo coś jest kompatybilne, albo nie. Nie może być prawie kompatybilne, to tak jak byś napisał że ktoś jest prawie żywy. Albo jest żywy albo martwy.

 

Jak znajdzie się kod który jest poprawny w C, a nie działa w C++ to C++ już traci miano bycia kompatybilnym z C. ( zobacz na stronę którą podałem jeśli Cię to interesuje ).

Więc czemu zostaje ten syf z C? Po to, żeby programy napisane w C, które nie są bez, lub po małej modyfikacji, działały w C++. Może to, że jest kompatybilny wstecz to za dużo, C++ stara się taki być.

 

Ale może są jakieś inne jak Ty to nazwałeś "zakresy rozwoju", ktokolwiek widział ktokolwiek wie :)

Preprocesor coś się nie chce rozwijać. A tym bardziej zmieniać. Został tylko ten z C
Opublikowano

@up może przejrzyj temat zanim coś napiszesz, bo spamujesz ^_^

 

@Sopelek

Albo coś jest kompatybilne, albo nie. Nie może być prawie kompatybilne, to tak jak byś napisał że ktoś jest prawie żywy. Albo jest żywy albo martwy.

Jak znajdzie się kod który jest poprawny w C, a nie działa w C++ to C++ już traci miano bycia kompatybilnym z C. ( zobacz na stronę którą podałem jeśli Cię to interesuje ).

 

Sam kiedyś napisałeś:

 

 

A co do zatrzymania rozwoju, to ja jednak widzę że się C++ rozwija w miarę dobrze, bo nawet powstaje standart c++11. :P

Więc tutaj też nie masz za bardzo racji ;p

Ale może są jakieś inne jak Ty to nazwałeś "zakresy rozwoju", ktokolwiek widział ktokolwiek wie :)

aaa sory nie widziałem :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...