问题的提出:设计一个用于管理朋友信息的程序。将朋友信息(年龄、姓名、电话)存放在MyFrd.dat中,从文件读出这些信息并显示,并能按姓名(要求可简化输入,如只输入姓氏便可查询)进行查询,将查询信息输出屏幕。
1 #include2 #include 3 #include 4 static int n=0; 5 int comp(char*,char*); 6 class MyFriend 7 { 8 unsigned int age; 9 char name[12]; 10 char TelNo[12]; 11 public: 12 void getdata() 13 { 14 cout<<"(年龄 姓名 电话):"; 15 cin>>age>>name>>TelNo; 16 } 17 void disp() 18 { 19 cout<<setiosflags(ios::left) 20 < 6)< 10)< 7)< endl; 21 } 22 char *getname() 23 { 24 return name; 25 } 26 }; 27 void func1() 28 { 29 ofstream output("MyFrd.dat"); 30 MyFriend s; 31 32 cout<<"输入数据"<<endl; 33 cout<<"我的朋友人数:"; 34 cin>>n; 35 for(int i=0;i ) 36 { 37 cout<<"第"<1<<"个我的朋友"; 38 s.getdata(); 39 output.write((char *)&s,sizeof(s)); 40 }; 41 output.close(); 42 } 43 void func2() 44 { 45 ifstream input("MyFrd.dat"); 46 MyFriend s; 47 cout<<"输入数据"<<endl; 48 cout<<setiosflags(ios::left) 49 < 6)<<"年龄"< 10)<<"姓名"< 7)<<"电话"<<endl; 50 input.read((char *)&s,sizeof(s)); 51 while(input) 52 { 53 s.disp(); 54 input.read((char*)&s,sizeof(s)); 55 }; 56 input.close(); 57 } 58 void func3() 59 { 60 char sname[10]; 61 fstream file("MyFrd.dat",ios::in); 62 MyFriend one; 63 file.seekg(0); 64 cout<<"输入要查询的姓名(可只输入姓氏):"; 65 cin>>sname; 66 cout<<"输出查询结果:"<<endl; 67 cout< 6)<<"年龄"< 10)<<"姓名"< 6)<<"电话"<<endl; 68 for(int i=0;i ) 69 { 70 file.read((char *)&one,sizeof(MyFriend)); 71 if(comp(one.getname(),sname)==1) 72 one.disp(); 73 } 74 file.close(); 75 } 76 int comp(char s1[],char s2[]) 77 { 78 int i=0; 79 while(s1[i]!='