您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言循环菜单的设计,让程序一直运行

时间:12-30来源:作者:点击数:
本节涉及到的部分知识在《函数》一章中才会讲到,如果您是初学者,请阅读完该章再来回顾本节。

C语言程序通常是“黑屏”的控制台程序(Console Application),执行一次操作就结束了,要执行同样的操作必须重新启动程序,这样很麻烦。像QQ、360、迅雷等GUI(Graphical User Interface)程序,可以一直运行,一个菜单或选项可以重复点击,无限次执行同一操作。

C语言程序也可以这样!思路就是把相关的菜单和操作(函数)放入一个死循环内。即:

while(1){
    // 要执行的操作
}

例如,对于一个加密解密的程序,要实现的功能有:

  • 文件加密;
  • 文件解密;
  • 修改密码(为了防止其他人使用,程序设置了密码,必须输入密码才能使用程序);
  • 退出系统。

相应的菜单也有这些,请看下面的代码:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//函数原型
void printMenu();
void pause(const char *msg);
int main(){
    char action;
    while(1){
        system("cls");  //清屏
        printMenu();  //显示主菜单
        action = getch();  //读取用户操作
        fflush(stdin);  // 刷新(清空)stdin缓冲区
        switch(action){
            case '1':
                pause("文件加密成功!按任意键返回...");
                break;
            case '2':
                pause("文件解密成功!按任意键返回...");
                break;
            case '3':
                pause("更改密码成功!按任意键返回...");
                break;
            case '4':
                exit(0);
            default:
                pause("没有相应的菜单!按任意键返回...");
        }
    }
    return 0;
}
//打印主菜单
void printMenu(){
    printf("******************* 文本加密解密软件 *******************\n");
    printf("*                                                      *\n");
    printf("*      请从下面的菜单中选择你要进行的操作:            *\n");
    printf("*      1. 文件加密                                     *\n");
    printf("*      2. 文件解密                                     *\n");
    printf("*      3. 更改密码                                     *\n");
    printf("*      4. 退出系统                                     *\n");
    printf("*                                                      *\n");
    printf("********************************************************\n");
}
//暂停程序
void pause(const char *msg){
    printf("%s", msg);
    getch();
    printf("\n");
}

运行结果示例:

输入 1,显示:

按任意键,又回到了上面的菜单(主菜单)。大家可以亲自运行一下这段代码,会有更加直观的动态效果。

上面的程序通过 while(1) 循环,不断执行用户操作,直到用户输入4退出系统。

system() 函数位于stdlib.h头文件,用来执行dos命令,system("cls") 用来清屏,与dos里面的cls命令功能相同。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门