Всем доброго времени суток! Помогите, пожалуйста, найти ошибку в программе. при вводе
q q 1
w w 2
e e 3
и записи этого в файл, вместо того, чтобы вывести из файла это же самое программа выводит только 1 2 и 3

в чём ошибка?
[CODE]
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <cstring>
#include <stdio.h>
#include <fstream>
#include <sstream>
#include <conio.h>
class tovar
{
public:
char Firm[100];
char Name[100];
int Cena;
int dollar;
void enter_tovar(void);
void show_tovar(void);
void dollar_tovar(void);
void enter_file(void);
void show_file(void);
};
void tovar::enter_tovar(void)
{
std::cout << "Фирма: ";
std::cin >> Firm;
std::cout << "Модель: ";
std::cin >> Name;
std::cout << "Цена: ";
std::cin >> Cena;
};
void tovar::show_tovar(void)
{
std::cout << std::endl << Firm << " " << Name << " " << Cena << std::endl;
};
void tovar::dollar_tovar(void)
{
Cena=Cena / dollar;
};
void tovar::enter_file()
{
std::fstream file( "bd.txt", std::ios::app);
file << Firm << "\n";
file << Name << "\n";
file << Cena << "\n";
file.close();
};
void tovar::show_file()
{
std::fstream file( "bd.txt", std::ios::app);
file.open( "bd.txt", std::ios_base::in );
file >> Firm;
file >> Name;
file >> Cena;
file.close();
};
int main() {
setlocale(LC_ALL,"Russian");
tovar st[3];
int n = 3;
int a, d;
do{std::cout << "1-Ввод данных | " << "2-Вывод на экран | " << "3-Перевести рубли в доллары | " << "4-Сохранить файл | " << "ESC - Выход \n";
a=getch(); switch(a)
{
case 49:
for(int i=0; i<n; i++) {
st[i].enter_tovar();
system("cls");
}
break;
case 50:
for(int i=0; i<n; i++) {
st[i].show_tovar();
}
getch();
system("cls");
break;
case 51:
system("cls");
std::cout << "Введите курс доллара:";
std::cin >> st[1].dollar;
st[0].dollar=st[2].dollar=st[1].dollar;
for (int i=0; i<n; i++){
st[i].dollar_tovar();
}
break;
case 52:
std::fstream file( "bd.txt", std::ios::app );
for ( int i = 0; i < n; i++ )
{
st[i].enter_file();
}
for ( int i = 0; i < n; i++ )
{
st[i].show_file();
}
for ( int i = 0; i < n; i++ )
std::cout << std::endl << st[i].Firm << " " << st[i].Name << " " << st[i].Cena << std::endl;
break;
/* case 53:
break;*/
}
} while(a!=27);
return(0);
} /[CODE]