C++—数据结构录入

利用结构体实现简单的数据录入。

#include <iostream>
#include <fstream>
#include <windows.h>

using namespace std;
#define file_name "结构.txt" 
struct information
{
	string name;
	string uid;
	char sex;	
};
struct information Information;

bool InitInfo();
bool ReadInfo();
void RecordInfo();
bool WriteInfo(information *Info,int i);

int main()
{
	int i;
	InitInfo();
	//cout<<"请选择要进行的操作:\n";
	while(1)
	{
		cout<<"请选择要进行的操作:\n";
		cout<<"1.打印数据到屏幕\n";
		cout <<"2.录入数据\n";
		cout<<"3.退出程序\n";
		cin>>i;
		switch(i)
		{
			case 1:
				if(ReadInfo())
				{
					cout<<"成功读取文件^_^\n";
				}
				else
				{
					cout<<"读取文件失败--!\n";
				}
				break;
			case 2:
				RecordInfo();
				break;
			case 3:
				return 0;
			default:
				cout<<"输入有误,请重新输入\n"; 
		}
	}
	//system("pause");
	cout<<"初始化失败\n";
	return 0;
}

bool InitInfo()
{
	Information.name="maoamao";
	Information.uid="20122860";
	Information.sex='M';
	WriteInfo(&Information,0);
}

bool ReadInfo()
{
	ifstream in;	//读取文件
 	in.open(file_name,ios::in);
 	string x;
 	while(getline(in,x))
 	{
 		cout<<x;
 		cout<<'\n';
	 }	 
	in.close();
}

void RecordInfo()
{
	//ofstream out;
	//out.open(file_name,ios::app);
	cout<<"请输入姓名:\n";
	cin>>Information.name;
	cout<<"请输入ID:\n";
	cin>>Information.uid;
	cout<<"请输入性别:(M/F)\n";
	cin>>Information.sex;
	WriteInfo(&Information,1);
}

bool WriteInfo(information *Info,int i)
{
	ofstream out;
	if(i==1)
	{
		out.open(file_name,ios::app);	
	}
	else
	{
		out.open(file_name,ios::out);
	}
	out<<(*Info).name<<"  ";
	out<<(*Info).uid<<"  ";
	out<<(*Info).sex<<"  \n";
	out.close();
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值