zoukankan      html  css  js  c++  java
  • 管理朋友信息程序

    问题的提出:设计一个用于管理朋友信息的程序。将朋友信息(年龄、姓名、电话)存放在MyFrd.dat中,从文件读出这些信息并显示,并能按姓名(要求可简化输入,如只输入姓氏便可查询)进行查询,将查询信息输出屏幕。

      1 #include<iostream.h>
      2 #include<fstream.h>
      3 #include<iomanip.h>
      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          <<setw(6)<<age<<setw(10)<<name<<setw(7)<<TelNo<<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<n;i++)
     36     {
     37         cout<<""<<i+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     <<setw(6)<<"年龄"<<setw(10)<<"姓名"<<setw(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<<setw(6)<<"年龄"<<setw(10)<<"姓名"<<setw(6)<<"电话"<<endl;
     68     for(int i=0;i<n;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]!='\0' && s2[i]!='\0' && s1[i]==s2[i])
     80         i++;
     81     if(s1[i]=='\0' || s2[i]=='\0')
     82         return 1;
     83     else
     84         return 0;
     85 }
     86 
     87 void main()
     88 {
     89     int sel;
     90     do
     91     {
     92         cout<<"选择(1:输入数据 2:输出数据 3:按姓名查询 其它退出):";
     93         cin>>sel;
     94         switch(sel)
     95         {
     96          case 1:func1();break;
     97          case 2:func2();break;
     98          case 3:func3();break;
     99         }
    100     }while(sel==1||sel==2||sel==3);
    101 }
  • 相关阅读:
    软件工程结课作业
    十三次作业
    十二次作业
    十一次作业
    十次作业
    找回感觉的练习
    CSS背景样式和列表样式
    盒子模型案例应用
    display属性
    margin外边距属性
  • 原文地址:https://www.cnblogs.com/heyonggang/p/2812511.html
Copyright © 2011-2022 走看看