Q4:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct PhRec{
char name[60];
int PhoneNumber;
};
bool operator<(PhRec& left,
PhRec& right){
return strcmp(left.name, right.name) < 0;
}
#include "tqueue.h"
int main(){
fstream f("phones.bin", ios::in|ios::binary);//just reads the
file
PhRec pr;
Tqueue<PhRec> Q;//change all Tqueue type into PhRec type
while(f.good()){//continue in this loop if f.good() is true
f.read((char*)&pr, sizeof(pr));//reads the sizeof(pr) and store it
in &pr as a char*
if(f.good()){//if the previous read function worked go in here
Q.append(pr);//append pr (in this case is
a character string) to the queue list
}
}
f.close();
f.open("phones.bin", ios::out|ios::binary);//rewriting the
file
Q.sort(true);//sort the Queue list
while(!Q.isEmpty()){//continue this loop until the Queue list is empty
pr = Q.remove();//assign pr with the value of Q.remove();
f.write((const char*)&pr, sizeof(pr));//write sizeof(pr) bytes from
&pr as a char*
}
return 0;
}
How to get free Facebook Covers in website. I search in huge.
ReplyDelete