sakuya.h#pragma once
#include<iostream>
#include<string>
#include<fstream>
class Human
{
public:
std::string name;
std::int32_t age;
std::float_t height;//因为不能用普通的float ,又查不到这几个float的用法,极可能出错。
std::float_t welght;//体重
void interact(std::string Name, std::int32_t Age, std::float_t Height, std::float_t Welght);
};
class FileOperate
{
public:
FileOperate();
~FileOperate();
int project();
void OpenWriteIn();//打开可写入
void OpenReadable();//打开可读
};
class Housemaid:public Human, public FileOperate//女仆类 继承了Human
{
public:
int order();
void sweep();
void CookDinner();
};
//void FileOperate::OpenWriteIn()
//{
//
// std::string filename;
//
// std::cout << "主人,请输入您要打开的文件地址" << std::endl;
// std::cin >> filename;
//
//
// std::ofstream out(filename, std::ios::app);
// if (!out)
// {
// std::cout << "文件打开失败" << std::endl;
// }
// std::cout << "请输入您要写入的内容";
// std::string content;//内容变量
// std::cin >> content;
// out << content;
// out.close();
// std::cout << "写入成功";
// std::cin.ignore(100, '\n');
// std::cout << "\n输入任何字符结束程序" << std::endl;
// std::cin.get();
//}
//void FileOperate::OpenReadable()
//{
// std::string filename;
// std::cout << "主人,请输入您要打开的文件地址" << std::endl;
// std::cin >> filename;
// std::ifstream in(filename, std::ios::in);
// if (!in)
// {
// std::cout << "文件打开失败" << std::endl;
// }
// std::string content;//内容变量
// while (in >> content)
// {
// std::cout << content;
// }
// in.close();
// std::cin.ignore(100, '\n');
// std::cout << "\n输入任何字符结束程序" << std::endl;
// std::cin.get();
//
//
//}
//FileOperate::FileOperate()
//{
//}
//
//FileOperate::~FileOperate()
//{
//}
//int FileOperate::project()
//{
// int i;//i为获取的判断变量
// std::cout << "1打开项目\n2打开或者新建文件" << "(格式:d:\\\\文件名\\文件名.后缀)";
// std::cin >> i;
// if (i == 1)
// {
// std::string filename;
//
// //std::cin >> filename;
// std::ofstream out("d:\\项目\\女仆程序\\工作日志.txt", std::ios::app);
// //std::ofstream out(filename, std::ios::app);
//
// if (!out)
// {
// std::cout << "文件打开失败" << std::endl;
// }
// std::cout << "请输入您的日志\n";
// std::string content;//内容变量
// std::cin >> content;
// out << "\n" << content;
// out.close();
// std::cout << "输入成功";
// std::cin.ignore(100, '\n');
// std::cout << "输入任何字符结束程序" << std::endl;
// std::cin.get();
// }
// else if (i == 2)
// {
// std::cout << "1打开一个可读取的文件\n2打开或者新建一个可写入的文件\n";
// std::cin >> i;
// switch (i)
// {
// case 1:
// OpenReadable();
// break;
// case 2:
// OpenWriteIn();
// break;
// default:
// std::cout << "主人,您输入的不是一个有效的数字";
// break;
// }
//
// }
// else
// {
// std::cout << "主人,您输入的不是一个有效的数字";
// }
// return 0;
//}
//void Human::interact(std::string Name, std::int32_t Age, std::float_t Height, std::float_t Welght)
//{
// std::cout << "主人\n我的名字是" << Name << "\n我的年龄是" << Age << "岁\n我的身高是" << Height << "厘米\n我的体重是" << Welght << "斤\n" << std::endl;
//}
//
//void Housemaid::sweep()
//{
// std::cout << "即将开始打扫\n" << std::endl;
//}
//void Housemaid::CookDinner()
//{
// std::cout << "即将开始做饭\n" << std::endl;
//}
//int Housemaid::order()
//{
// int i;//i为接收到的指令存储的变量
// std::cout << "主人,请问您需要我做些什么\n 1.打扫\n 2.做饭\n 3.打开文件" << std::endl;
// std::cin >> i;
//
//
// switch (i)
// {
// case 1:sweep();
// return 0;
// break;
// case 2:CookDinner();
// return 0;
// break;
// case 3:project();
// return 0;
// break;
// default:std::cout << "主人,没有这个命令哦,请输入1—2" << std::endl;
// order();
// break;
// }
//
//}
FileOperate.cpp#include "sakuya.h"
#include<iostream>
#include<string>
#include<fstream>
FileOperate::FileOperate()
{
}
FileOperate::~FileOperate()
{
}
void FileOperate::OpenWriteIn()
{
std::string filename;
std::cout << "主人,请输入您要打开的文件地址" << std::endl;
std::cin >> filename;
std::ofstream out(filename, std::ios::app);
if(!out)
{
std::cout << "文件打开失败" << std::endl;
}
std::cout << "请输入您要写入的内容";
std::string content;//内容变量
std::cin >> content;
out << content;
out.close();
std::cout << "写入成功";
std::cin.ignore(100, '\n');
std::cout << "\n输入任何字符结束程序" << std::endl;
std::cin.get();
}
void FileOperate::OpenReadable()
{
std::string filename;
std::cout << "主人,请输入您要打开的文件地址" << std::endl;
std::cin >> filename;
std::ifstream in(filename, std::ios::in);
if(!in)
{
std::cout << "文件打开失败" << std::endl;
}
std::string content;//内容变量
while(in >> content)
{
std::cout << content;
}
in.close();
std::cin.ignore(100, '\n');
std::cout << "\n输入任何字符结束程序" << std::endl;
std::cin.get();
}
int FileOperate::project()
{
int i;//i为获取的判断变量
std::cout << "1打开项目\n2打开或者新建文件" << "(格式:d:\\\\文件名\\文件名.后缀)";
std::cin >> i;
if(i == 1)
{
std::string filename;
//std::cin >> filename;
std::ofstream out("d:\\项目\\女仆程序\\工作日志.txt", std::ios::app);
//std::ofstream out(filename, std::ios::app);
if(!out)
{
std::cout << "文件打开失败" << std::endl;
}
std::cout << "请输入您的日志\n";
std::string content;//内容变量
std::cin >> content;
out << "\n" << content;
out.close();
std::cout << "输入成功";
std::cin.ignore(100, '\n');
std::cout << "输入任何字符结束程序" << std::endl;
std::cin.get();
}
else if(i == 2)
{
std::cout << "1打开一个可读取的文件\n2打开或者新建一个可写入的文件\n";
std::cin >> i;
switch(i)
{
case 1:
OpenReadable();
break;
case 2:
OpenWriteIn();
break;
default:
std::cout << "主人,您输入的不是一个有效的数字";
break;
}
}
else
{
std::cout << "主人,您输入的不是一个有效的数字";
}
return 0;
}
Housemaid.cpp#include<iostream>
#include<string>
#include<fstream>
#include "sakuya.h"
void Housemaid::sweep()
{
std::cout << "即将开始打扫\n" << std::endl;
}
void Housemaid::CookDinner()
{
std::cout << "即将开始做饭\n" << std::endl;
}
int Housemaid::order()
{
int i;//i为接收到的指令存储的变量
std::cout << "主人,请问您需要我做些什么\n 1.打扫\n 2.做饭\n 3.打开文件" << std::endl;
std::cin >> i;
switch(i)
{
case 1:sweep();
return 0;
break;
case 2:CookDinner();
return 0;
break;
case 3:project();
return 0;
break;
default:std::cout << "主人,没有这个命令哦,请输入1—2" << std::endl;
order();
break;
}
return 0;
}
Human.cpp#include "sakuya.h"
#include<iostream>
#include<string>
#include<fstream>
void Human::interact(std::string Name, std::int32_t Age, std::float_t Height, std::float_t Welght)
{
std::cout << "主人\n我的名字是" << Name << "\n我的年龄是" << Age << "岁\n我的身高是" << Height << "厘米\n我的体重是" << Welght << "斤\n" << std::endl;
}
main.cpp#include "sakuya.h"
int main(void)
{
Housemaid sakuya;
sakuya.name = "咲夜";
sakuya.height = 170;
sakuya.age = 17;
sakuya.welght = 80;
sakuya.interact(sakuya.name, sakuya.age, sakuya.height, sakuya.welght);
sakuya.order();
std::cin.ignore(100, '\n');
std::cout << "输入任何字符结束程序" << std::endl;
std::cin.get();
return 0;
}
|