管理朋友信息程序

简介:

问题的提出:设计一个用于管理朋友信息的程序。将朋友信息(年龄、姓名、电话)存放在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 }
复制代码

 

 





本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/archive/2012/12/11/2812511.html,如需转载请自行联系原作者


目录
相关文章
|
1月前
|
存储 小程序 数据库
零基础开发小程序第五课-修改数据
零基础开发小程序第五课-修改数据
|
8月前
|
小程序 数据可视化 数据库
云开发(微信-小程序)笔记(十七)---- cms(内容管理)及案例
云开发(微信-小程序)笔记(十七)---- cms(内容管理)及案例
392 0
|
9月前
|
SpringCloudAlibaba 算法 前端开发
【Log/Java项目】一个自己写的供情侣们记录生活和表达关心与爱意的小网站
【Log/Java项目】一个自己写的供情侣们记录生活和表达关心与爱意的小网站
148 0
|
10月前
|
小程序
零基础开发小程序第五课-修改数据(二)
零基础开发小程序第五课-修改数据(二)
|
10月前
|
存储 小程序 数据库
零基础开发小程序第五课-修改数据(一)
零基础开发小程序第五课-修改数据(一)
|
10月前
|
城市大脑 达摩院 大数据
每月动态 | 阿里云跟朋友们都在忙些什么?
每月动态 | 阿里云跟朋友们都在忙些什么?
293 0
|
10月前
|
人工智能 自然语言处理 专有云
每月动态 | 阿里云的朋友们都在做什么?
每月动态 | 阿里云的朋友们都在做什么?
126 0
|
11月前
|
C++ UED
开心档之开发入门网-C++ 有用的资源
开心档之开发入门网-C++ 有用的资源
|
SQL 前端开发 Java
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
168 0
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
|
缓存 小程序 JavaScript
小程序开发-第三章第五节获取用户权限、下载文件、保存到相册、用户拒绝授权重新授权-全栈工程师之路-中级篇
小程序开发-第三章第五节获取用户权限、下载文件、保存到相册、用户拒绝授权重新授权-全栈工程师之路-中级篇
397 0
小程序开发-第三章第五节获取用户权限、下载文件、保存到相册、用户拒绝授权重新授权-全栈工程师之路-中级篇