Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

bot do rozmowy

Ostatnio zmodyfikowano 2011-07-20 16:24
Autor Wiadomość
Holdysz
Temat założony przez niniejszego użytkownika
bot do rozmowy
» 2011-07-20 15:33:52
Postanowiłem zrobić bota do rozmowy że np. piszę mu cześć on odpisuje siema właściwie większość pracy mam za sobą tylko że mam 2 pytania bo mój kod wygląda następująco
C/C++
#include <iostream>
#include <string>
using namespace std;
int main()
{
   
    string tekst1 = "siema";
    string tekst2 = "co_tam?";
   
    string pyt;
   
    while( true )
    {
        cout << "\nPogadaj ze mna:\n " << endl;
        cin >> pyt;
       
       
       
        if( pyt == tekst1 )
        {
           
            cout << "Elo" << endl;
        }
       
       
        else
        {
           
            if( pyt == tekst2 )
            {
               
                cout << "\nNic takiego" << endl;
            }
            else
            if( pyt == pyt )
            {
                cout << "Nie rozumiem o co ci chodzi!" << endl;
            }
           
           
           
           
        }
       
       
       
       
        system( "pause>nul" );
    }

No i np.w string tekst1 mam napisane siema ale chcę zrobić tak żeby w tym jednym stringu było kilka takich tekstów jak siema i napisać elo,cześć aby nie robić nowych stringów chcę żeby to wyglądało przykładowo tak string tekst1 = "siema","elo","cześć"; ale nie wiem jak to zrobić.

Teraz drugie pytanie nie wiem jak ustawić getline aby nie trza było pisać co_tam? tylko co tam? z taką spacją.
Trzecie pytanie to chodzi o to że nie znam komend na zakończenie programu np. gdzieś w połowie kodu źródłowego  jeszcze jaka jest komenda na zrestartowanie programu.
To by było na tyle.
P-36339
malan
» 2011-07-20 15:38:18
1. » Kurs C++ » Poziom 3Zmienne przechowujące tekst lekcja oraz » Kurs C++ » Poziom 2Tablice jednowymiarowe lekcja
2. » Kurs C++ » Poziom 3Wczytywanie tekstu - standardowy strumień wejścia lekcja
3. Co chcesz osiągnąć przez to "zrestartowanie"?
P-36342
SeaMonster131
» 2011-07-20 15:38:40
Teraz drugie pytanie nie wiem jak ustawić getline aby nie trza było pisać co_tam? tylko co tam? z taką spacją.
W Twoim przypadku to będzie wyglądało tak:
zamiast
cin >> pyt;
 napisz
getline( cin, pyt );


Trzecie pytanie to chodzi o to że nie znam komend na zakończenie programu np. gdzieś w połowie kodu źródłowego  jeszcze jaka jest komenda na zrestartowanie programu.
return 0;
 zakończy Ci program, słowo
break;
 zakończy pętlę, a słowo
continue;
 rozpocznie pętlę od nowa.
Tak w skrócie :)
P-36343
Holdysz
Temat założony przez niniejszego użytkownika
» 2011-07-20 16:12:53
Zostało mi tylko te pierwsze pytanie napiszcie gdzie tu jest błąd:

C/C++
string tekst1[ 2 ];
string tekst2 = "co tam?";



string pyt;

tekst1[ 0 ] = "siema";
tekst1[ 1 ] = "elo";

while( true )
{
    cout << "\nPogadaj ze mna:\n " << endl;
    getline( cin, pyt );
   
   
   
    if( pyt == tekst1[ 0 ] + tekst1[ 1 ] )
    {
       
        cout << "witaj" << endl;
    }

Myślę że źle mam zrobione
if( pyt == tekst1[ 0 ] + tekst1[ 1 ] )
 ten + mi nie pasuje :/
P-36361
akwes
» 2011-07-20 16:14:46
C/C++
if( pyt == tekst1[ 0 ] || pyt == tekst1[ 1 ] )

C/C++
pyt == tekst1[ 0 ] + tekst1[ 1 ]
// to tak jak
pyt == "siemaelo" // bo "siemaelo" jest wynikiem dodawania tych dwóch znaków.


Operacje Logiczne w kursie, na tej stronie.
P-36363
SeaMonster131
» 2011-07-20 16:18:12
Możesz zrobić też coś na kształt tego:
C/C++
string tekst1[] = { "elo", "siema" };

for( int i = 0; i < 2; i++ )
if( pyt == tekst1[ i ] )
     cout << "Witaj" << endl;
P-36364
Holdysz
Temat założony przez niniejszego użytkownika
» 2011-07-20 16:24:43
Wszystko działa, jest ok THX!
P-36366
« 1 »
  Strona 1 z 1