当前位置: 首页 > news >正文

【c++】用C++制作一个简易windows系统

源码:

#include <iostream>
#include <cstdlib> // 为了使用system
#include<limits>
void clearScreen() {system("cls");
}void displayMenu() {clearScreen();std::cout << "1.我的文件" << std::endl;std::cout << "2.回收站" << std::endl;std::cout << "3.网络" << std::endl;std::cout << "4.设置" << std::endl;std::cout << "请输入选项(1-4):" << std::endl;
}void one() {clearScreen();std::cout << "我的文件" << std::endl;std::cout << "目前没有文件" << std::endl;// 可以在这里添加更多的逻辑
}void two() {clearScreen();std::cout << "回收站" << std::endl;std::cout << "当前回收站为空" << std::endl;// 可以在这里添加更多的逻辑
}void three() {clearScreen();std::cout << "已连接网络" << std::endl;// 可以在这里添加更多的逻辑
}void four() {clearScreen();std::cout << "设置" << std::endl;// 可以在这里添加更多的逻辑
}void handleInput(int input) {switch (input) {case 1:one();break;case 2:two();break;case 3:three();break;case 4:four();break;default:std::cout << "无效输入,请重新选择!" << std::endl;}
}int main() {int userInput;while (true) {displayMenu();if (!(std::cin >> userInput)) {std::cin.clear(); // 清除错误标志std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略输入直到下一个换行符std::cout << "输入错误,请输入一个整数(1-4):" << std::endl;continue;}if (userInput < 1 || userInput > 4) {std::cout << "无效输入,请输入一个整数(1-4):" << std::endl;continue;}handleInput(userInput);// 可以选择在这里添加返回主菜单的逻辑,或者允许用户直接退出std::cout << "按任意键返回主菜单,或输入0退出:" << std::endl;std::cin >> userInput;if (userInput == 0) {break;}}return 0;
}  这是我制作的微型windows基础班

程序解释:

这段代码是用C++语言编写的,它实现了一个简单的文本界面菜单系统,模仿了Windows操作系统中常见的菜单结构。以下是代码的详细解释:

  1. 包含头文件

    • #include <iostream>:用于输入输出操作,如std::coutstd::cin
    • #include <cstdlib>:为了使用system函数,这里用于清屏。
    • #include <limits>:用于访问std::streamsize的最大值,以便std::cin.ignore能够忽略直到下一个换行符的所有输入。
  2. 清屏函数

    • void clearScreen():使用system("cls")命令清屏,这是Windows特有的命令,cls用于清除命令行窗口的内容。
  3. 显示菜单函数

    • void displayMenu():调用clearScreen()清屏,然后输出一个简单的菜单,提示用户输入选项(1-4)。
  4. 功能函数

    • void one()void two()void three()void four():分别对应菜单上的四个选项,执行简单的操作并显示相关信息。这些函数目前只输出静态信息,但可以根据需要添加更多逻辑。
  5. 处理输入函数

    • void handleInput(int input):根据用户输入的整数(1-4),调用相应的功能函数。如果输入无效,则输出错误信息。
  6. 主函数

    • int main():程序的入口点。首先声明一个整型变量userInput用于存储用户输入。然后进入一个无限循环,显示菜单,读取用户输入,并根据输入调用handleInput函数。如果用户输入的不是整数或者不在1-4的范围内,程序会提示错误并要求重新输入。
    • 在处理完用户的选择后,程序会提示用户按任意键返回主菜单或输入0退出。如果用户输入0,则通过break语句跳出循环,程序结束。

注意

  • 这个程序是为Windows命令行环境编写的,因为它使用了system("cls")来清屏,这在Unix/Linux系统中应该替换为system("clear")
  • 程序中的std::cin.clear()std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n')组合用于处理非整数输入的情况,确保程序可以恢复并继续读取整数输入。
  • 程序中的注释(//开头的行)提供了额外的说明,帮助理解代码的功能。
http://www.lryc.cn/news/415438.html

相关文章:

  • 常见锁策略
  • 【机器学习】人工神经网络优化方法及正则化技术
  • Django异步请求和后台管理实战
  • 大奖放送 | AI编程达人秀视频文章征集大赛来啦!
  • 最新小猫咪PHP加密系统源码V1.4_本地API接口_带后台
  • a bag of bones
  • XLT高速线缆自动化测试系统
  • 微软AI业务最新营收数据情况(2024年7月)
  • canvas绘制表格
  • 避免溃坝的关键:渗压计在防洪管理中的作用
  • 品牌建设如何助力中小企业突破生存瓶颈?
  • 探索Python FastAPI的Annotated参数设计:提升代码的灵活性与可读性
  • ClickHouse 进阶【建表、查询优化】
  • Qt拖拽事件详解及代码实现
  • 云原生的候选应用
  • 什么是单例模式?
  • F4Pan百度网盘不限速直链解析工具最新可用
  • 设计模式实战:智能家居系统的设计与实现
  • Unity Rigidbody 踩坑记录
  • Guitar Pro简谱怎么输入 ?如何把简谱设置到六线谱的下面?
  • Python 爬虫项目实战(一):爬取某云热歌榜歌曲
  • Mongodb权限
  • 力扣第五十三题——最大子数组和
  • 达梦数据库:select报错:不是 GROUP BY 表达式
  • 大模型卷向「下半场」,产业场景成拼杀重地
  • OD C卷 - 多线段数据压缩
  • 密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(2)
  • C++ 异步编程:std::async、std::future、std::packaged_task 和 std::promise
  • OD C卷 - 石头剪刀布游戏
  • 关于k8s集群中kubectl的陈述式资源管理