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