Thread: Saving to a file

  1. #1
    Registered User
    Join Date
    Oct 2007

    Saving to a file

    HI all
    I am trying to make a small database to help me improve my skill but i am totally stuck so can someone please help me. I want it so if the person enters n it goes to the start of the program and if the user enters y it carries on and saves the file, but I dont know how to evaluate user input.
    #include<fstream>// headerfile for output/input 
    using namespace std; 
    int main() 
        string personname;
        string activity;
        string arriving;
        string answer;
        ofstream djout; // declare our djoutput"C:\\TEST.txt"); // opens/creates and edits "TEST.txt" 
        cout << "Please enter the persons name: ";
        getline (cin, personname);
        cout << "Please enter the activity: ";
        getline (cin, activity);
        cout << "How are they arriving: ";
        getline (cin, arriving);
        cout << "Please confirm the details: ";
        cout << "Name: " << personname << endl;
        cout << "Activity: " << activity << endl;
        cout << "Arriving by: " << arriving << endl;
        cout << "Are the details correct? Y/N" << endl;
        getline (cin, answer);
        if (answer == 'y')
           djout << personname << endl;
           djout << activity << endl;
           djout << arriving << endl;
           djout.flush(); // to save the file, you must close the file, or flush 
           djout.close(); // the buffer to the file Closing the file will not let 
                       // you access it anymore, so only call it when you are 
                       // done using the file and it will automatically save 
                       // the file for you. Flushing the buffer will write the 
                       // buffer to the file and still keep the file open, so 
                       // use this function when necessary. 
        if (answer == 'n')
                   //I want it to go back to the beginning of the program
            cout << "System error sorry guys im not always right :)" << endl;
        return 0; 
    Can someone please show me what to do lol

    Many thanks


  2. #2
    Registered User hk_mp5kpdw's Avatar
    Join Date
    Jan 2002
    Northern Virginia/Washington DC Metropolitan Area
    You need a loop:
        // Ask user for input here
        // Ask if input is correct or not here
    } while( answer == "n" );
    // Continue with rest of program here
    "Owners of dogs will have noticed that, if you provide them with food and water and shelter and affection, they will think you are god. Whereas owners of cats are compelled to realize that, if you provide them with food and water and shelter and affection, they draw the conclusion that they are gods."
    -Christopher Hitchens

  3. #3
    Join Date
    Oct 2007
    Inside my computer
    Use a loop, then do continue to start the loop over, if you want or just let the loop do it automatically for you.
    Btw, since answer is std::string, you should do
    if (answer == "y")
    Not the quotes there. Single quotes are for comparing a char, not a char* or any sort of string class. Though you could do
    answer[0] == 'y'
    this may give unintended effect since the user can enter ysklsd,vjkhdf,gjhdfgjhdfg and it'll still work (interpret as yes).

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problems passing a file pointer to functions
    By smitchell in forum C Programming
    Replies: 4
    Last Post: 09-30-2008, 02:29 PM
  2. sequential file program
    By needhelpbad in forum C Programming
    Replies: 80
    Last Post: 06-08-2008, 01:04 PM
  3. Replies: 3
    Last Post: 03-04-2005, 02:46 PM
  4. System
    By drdroid in forum C++ Programming
    Replies: 3
    Last Post: 06-28-2002, 10:12 PM
  5. simulate Grep command in Unix using C
    By laxmi in forum C Programming
    Replies: 6
    Last Post: 05-10-2002, 04:10 PM