title: Database problems in C++
body: <p>I have been messing with this program for past 8 hours and I do not know where to go further. I am very sorry that my code is in a foreign language, I tried to comment it in English to my best efforts.
  I managed to debug it at last.but I have few problems. 
  1)How to print the first 5 lines(the first 5 lines from the txt fail) and then the previous 5  again?My rather pathetic try is listed below.Example: 
  At first you have Memento , Godfather. You print the next five 
  Godfather II , Shawshank Redemption, Leon, A Bittersweet Life,Se7en.Now previous 5:Memento, Godfather,Godfather II, Shawshank Redemption, Leon
  2) How to use characters rather than numbers to make a menu in the program? 
  3)Am I really stupid? Answer honestly, please. 
  I will take a break now and get some sleep, will go through the replies in the morning, I hope it isnt aganist the rules. </p>
  
  <pre><code>#include &lt;iostream&gt; 
  #include &lt;string&gt; 
  #include &lt;fstream&gt; 
  
  using namespace std; 
  
  void sisend(); /*input*/
  string valik(); /*choice*/
  void kogukuvand(); /* the whole display of the database */
  void valjumine();    /* program quit*/ 
  void sisendvoivaljumine(); /*quiting with output to file or not*/
  void viisjuurde(); /* input further 5 lines from the file */
  void viismaha();    /* input previous 5 lines from the file*/
  
  
  
  
  
  int main() 
  { 
  
  
  
  
           system ("title Filmide andmebaas"); /*Movie database*/
           system ("cls"); 
          int valik; 
           cout &lt;&lt; "Vajuta klahv 'j',kui tahad naha jargmist 5 kirjet."&lt;&lt; endl; /* j to get extra 5*/
           cout &lt;&lt; "Vajuta klahv 'e',kui tahad naha eelmist 5 kirjet."&lt;&lt; endl;  /* e for previous 5 lines */
           cout &lt;&lt; "Vajuta klahv 'v',kui tahad lopetada programmi taitumist."&lt;&lt; endl; /* v for the output */
       cin &gt;&gt; valik; 
  
  switch (valik)   {                   /*choice*/
  
            case 1:
                    viisjuurde(); 
                    break; 
            case 2:
                   viismaha(); 
                   break; 
            case 3: 
  
                   sisendvoivaljumine(); 
                   break; 
                   }  
                   }
  void viisjuurde() 
  { 
        ifstream filmike("andmebaas.txt"); 
        int n, sum = 5;
    while (filmike &gt;&gt; n) {
        sum += n;
  
        string film; 
        string vaadatud; 
       int aasta; 
       long int hinne; 
        system ("CLS"); 
        cout &lt;&lt; "Kogu filmide andmebaas"&lt;&lt;endl; 
       cout &lt;&lt; "Film" &lt;&lt; "  " &lt;&lt; "Aasta" &lt;&lt; "  " &lt;&lt;"Hinne"&lt;&lt; "  " &lt;&lt; "Vaadatud" &lt;&lt; endl; 
          cout &lt;&lt; "------------------------------" &lt;&lt; endl; 
           while (filmike&gt;&gt; film &gt;&gt; aasta &gt;&gt; hinne &gt;&gt; vaadatud)  
    { 
          cout &lt;&lt; film &lt;&lt; "  " &lt;&lt; aasta &lt;&lt; "  " &lt;&lt; hinne &lt;&lt; "  " &lt;&lt; vaadatud &lt;&lt; endl;  
    } 
        system ("pause");  
        cin.get(); 
        main(); 
  
    }  
  }
    void viismaha() 
  { 
        ifstream filmike("andmebaas.txt"); 
        int n, sum = -5;
    while (filmike &gt;&gt; n) {
        sum += n;
    }
        string film; 
        string vaadatud; 
       int aasta; 
       long int hinne; 
        system ("CLS"); 
        cout &lt;&lt; "Kogu filmide andmebaas"&lt;&lt;endl; 
       cout &lt;&lt; "Film" &lt;&lt; "  " &lt;&lt; "Aasta" &lt;&lt; "  " &lt;&lt;"Hinne"&lt;&lt; "  " &lt;&lt; "Vaadatud" &lt;&lt; endl; 
          cout &lt;&lt; "------------------------------" &lt;&lt; endl; 
           while (filmike&gt;&gt; film &gt;&gt; aasta &gt;&gt; hinne &gt;&gt; vaadatud)  
    { 
          cout &lt;&lt; film &lt;&lt; "  " &lt;&lt; aasta &lt;&lt; "  " &lt;&lt; hinne &lt;&lt; "  " &lt;&lt; vaadatud &lt;&lt; endl;  
    } 
        system ("pause");  
        cin.get(); 
        main(); 
  
    } 
  void sisend() /* user input */
  { 
       string nimi; 
       int aasta; 
       long int hinne; 
       string vaadatud; 
       ofstream lisafilm("andmebaas.txt", ios::app); 
       cout &lt;&lt;"Sisestage filmi nimi." &lt;&lt; endl;  /*Enter film's name */
       cin &gt;&gt; nimi; 
       string film;
  
       cout &lt;&lt; "Sisestage filmi ilmumisaasta." &lt;&lt; endl;  /* Enter film's year */
       cin &gt;&gt; aasta;     
  
       cout &lt;&lt; "Sisestage filmi hinne." &lt;&lt; endl;  /* Enter film's rating */
       cin &gt;&gt; hinne; 
  
       cout &lt;&lt; "Kas olete filmi juba vaadanud?" &lt;&lt; endl;  /* Has the user seen the movie already*/
       cout &lt;&lt; "Vastake 'Jah' voi 'Ei'" &lt;&lt; endl; 
       cin &gt;&gt; vaadatud; 
  cout &lt;&lt; film &lt;&lt; "  " &lt;&lt; aasta &lt;&lt; "  " &lt;&lt; hinne &lt;&lt; "  " &lt;&lt; vaadatud &lt;&lt; endl;  
  
  lisafilm&lt;&lt; nimi &lt;&lt; "  " &lt;&lt; aasta &lt;&lt; "  " &lt;&lt; hinne&lt;&lt; "  " &lt;&lt; vaadatud &lt;&lt; endl;  
  lisafilm.close();  
  main();
  
   cout &lt;&lt; "Aitah kasutamast andmebaasi." &lt;&lt; endl; 
   system("pause"); 
   cin.get (); 
  } 
  
  
  
   void valjumine() /*quiting without output */
  {  
   system("CLS"); 
   cout &lt;&lt; "Aitah kasutamast andmebaasi." &lt;&lt; endl; 
   system("pause"); 
   cin.get (); 
    } 
  void kogukuvand()  /* the whole movie database*/
  { 
        ifstream filmike("andmebaas.txt"); 
        string film; 
        string vaadatud; 
       int aasta; 
       long int hinne; 
        system ("CLS"); 
        cout &lt;&lt; "Kogu filmide andmebaas"&lt;&lt;endl; 
       cout &lt;&lt; "Film" &lt;&lt; "  " &lt;&lt; "Aasta" &lt;&lt; "  " &lt;&lt;"Hinne"&lt;&lt; "  " &lt;&lt; "Vaadatud" &lt;&lt; endl; 
          cout &lt;&lt; "------------------------------" &lt;&lt; endl; 
           while (filmike&gt;&gt; film &gt;&gt; aasta &gt;&gt; hinne &gt;&gt; vaadatud)  
    { 
          cout &lt;&lt; film &lt;&lt; "  " &lt;&lt; aasta &lt;&lt; "  " &lt;&lt; hinne &lt;&lt; "  " &lt;&lt; vaadatud &lt;&lt; endl;  
    } 
        system ("pause");  
        cin.get(); 
        main(); 
  
    } 
  void sisendvoivaljumine() 
  { 
       int valik2; 
       system ("CLS"); 
       cout &lt;&lt; "Vajuta klahv 'j',kui tahad salvestada kirje ja v2ljuda programmist." &lt;&lt; endl;   /* output new movie to file and quit*/
       cout &lt;&lt; "Vajuta klahv 'e',kui ei taha salvestada kirje ja v2ljuda programmist." &lt;&lt; endl;  /*just quit, without any output to file*/
       cout &lt;&lt; "Vajuta klahv 'k',kui tahad naha kogu filmide andmebaasi." &lt;&lt; endl;  /* display the whole movie database*/
       cin &gt;&gt; valik2;
  
  
       switch (valik2) 
       { 
  
  
          case 1:
                   sisendvoivaljumine(); 
                   break; 
                   sisend(); 
                   break; 
          case 2:
                   valjumine(); 
                   break; 
          case 3: 
                   kogukuvand(); 
                   break; 
  
  
  
  } 
  }
  </code></pre>