30/09/2018, 17:09
Nhập xuất file trong C++
Đề là nhập các thông tin vào file, tìm trong file số điện thoại và in thông tin của người có sđt đó ra mh.
Mình code như trên và thấy cũng ok nhưng khi nhâp 1 số không có trong file thì không thông báo “Don’t have this phone number in database!” như ý muốn?
#include "iostream"
#include "fstream"
#include "cstdlib"
using namespace std;
//Structure thong tin cua 1 nguoi
typedef struct{
char name[20], job[20], address[100];
unsigned long phone;
}Info;
int main(){
ofstream os("INPUT.DAT");
Info *p = new Info[3];
if (!os){
cout << "Can't open file";
exit(1);
}
//Ghi thong tin vao file
for (int i = 0 ; i < 3; i++){
cout << "NAME: " ; cin.getline((p+i)->name, 20);
cout << "ADDRESS: " ; cin.getline((p+i)->address, 100);
cout << "JOB: " ; cin.getline((p+i)->job, 20);
cout << "PHONE: " ; cin >> (p+i)->phone; cin.ignore();
os << (p+i)->name << " " << (p+i)->phone << " " << (p+i)->address << " " << (p+i)->job <<endl;
}
os.close();
//Tim kiem 1 sdt va in thong tin cua nguoi do
ifstream is("INPUT.DAT");
unsigned long tel;
cout << "Find phone number: ";
cin >> tel;
int i = 0;
while (!is.eof()){
is >> (p+i)->name >> (p+i)->phone >> (p+i)->address >> (p+i)->job ;
if((p+i)->phone == tel){
cout << (p+i)->name << " " << (p+i)->phone << " " << (p+i)->address << " " << (p+i)->job <<endl;
exit(1);
}
i++;
}
cout << "Don't have this phone number in database!" ;
delete []p;
return 0;
}
Mọi người giải thích cho em với
Bài liên quan
Không hiểu sao nhưng khi em thêm vào
else{}
thì vấn đề được giải quyết