源码:
#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操作系统中常见的菜单结构。以下是代码的详细解释:
-
包含头文件:
#include <iostream>
:用于输入输出操作,如std::cout
和std::cin
。#include <cstdlib>
:为了使用system
函数,这里用于清屏。#include <limits>
:用于访问std::streamsize
的最大值,以便std::cin.ignore
能够忽略直到下一个换行符的所有输入。
-
清屏函数:
void clearScreen()
:使用system("cls")
命令清屏,这是Windows特有的命令,cls
用于清除命令行窗口的内容。
-
显示菜单函数:
void displayMenu()
:调用clearScreen()
清屏,然后输出一个简单的菜单,提示用户输入选项(1-4)。
-
功能函数:
void one()
,void two()
,void three()
,void four()
:分别对应菜单上的四个选项,执行简单的操作并显示相关信息。这些函数目前只输出静态信息,但可以根据需要添加更多逻辑。
-
处理输入函数:
void handleInput(int input)
:根据用户输入的整数(1-4),调用相应的功能函数。如果输入无效,则输出错误信息。
-
主函数:
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')
组合用于处理非整数输入的情况,确保程序可以恢复并继续读取整数输入。 - 程序中的注释(
//
开头的行)提供了额外的说明,帮助理解代码的功能。