通讯录的记录格式为:姓名,单位,手机号,住址
要求先建立 Person 类,然后按对象读入和打印
保存文件时,姓名左对齐,其他项右对齐
#include<iostream>
#include<windows.h>
#include <conio.h>
#include<cstring>
#include<iomanip>
#include<fstream>
using namespace std;
const int showwidth=12;//定义列宽
class person
{
private:
struct stu
{
char name[50];
char unit[50];
int tel[11];
char address[50];
}; //定义结构体
public:
void shuru(char name[50],char unit[50],char tel[12],char address[50])
{
fstream file("程序打印.txt",ios::out|ios::app);
if(!file.fail())
{
file<<left<<setw(showwidth)<<name<<right<<setw(showwidth)<<unit
<<right<<setw(showwidth)<<tel<<right<<setw(showwidth)<<address<<endl;
file.close();
}
else{
cout<<"File open failed!"<<endl;
}
}//建立文档 并输入
void print()
{
fstream file("程序打印.txt",ios::in);
if(!file.fail())
{
cout<<"Start printing data"<<endl;
while(!file.eof())
{
char temp[201];
file.getline(temp,200);
cout<<temp<<endl;
}
}
else{
cout<<"File reading failed!"<<endl;
}
}
};//输出
int main()
{
person a;
char name[50];
char unit[50];
char tel[12];
char address[50];
int n;
cout<<"Enter the number of people to enter the address book: ";
cin>>n;
while(n)
{
cin>>name>>unit>>tel>>address;
a.shuru(name,unit,tel,address);
n--;
}
cout<<endl<<"Printing address book:"<<endl;
a.print();
}