(三)在管理系统中输入输出及帮助使用

目录

1.系统中的输入输出原理

 2.实验环境的设定及命令的执行

 3.输出重定向和追加

 3.管道的应用

5.输入重定向及多行录入

 6.在系统中获得帮助


1.系统中的输入输出原理

####理解为什么输入输出的定义####

输入:即键盘鼠标键入的命令

输出:显示的内容

字符设备

字符设备就是显示字符到屏幕上的设备文件

1)Stdin

标准输入

标号为0   存放输出的位置(没有按回车键之前刚输入的命令)

键盘 鼠标 打字机

2)Stdout

标准正确输出

标号为1  按下回车键后,正确的输出存放的位置

3)Stderr

标准错误输出

标号为2  按下回车键后,错误的输出存放的位置

0 1 2的位置 :在root中 other lcations  点computer  点prpc 找自己root对应的进程ID 点开此进程I

点fd文件 就可以看到0 1 2

 2.实验环境的设定及命令的执行

超级用户切普通用户?

命令:gonme-session- quit --force

find /etc/-name passwd

(指在/etc目录中找名字叫passwd的文件)

 3.输出重定向和追加

*在普通用户中执行

  1. 输出重定向
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一份代码作为参考,帮助你完成饭卡管理系统。 首先,我们需要定义一个饭卡类(Card),包含饭卡编号(cardId)、余额(balance)和持卡人姓名(name)个属性,以及对应的构造函数: ```cpp class Card { public: Card() {} Card(string id, string name, double balance) : cardId(id), name(name), balance(balance) {} string cardId; string name; double balance; }; ``` 接下来,我们需要定义一个饭卡管理系统类(CardManager),包含添加饭卡、查询饭卡余额、充值饭卡和退出程序四个功能。在这个类,我们需要定义一个 vector<Card> cards 存储所有饭卡信息,并且将这些信息保存到文件。具体实现如下: ```cpp class CardManager { public: CardManager() { loadCardsFromFile(); } void addCard() { string id, name; double balance; cout << "请输入饭卡编号:"; cin >> id; cout << "请输入持卡人姓名:"; cin >> name; cout << "请输入饭卡余额:"; cin >> balance; Card card(id, name, balance); cards.push_back(card); saveCardsToFile(); } void queryBalance() { string id; cout << "请输入要查询的饭卡编号:"; cin >> id; for (int i = 0; i < cards.size(); i++) { if (cards[i].cardId == id) { cout << "饭卡余额为:" << cards[i].balance << endl; return; } } cout << "未找到该饭卡!" << endl; } void recharge() { string id; double amount; cout << "请输入要充值的饭卡编号:"; cin >> id; for (int i = 0; i < cards.size(); i++) { if (cards[i].cardId == id) { cout << "请输入充值金额:"; cin >> amount; cards[i].balance += amount; cout << "充值成功,当前余额为:" << cards[i].balance << endl; saveCardsToFile(); return; } } cout << "未找到该饭卡!" << endl; } void exit() { saveCardsToFile(); cout << "感谢使用,再见!" << endl; std::exit(0); } private: vector<Card> cards; void loadCardsFromFile() { ifstream ifs("cards.dat"); if (!ifs.is_open()) { cout << "文件不存在,将创建新文件!" << endl; return; } while (!ifs.eof()) { string id, name; double balance; ifs >> id >> name >> balance; if (!id.empty() && !name.empty() && balance >= 0) { Card card(id, name, balance); cards.push_back(card); } } ifs.close(); } void saveCardsToFile() { ofstream ofs("cards.dat"); for (int i = 0; i < cards.size(); i++) { ofs << cards[i].cardId << " " << cards[i].name << " " << cards[i].balance << endl; } ofs.close(); } }; ``` 最后,我们需要在主函数循环出现菜单页面,并根据用户输入调用相应的功能函数。具体代码如下: ```cpp int main() { CardManager manager; while (true) { cout << "---------------------------------------" << endl; cout << "1. 添加饭卡" << endl; cout << "2. 查询饭卡余额" << endl; cout << "3. 充值饭卡" << endl; cout << "4. 退出程序" << endl; cout << "请选择操作:"; int choice; cin >> choice; switch (choice) { case 1: manager.addCard(); break; case 2: manager.queryBalance(); break; case 3: manager.recharge(); break; case 4: manager.exit(); break; default: cout << "输入有误,请重新选择!" << endl; break; } } return 0; } ``` 完整代码如下:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值