C++ C+中的数据库程序问题+;

C++ C+中的数据库程序问题+;,c++,database,C++,Database,我又一次完成了调试,现在我又一次不知所措了 问题是,当我打开程序并按下任何按钮时,它总是将我带到整个电影数据库显示,即使它位于第二个菜单中 我很抱歉用愚蠢的家庭作业问题来打扰你,我甚至还有一个问题。如何显示从文件输出到程序的前5行电影。)如何打印前5行(txt的前5行失败),然后再次打印前5行 下面列出了我相当可怜的尝试。例如:教父,起初你有纪念品。你打印下五张《教父II》,肖申克的救赎,里昂,《苦乐参半的生活》,Se7en。现在是前五张:纪念品,教父,教父II,肖申克的救赎,里昂 #inclu

我又一次完成了调试,现在我又一次不知所措了

问题是,当我打开程序并按下任何按钮时,它总是将我带到整个电影数据库显示,即使它位于第二个菜单中

我很抱歉用愚蠢的家庭作业问题来打扰你,我甚至还有一个问题。如何显示从文件输出到程序的前5行电影。)如何打印前5行(txt的前5行失败),然后再次打印前5行

下面列出了我相当可怜的尝试。例如:教父,起初你有纪念品。你打印下五张《教父II》,肖申克的救赎,里昂,《苦乐参半的生活》,Se7en。现在是前五张:纪念品,教父,教父II,肖申克的救赎,里昂

#include <iostream> 
#include <string> 
#include <fstream> 

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"); 
        char valik; 
         cout << "Vajuta klahv 'j',kui tahad naha jargmist 5 kirjet."<< endl; /* j to get extra 5*/
         cout << "Vajuta klahv 'e',kui tahad naha eelmist 5 kirjet."<< endl;  /* e for previous 5 lines */
         cout << "Vajuta klahv 'v',kui tahad lopetada programmi taitumist."<< endl; /* v for the output */
     cin >> valik; 



          if(valik=='j')
                 {
                  viisjuurde(); 

                 } 

          else  if(valik=='e')
                 {
                  viisjuurde(); 

                 } 
          else  if(valik=='v')

                 sisendvoivaljumine(); 


}
void viisjuurde() 
{ 
      ifstream filmike("andmebaas.txt"); 
      int n,  
      sum = 5; 
      string film; 
      string vaadatud; 
     int aasta; 
     long int hinne; 
      system ("CLS"); 
      cout << "Kogu filmide andmebaas"<<endl; 
     cout << "Film" << "  " << "Aasta" << "  " <<"Hinne"<< "  " << "Vaadatud" << endl; 
        cout << "------------------------------" << endl; 
         while (filmike>> film >> aasta >> hinne >> vaadatud)  
  {  
  sum += n;
        cout << film << "  " << aasta << "  " << hinne << "  " << vaadatud << endl;  
  } {
      system ("pause");  
      cin.get(); 
      main(); 

}  
}
  void viismaha() 
{ 
      ifstream filmike("andmebaas.txt"); 
      int n, sum = -5;
  while (filmike >> n) {
      sum += n;
  }
      string film; 
      string vaadatud; 
     int aasta; 
     long int hinne; 
      system ("CLS"); 
      cout << "Kogu filmide andmebaas"<<endl; 
     cout << "Film" << "  " << "Aasta" << "  " <<"Hinne"<< "  " << "Vaadatud" << endl; 
        cout << "------------------------------" << endl; 
         while (filmike>> film >> aasta >> hinne >> vaadatud)  
  { 
        cout << film << "  " << aasta << "  " << hinne << "  " << vaadatud << 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 <<"Sisestage filmi nimi." << endl;  /*Enter film's name */
     cin >> nimi; 
     string film;

     cout << "Sisestage filmi ilmumisaasta." << endl;  /* Enter film's year */
     cin >> aasta;     

     cout << "Sisestage filmi hinne." << endl;  /* Enter film's rating */
     cin >> hinne; 

     cout << "Kas olete filmi juba vaadanud?" << endl;  /* Has the user seen the movie already*/
     cout << "Vastake 'Jah' voi 'Ei'" << endl; 
     cin >> vaadatud; 
cout << film << "  " << aasta << "  " << hinne << "  " << vaadatud << endl;  

lisafilm<< nimi << "  " << aasta << "  " << hinne<< "  " << vaadatud << endl;  
lisafilm.close();  
main();

 cout << "Aitah kasutamast andmebaasi." << endl; 
 system("pause"); 
 cin.get (); 
} 



 void valjumine() /*quiting without output */
{  
 system("CLS"); 
 cout << "Aitah kasutamast andmebaasi." << 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 << "Kogu filmide andmebaas"<<endl; 
     cout << "Film" << "  " << "Aasta" << "  " <<"Hinne"<< "  " << "Vaadatud" << endl; 
        cout << "------------------------------" << endl; 
         while (filmike>> film >> aasta >> hinne >> vaadatud)  
  { 
        cout << film << "  " << aasta << "  " << hinne << "  " << vaadatud << endl;  
  } 
      system ("pause");  
      cin.get(); 
      main(); 

  } 
void sisendvoivaljumine() 
{ 
     char valik2; 
     system ("CLS"); 
     cout << "Vajuta klahv 'j',kui tahad salvestada kirje ja v2ljuda programmist." << endl;   /* output new movie to file and quit*/
     cout << "Vajuta klahv 'e',kui ei taha salvestada kirje ja v2ljuda programmist." << endl;  /*just quit, without any output to file*/
     cout << "Vajuta klahv 'k',kui tahad naha kogu filmide andmebaasi." << endl;  /* display the whole movie database*/
     cin >> valik2;


     if(valik2=='j')
                 {
                  sisend(); 

                 } 

          else  if(valik2=='e')
                 {
                  valjumine(); 

                 } 
          else  if(valik2=='k')

                 kogukuvand(); 




}
#包括
#包括
#包括
使用名称空间std;
void sisend()/*输入*/
字符串valik()/*选择*/
void kogukuvand();/*数据库的整体显示*/
void valjumine();/*程序退出*/
无效sisendvoivaljumine()/*是否退出文件输出*/
void viisjuurde();/*从文件中再输入5行*/
void viismaha();/*从文件中输入前5行*/
int main()
{ 
系统(“标题Filmide和MEBAAS”);/*电影数据库*/
系统(“cls”);
查瓦利克;

这很棘手,因为我不懂你的语言,但这是错误的

valik2
应该是
char

if(valik='j')
应该是
if(valik=='j')
如果(valik2='j')
应该是
if(valik2=='j')
。这是一个常见错误。其他所有错误都是一样的

void sisendvoivaljumine() 
{ 
     char valik2; 
     system ("CLS"); 
     cout << "Vajuta klahv 'j',kui tahad salvestada kirje ja v2ljuda programmist." << endl;   /* output new movie to file and quit*/
     cout << "Vajuta klahv 'e',kui ei taha salvestada kirje ja v2ljuda programmist." << endl;  /*just quit, without any output to file*/
     cout << "Vajuta klahv 'k',kui tahad naha kogu filmide andmebaasi." << endl;  /* display the whole movie database*/
     cin >> valik2;
     if(valik2=='j')
             {
              sisend(); 

             } 

      else  if(valik2=='e')
             {
              valjumine(); 

             } 
      else  if(valik2=='k')

             kogukuvand(); 
void sisendvoivaljumine()
{ 
char-valik2;
系统(“CLS”);

虽然约翰指出了一些愚蠢的错误,但问题还是一样的。另外,有人能帮我解决第二个问题吗。