Komendy w c++


(Hubert7441) #1

Witam jestem początkujący wiem proszę o wyrozumiałość :). Mam problem bo nie wiem jak zrobić takie cos ze jak wpiszemy jakas komendę w naszym programie(consolowa aplikacja) to aplikacja wyświetla nam dany tekst


(Johny) #2

Znajdż kurs c,c++ od podstaw na YouTube,to o co pytasz to instrukcje 

cout << “tekst”

printf(“tekst \n”);

albo

cin >> tekst - czytanie z klawiatury

scanf ('tekst %d",&a);


(Rolek0) #3

Polecam:


(blondkarol) #4

Przykładowy kod wyświetlający “Witam %podane_imie%”:

#include <iostream> // dyrektywa PREPROCESORA dodaje do programu zawartość pliku nagłówkowego iostream

int main() // nagłówek funkcji main - każdy program musi ją mieć (nie może to być jakieś MAIN, mian itp.)
// kiedy uruchamiamy nasz program to jego wykonanie zaczyna się od funkcji main, więc musi ona istnieć.
{
using namespace std; // udostępnienie przestrzeni nazw std, można udostępnić pojedyncze jej elementy np.
// std::cout , czy std::cin.
string imie; // deklaracja łańcucha znaków imie
cout << "Podaj swoje imie:" << endl; // wyświetlenie napisu ukazanego w cudzysłowie
cin >> imie; // zapis wprowadzonego tekstu do zmiennej imie
cout << "Witaj " << imie << " !"; // wyświetlenie napisu "Witaj" oraz zawartości zmiennej imie (np. Witaj Karol!)

return 0; // zakończenie działania funkcji main()

}

(Hubert7441) #5

blondkarol tyle to ja umiem. Mi chodzi ze jak np. w konsoli (naszej aplikacji) ,jak masz na imię" to żeby konsola odpisała ,Jarosław"


(Igorbugajski2) #6

Nie jestem pewien, o co ci chodzi, ale chyba o to:

#include <iostream>
#include <conio.h> //biblioteka pozwalajaca na uzycie m.in. funkcji getch()
 
using namespace std;
 
string pytanie;
 
int main()
{
    cout << "Zapytaj sie o cos..." << endl;
    cin >> pytanie;
 
    if(pytanie=="JakMaszNaImie?") //cin zapisuje tylko pojedyncze wyrazy
    {
        cout << "Nazywam sie Jaroslaw." << endl;
        getch(); //ta funkcja wczytuje pojedynczy wcisniety znak z klawiatury, czesto uzywana po prostu w celu zatrzymania tekstu na ekranie
    }
    else //tego nie trzeba
    {
        cout << "Nie rozumiem pytania." << endl;
        getch();
    }
 
    return 0;
}

@blondkarol Coś pokręciłeś, using namespace std; nie powinno być w mainie. :wink:


(Hubert7441) #7

GOKOP chyba zapomniałeś o bibliotece string.

A można zrobić tak żeby wpisywać cale zdania a nie tylko wyraz?


(Igorbugajski2) #8

Biblioteka string zawiera funkcje do zaawansowanych operacji na stringach, zwykłej stworzenie i używanie zmiennej string jej nie wymaga.

A wpisywać całe zdania da się, tylko nie pamiętam jak. :stuck_out_tongue:


(Drobok) #9

http://www.cplusplus.com/reference/string/string/compare/


(__Tux__) #10

 

W przypadku klasy std::string operator porównania (==) jest przeciążony, więc można użyć go do porównania.


(ktoś tam) #11

Tu masz dobry kurs dla początkujących po naszemu.

 

http://cpp0x.pl/kursy/

 

A co do problemu, to funkcja getline() może pobrać całą linijkę, do znaku nowej linii, albo do jakiegoś białego znaku. Poszukaj, bo dokładnie nie pamiętam specyfikacji. 


(Igorbugajski2) #12

Jeśli mowa o kursach, to o wiele bardziej polecam kanał tego gościa:

https://www.youtube.com/channel/UCzn6vAfspIcagLax1fck_jw


(ktoś tam) #13

Jeżeli chodzi o Youtube, to na początek mogę polecić MindControlDx. Nie jest to profesjonalny poradnik, ale łatwo mi było go zrozumieć, gdy zaczynałem, a zaczynałem właściwie od zera.

 

Dzięki za ten link, na pierwszy rzut oka mnie zaciekawił ten kanał.


(Piesek64) #14
string line;
getline(std::cin,line);
if(line=="Jak masz na imię?") {
cout << "Nazywam się Jarosław.\n";
} else {
cout << "Nie rozumiem pytania.\n";
}