RoDBoT: BETA

This is a discussion on RoDBoT: BETA within the C++ Programming forums, part of the General Programming Boards category; Originally posted by RoD i'm stuck guys. if i enter more than one keyword she responds and dumps. Use getline(). ...

  1. #16
    Registered User abrege's Avatar
    Join Date
    Nov 2002
    Posts
    369
    Originally posted by RoD
    i'm stuck guys. if i enter more than one keyword she responds and dumps.
    Use getline(). I remember you arguing how getline() is better than cin
    I am against the teaching of evolution in schools. I am also against widespread
    literacy and the refrigeration of food.

  2. #17
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    i cant.

    Code:
    cout << "Enter Comment: ";
    getline(cin,userInput);
    gives me

    Code:
    -------------------Configuration: RoDBoT - Win32 Debug--------------------
    Compiling...
    RoDBoT.cpp
    C:\Program Files\Microsoft Visual Studio\MyProjects\RoDBoT\RoDBoT.cpp(234) : error C2780: 'class std::basic_istream<_E,_Tr> &__cdecl std::getline(class std::basic_istream<_E,_Tr> &,class std::basic_string<_E,_Tr,_A> &,const _E)' : expects 3 argument
    s - 2 provided
            c:\program files\microsoft visual studio\vc98\include\string(149) : see declaration of 'getline'
    C:\Program Files\Microsoft Visual Studio\MyProjects\RoDBoT\RoDBoT.cpp(234) : error C2784: 'class std::basic_istream<_E,_Tr> &__cdecl std::getline(class std::basic_istream<_E,_Tr> &,class std::basic_string<_E,_Tr,_A> &)' : could not deduce template a
    rgument for 'class std::basic_string<_E,_Tr,_A> &' from 'char [256]'
    Error executing cl.exe.
    
    RoDBoT.obj - 2 error(s), 0 warning(s)

    but elsewhere in my program

    Code:
    cout << "Please enter your name: ";
    	getline(cin,name);
    works fine....been a long day in bot hell.

  3. #18
    Registered User abrege's Avatar
    Join Date
    Nov 2002
    Posts
    369
    oops, wasn't being descriptive enough, try this

    Code:
    cin.getline(userInput, 256, '\n');
    I am against the teaching of evolution in schools. I am also against widespread
    literacy and the refrigeration of food.

  4. #19
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    nope that way it prompts and immeadiatly ends...

    new discovery, consider this code:

    Code:
    void Conversation::prompt()
    {
    
    	cout << "Enter Comment: ";
    	cin >> userInput;
    
    	/*	Convert entire character array 
    		to lowercase. Thanks to Travis Dane for
    		the for..loop idea.
    	*/
    	for (int i = 0; i < strlen(userInput); i++)
    	{
    		userInput[i] = tolower(userInput[i]);
    	}
    
    	convo();
    }
    
    /*	Function:	covo
    	Purpose:	This is where all the magic happens!
    */
    void Conversation::convo()
    {
    	/*	Big thanks to eibro for getting
    		me going with this section,
    		without his help rodbot would ve
    		a total dumbass.
    	*/
    	ifstream compareFile("comp.txt");
    	ifstream lookupFile("ans.txt");
    
    	if (compareFile.fail()) 
    	{
    		cout << "Fatal Error: Missing comp.txt and/or ans.txt!\n";
    	}
    	else if (lookupFile.fail())
    	{
    		cout << "Fatal Error: Missing comp.txt and/or ans.txt!\n";
    	}
    
    
    	string place_hold;
    	int indexNum;
    
    	
    
    	while (getline(compareFile, place_hold))
        {
    		
            stringstream format;
            format << place_hold;
            format >> indexNum >> place_hold;
           
            if (userInput == place_hold)
            {
    			
                int compareNum;
                string compareString;
                while (getline(lookupFile, compareString))
                {
                    stringstream convert;
                    convert << compareString;
                    convert >> compareNum;
    				
                    getline(convert, compareString);
                    if (compareNum == indexNum)
                    {
                        cout << compareString << endl;
    					prompt();
    				}
    
    				/*
    				else  
    				{
    					cout<<"bhb\n";
    					prompt();
    				}
    				*/
    	
    						
                    
    				
                }
    			
            }
    	 
    		
    	
        }
    
    	
    }

    now like that anytime u enter a keyword it works....now modify the lower if to this:

    Code:
    if (compareNum == indexNum)
                    {
                        cout << compareString << endl;
    					prompt();
    				}
    				else  
    				{
    					cout<<"bhb\n";
    					prompt();
    				}
    now it only works if u enter the keyword hi, the first keyword in comp.txt, so why is the else making it stop looking after line 1?

  5. #20
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    heres the cpp...

  6. #21
    Registered User
    Join Date
    Sep 2002
    Posts
    1,640
    Originally posted by RoD
    getting the error handling is giving me errors im having trouble handling :P
    Then you should install error handlers that handle errors in
    error handlers...

  7. #22
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    ok i'm getting somewhere, the else is throwing it off becuz it loops until they are ==, and if on pass one they arent it hits the else....

  8. #23
    Registered User
    Join Date
    Nov 2002
    Posts
    36

    How about...???

    How about introducing yourself first.. like a nice and polite robot...
    and asking the user/stranger their info like you r doing a real conversation instead of being a regular commanding computer..
    eneter your name... bla.. bla.... if you have intention to make it a sex toy... then its different case.... :O
    will be there one day!

    I usually use VStudio 6!

  9. #24
    I lurk
    Join Date
    Aug 2002
    Posts
    1,361
    Hmmm, I don't think the algorithm I gave you is going to work.
    Okay, I should have did this the first time around... but here goes.

    [list=1][*]Get user input[*]Open conversation file and search for the word(s?) entered by the user.[*]Record the index number if an entry was found, else, print a default message (eg. "Take off your pants") and goto step 1[*]Open up answers file and search for the desired index number, if it's found, print the cooresponding string, else print a default message.[*]Goto step 1[/list=1]

    The only thing I see as a problem is step 2... the user isn't going to enter a single word response so we're going to need to search for each word in the conversation file. For each response found, push the index number onto a vector. If a response isn't found, push a predetermined value onto your vector (like 0). Finally, iterate through the vector and find the index number which occoured the most frequent. Search for a response in the answers file with this index. Print, and go to step 1.

    I'll help you out with this tommorow. I suggest breaking it up into classes/objects (answer, response, index, bot, etc.)

  10. #25
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    ok thnx eibro, i wiped out the convo function last night.

    >>How about introducing yourself first.. like a nice and polite robot...
    and asking the user/stranger their info like you r doing a real conversation instead of being a regular commanding computer..


    what are u talkin bout??? so i guess it doesnt count when he takes in name/age/sex then tells his name/age/sex?? did u use it at all??

  11. #26
    Registered User
    Join Date
    Sep 2002
    Posts
    1,640
    Originally posted by RoD
    what are u talkin bout??? so i guess it doesnt count when he takes in name/age/sex then tells his name/age/sex?? did u use it at all??
    So tell me, When you first meet a person you ask
    "Name? Age? Sex?" ?

  12. #27
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    >>So tell me, When you first meet a person you ask
    "Name? Age? Sex?" ?


    nowadays asking the sex may be a good idea...

  13. #28
    Registered User
    Join Date
    Nov 2002
    Posts
    36

    Okay...

    >>nowadays asking the sex may be a good idea...
    So, do you introuduce yourself first or ask somebody to introduce him/herself first...???
    >> Enter you name:... Enter your.. bla bla...
    or..
    Hey what's up?? My name is Rod.. I'm bla bla... And what's you's
    which sounds better and more normal...???
    :):)

  14. #29
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    i'll add to the list.

  15. #30
    RoD
    RoD is offline
    Redundantly Redundant RoD's Avatar
    Join Date
    Sep 2002
    Location
    Missouri
    Posts
    6,331
    Code:
    	while(userInput != "goodbye")
    	{
    	
    		while (getline(check, temp))
    		{
            stringstream format;
            format << temp;
            format >> index >> temp;
           
            if (userInput == temp)
            {
                
                while (getline(answr, comparestring))
                {
                    stringstream convert;
                    convert << comparestring;
                    convert >> comparenum;
    
    
    					getline(convert, comparestring);
    
    				
    					if (comparenum == index)
    					{
    						cout << comparestring << endl;
    						user();
                     
    					}
    				
                }
            }
    		
    		
        }	
    	
    	}
    if i can find a way to stop the loop, set a false/true, then exit to an if to check state i'll be ok. I had tried getting length of the file and running it till it was eof, then setting state, but to no avail. Does anyone have a suggestion?

Page 2 of 3 FirstFirst 123 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Beta version compiled with -DWINVER=0x0500
    By wow in forum Windows Programming
    Replies: 3
    Last Post: 03-20-2006, 06:35 AM
  2. MS Visual Studio .NET 2005 beta 1
    By Vader in forum C++ Programming
    Replies: 8
    Last Post: 09-21-2004, 07:14 PM
  3. Natrual Language Programming - Beta Release
    By andy668 in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 01-16-2002, 12:24 AM
  4. Visual Studio .NET beta 2
    By Marky_Mark in forum C++ Programming
    Replies: 1
    Last Post: 11-05-2001, 10:28 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21