karim orooji
یک شنبه 13 دی 1388, 17:22 عصر
سلام دوستان
ميخوام با اين كد كه ميدونم مشكل داره يه سري اطلاعات گرفته ودر يك فايل متني ذخبره كنه
اما نميدونم چرا ذخيره نميشه
ممنون ميشم كمكم كنيد
اينم كدي كه فعلا نوشتم
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
class library{
char ch;
int row;
char name_book[21];
char name_nevisande[21];
char date[9];
float piece;
char subject[40];
long num_book;
public:
library(){row=3;};
void input(); //read file
void search_subject(); //serach subject
void search_name_book(); //search name_book
void buy_book(); //buy book
void search_num_book(); //search number_book
long piece_buy_book(); //hazineh buy_book
}emp;
//===========input===================
void library::input()
{
char ch;
ofstream fp("user",ios::out);
//fp.open("user",ios::out);
if(!fp){
cout<<"cannat file open";
exit(0);
}
cout<<" name_book "<<" name_nevisande "<<" date dd/mm/yy "<<" piece "
<<" subject "<<" num_book ";
cout<<"\n================================================ ================================";
while(1)
{
gotoxy(1,row);
cin>>name_book;
if(!name_book[0])
break;
gotoxy(10,row);
cin>>name_nevisande;
gotoxy(20,row);
cin>>date;
gotoxy(30,row);
cin>>piece;
gotoxy(40,row);
cin>>subject;
gotoxy(50,row);
cin>>num_book;
cin>>ch;
if(ch=='n')
break;
fp.write((char *)&emp,sizeof(class library));
row++;
}
cout<<"Enter characters (\n and enter to end)\n";
fp.close();
cout<<"output from file : \n";
ifstream in("user",ios::in | ios::binary);
ofstream out("test",ios::out | ios::binary);
if(!in && !out){
cout<<"cannot open file";
exit(0);
}
//fp1.open("user",ios::in);
in.read((char *)&emp,sizeof(class library));
while(!in.eof())
{
/*gotoxy(1,row);
cout<<emp.name_book;
gotoxy(5,row);
cout<<emp.name_nevisande;
gotoxy(10,row);
cout<<emp.date;
gotoxy(15,row);
cout<<emp.piece;
gotoxy(20,row);
cout<<emp.subject;
gotoxy(25,row);
cout<<emp.num_book;*/
out.write((char *)&emp,sizeof(class library));
in.read((char *)&emp,sizeof(class library));
}
in.close();
out.close();
}
//==========main=====================
void main()
{
library st;
st.input();
}
ميخوام با اين كد كه ميدونم مشكل داره يه سري اطلاعات گرفته ودر يك فايل متني ذخبره كنه
اما نميدونم چرا ذخيره نميشه
ممنون ميشم كمكم كنيد
اينم كدي كه فعلا نوشتم
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
class library{
char ch;
int row;
char name_book[21];
char name_nevisande[21];
char date[9];
float piece;
char subject[40];
long num_book;
public:
library(){row=3;};
void input(); //read file
void search_subject(); //serach subject
void search_name_book(); //search name_book
void buy_book(); //buy book
void search_num_book(); //search number_book
long piece_buy_book(); //hazineh buy_book
}emp;
//===========input===================
void library::input()
{
char ch;
ofstream fp("user",ios::out);
//fp.open("user",ios::out);
if(!fp){
cout<<"cannat file open";
exit(0);
}
cout<<" name_book "<<" name_nevisande "<<" date dd/mm/yy "<<" piece "
<<" subject "<<" num_book ";
cout<<"\n================================================ ================================";
while(1)
{
gotoxy(1,row);
cin>>name_book;
if(!name_book[0])
break;
gotoxy(10,row);
cin>>name_nevisande;
gotoxy(20,row);
cin>>date;
gotoxy(30,row);
cin>>piece;
gotoxy(40,row);
cin>>subject;
gotoxy(50,row);
cin>>num_book;
cin>>ch;
if(ch=='n')
break;
fp.write((char *)&emp,sizeof(class library));
row++;
}
cout<<"Enter characters (\n and enter to end)\n";
fp.close();
cout<<"output from file : \n";
ifstream in("user",ios::in | ios::binary);
ofstream out("test",ios::out | ios::binary);
if(!in && !out){
cout<<"cannot open file";
exit(0);
}
//fp1.open("user",ios::in);
in.read((char *)&emp,sizeof(class library));
while(!in.eof())
{
/*gotoxy(1,row);
cout<<emp.name_book;
gotoxy(5,row);
cout<<emp.name_nevisande;
gotoxy(10,row);
cout<<emp.date;
gotoxy(15,row);
cout<<emp.piece;
gotoxy(20,row);
cout<<emp.subject;
gotoxy(25,row);
cout<<emp.num_book;*/
out.write((char *)&emp,sizeof(class library));
in.read((char *)&emp,sizeof(class library));
}
in.close();
out.close();
}
//==========main=====================
void main()
{
library st;
st.input();
}