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

[Pytanie] [C++] Początkująca "praca domowa"


DyeR

Rekomendowane odpowiedzi

Opublikowano

Witam

Czytam sobie kurs c++ z tej strony : http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Obsluga-strumienia-wyjsciowego/9

 

Na końcu jest zadanie żeby napisać program który wyświetli coś takiego :

==============

= To proste! =

==============

 

Mam mniej więcej taki kod :

 

#include 

#include

int main ()

{

std::cout << "\============== \n";

printf ( "\ = To proste! = \n");

std::cout << "\============== \n";

return 0;

 

}

 

I kompilator zwraca 3 uwagi i 0 błędów.

 

Moje pytania:

1. Co robie źle ?

2.Czy w linijce printf moge użyć std::cout zamiast printf ?

 

pozdrawiam

 

Opublikowano

o fuck xD patrz teraz zauważyłem xD ale czy to normalne że gdy nie incliduje to program się normalnie uruchamia ?

 

uruchomiło ale kompilator zwraca 3 uwagi

Opublikowano

aha :D dzięki xD wkrótce będe pisał więcej tematów bo zaczynam przygodę z C++. Temat do zamknięcia

Opublikowano

Uwagi to se można wsadzić w d...

Dopiero, gdy przeanalizujesz kod, nad którym kompilator gdyba i będziesz w 100% pewien, że ten kod jest bezpieczny i nie będzie z nim dziwnych problemów.

 

Przy okazji, co do zamykania tematów... Po co? (głównie do moda, ostatnio to lubi robić, a ja nie mogę sprostować niektórych postów w temacie)

A co jeśli wystąpi taka sytuacja, że autor tematu dostanie złą lub nie do końca dobrą odpowiedź i wyjdzie z przekłamanymi informacjami w głowie. Mam mu pisać na priv, że ktoś go wprowadził w błąd i wyjaśnić dokładnie? Przecież od tego są wątki. Tematów nie powinno się zamykać, chyba, że jest jakiś ważniejszy powód.

Opublikowano

Dopiero, gdy przeanalizujesz kod, nad którym kompilator gdyba i będziesz w 100% pewien, że ten kod jest bezpieczny i nie będzie z nim dziwnych problemów.

 

Przy okazji, co do zamykania tematów... Po co? (głównie do moda, ostatnio to lubi robić, a ja nie mogę sprostować niektórych postów w temacie)

A co jeśli wystąpi taka sytuacja, że autor tematu dostanie złą lub nie do końca dobrą odpowiedź i wyjdzie z przekłamanymi informacjami w głowie. Mam mu pisać na priv, że ktoś go wprowadził w błąd i wyjaśnić dokładnie? Przecież od tego są wątki. Tematów nie powinno się zamykać, chyba, że jest jakiś ważniejszy powód.

 

 

Spójrz na mój kod wyżej. Ciekaw jestem w której linijce jest poważny błąd wspomniany przez "warning" z kompilatora. Jestem w 100% pewien, że jest bezpieczny i nie będzie z nim dziwnych problemów.

Opublikowano

Ja jestem w ogóle ciekaw, jakie to uwagi zgłasza.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Spójrz na mój kod wyżej. Ciekaw jestem w której linijce jest poważny błąd wspomniany przez "warning" z kompilatora. Jestem w 100% pewien, że jest bezpieczny i nie będzie z nim dziwnych problemów.

Jak już tak chcesz:

std::cout << "\============== \n\ = To proste! = \n\============== \n";

Błąd:

"\=" "\ " :)

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano

No tak...

 

Zbędne backslashe w strumieniu. Bo ogólnie backslash w strumieniach ma swoją po prostu funkcjonalność "\n" - nowa linia, "\"" wyświetlenie cudzysłowia itp itd.

Po prostu nie ma czegoś takiego jak "\=" albo "\ ", więc kompilator się pluje.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Poprawnie do oznaczania znaku \ powinno się używać '\\' i tyle. Czasem można się na tym przejechać.

#include <iostream>
int main ()
{
    std::cout << "\\============== \n\\ = To proste! = \n\\============== \n";
    return 0;
}
to się kompiluje bez żadnego warninga

 

Jestem w 100% pewien, że jest bezpieczny i nie będzie z nim dziwnych problemów.

może akurat w tym przypadku nic źle się nie potoczy, ale tak jak powiedziałem, przyzwyczajenie się do używania \ zamiast \\ może powodować niechciane sytuacje. Niegroźne, ale zawsze.

 

@down, słuszna uwaga

Opublikowano

@UP w zadaniu nie ma znaków backslasha, więc są one po prostu zbędne i trzeba je wyrzucić.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Tak nie będzie prościej?

#include <iostream>

using namespace std;

main()
{
    cout << "\\============== \n\\ = To proste! = \n\\============== \n";
    return 0;
}
Opublikowano

@up. To samo w sobie jest takie proste, że ciężko jest bardziej skomplikować. A dodanie using namepsce std:: w żaden sposób nie zmienia czytelności kodu. Możliwe, że nawet ją pogarsza. Już nie mówię o braku typu zwracanego przez main.

Osobiście zrobiłbym to tak. Nie ma sensu nic więcej robić z tym kodem

#include <iostream>

int main()
{
    std::cout << "\\============== \n"
                 "\\ = To proste! = \n"
                 "\\============== \n";
    return 0;
}
Opublikowano

Zamiast \n zawsze można użyć std::endl, jestem początkującym w C++ i mogę się mylić :D

Zbieram warny za offtop (rzekomy SPAM).

Opublikowano

Zamiast \n zawsze można użyć std::endl, jestem początkującym w C++ i mogę się mylić :D

Nie dość, że utrudnia sprawę to jeszcze flushuje bufor. A to nie jest zawsze konieczne.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...