2025年3月28日 星期五 甲辰(龙)年 月廿七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

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

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

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命令功能相同。

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