⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc0906.cpp

📁 VC例题源代码,书本上的。。几乎是通用的
💻 CPP
字号:
//Example 9.6: 编写雇员信息管理程序
#include <iostream.h>
#include <afx.h>
#include <string.h>
class Employee 
{
public:
	char m_strName[10];
	char m_Sex[6];
	int	 m_nAge;
	char m_strDept[20];
	float  m_fSalary;
	Employee() { }
	Employee(char *name,char *sex,int age,char *dept,float salary);
	void SaveEmp(CFile* fp) { fp->Write(this,sizeof(Employee));}
	void ReadEmp(CFile* fp) { fp->Read(this,sizeof(Employee)); }
	void ShowMe() {
		cout<<m_strName<<"\t"<<m_Sex<<"\t"<<m_nAge<<"\t";
		cout<<m_strDept<<"\t"<<m_fSalary<<endl;
	}
};
Employee::Employee(char *name,char *sex,int age,char *dept,float salary)
{
	strcpy(m_strName, name);
	strcpy(m_Sex , sex );
	m_nAge = age;
	strcpy(m_strDept, dept);
	m_fSalary = salary;
}

void main()
{
	int count=0;
	Employee emp[50];
	int i,j,age;
	float salary;
	CFile myfile;
	CFileException e;
	char name[10],sex[6],dept[20];
	for(;;)
	{
		cout<<" 1.显示所有 2.增加雇员 3.删除雇员";
		cout<<" 4.存储信息 5.读取信息 6.退出\n";
		cout<<"请输入选项编号:";
		cin>>i;
		switch(i) {
		case 1: 
			cout<<endl<<"----------------------------------------------"<<endl;
			for(i=0;i<count;i++) { 
				cout<<" "<<i+1<<"\t"; 
				emp[i].ShowMe(); 
			}
			cout<<"----------------------------------------------"<<endl<<endl;
			break;
		case 2: 
			if(count<50) {
				i=count++;
				cout<<"请依次输入姓名、性别、年龄、工作部门、月薪:\n";
				cin>>name>>sex>>age>>dept>>salary;
				emp[i]=Employee(name,sex,age,dept,salary);
				strcpy(emp[i].m_strDept, dept);
				emp[i].m_fSalary = salary;
			}
			else { cout<<"存储空间已满"; }
			break;
		case 3:
			cout<<"输入要删除的雇员号:\t";
			cin>>i;
			if(i<=count && i>0) {
				for(j= i; j< count; j++) { emp[j-1]=emp[j]; }
				count--;
				cout<<"\n  ---  记录已删除  ---\n\n";
			}
			else { cout<<"输入错误"; }
			break;
		case 4:
			myfile.Open("emp_Rec",CFile::modeWrite|CFile::modeCreate,&e);
			myfile.Write(&count,sizeof(count));
			for(j=0;j<count;j++) emp[j].SaveEmp(&myfile);
			myfile.Close();
			cout<<"\n    --- 雇员信息已保存 ---   \n\n";
			break;
		case 5:
			if(myfile.Open("emp_Rec",CFile::modeRead,&e))
			{ 
				myfile.Read(&count,sizeof(count));
				for(j=0;j<count;j++) emp[j].ReadEmp(&myfile);
				myfile.Close();
				cout<<"\n    --- 雇员信息已读入 ---   \n\n";
			}
			else {  cout<<"\n  -- 文件打开失败 -- \n\n"; } 
			break;
		default:  
			return ;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -