慧咕咕 2022-12-17 10:26 采纳率: 87%
浏览 15
已结题

C语言编辑,在运行程序时部分函数的输出内容闪现,不停留。而且闪现结束还会返回上一步选择内容,具体代码如下


int  main(){    int n,w=1;    do    {        system("cls");        puts("\n\n\t\t*********************MENU***********************\n\n");        puts("\t\t\t\t1.以管理员身份登录(password 1)\n");        puts("\t\t\t\t2.以学生身份登录\n");        puts("\t\t\t\t3.关于\n");        puts("\t\t\t\t4.帮助\n");        puts("\t\t\t\t5.退出");        puts("\n\n\t\t************************************************\n");        printf("Chiose your number(1-5):");        scanf("%d",&n);        switch(n)        {            case 1:Mangers();break;  //case为语句1            case 2:Students();break;            case 3:About();break;            case 4:Help();break;            case 5:w=0;break;            default:;   //语句n+1        }    }while(w==1);    return 0;}

```
void Help()

{

printf("本程序为大学生选课系统,分为管理员界面和学生界面。\n");

printf("在管理员界面:需要密码登录,登录完成后可以对课程信息进行管理如(浏览、查询、添加、删除)。\n");
printf("在学生界面:直接进入后可以浏览课程、查询课程信息、选择选修课程、浏览学生自己选择的选修课程、删除错选的课程。\n");
printf("在查询课程的功能上可以从课程名称、课程编号等不同的课程性质进行课程的查询\n");

}```

  • 写回答

1条回答 默认 最新

  • a5156520 2022-12-17 10:50
    关注

    应该是因为do-while循环里面的system("cls")这行代码把先前的屏幕信息清除了的原因,去除此行代码即可,修改如下:

    #include <stdio.h>
    #include <stdlib.h>
    void Help()
    
    {
    
        printf("本程序为大学生选课系统,分为管理员界面和学生界面。\n");
        
        printf("在管理员界面:需要密码登录,登录完成后可以对课程信息进行管理如(浏览、查询、添加、删除)。\n");
        printf("在学生界面:直接进入后可以浏览课程、查询课程信息、选择选修课程、浏览学生自己选择的选修课程、删除错选的课程。\n");
        printf("在查询课程的功能上可以从课程名称、课程编号等不同的课程性质进行课程的查询\n");
    }
    
    void Mangers(){
        printf("管理员操作!\n");
    }
    
    void Students()  {
        printf("学生操作!\n"); 
    } 
    
    void About(){
        printf("关于页面!\n");
    }
    
    int  main(){
        int n,w=1;    
        do  {        
            //system("cls");        
            puts("\n\n\t\t*********************MENU***********************\n\n");        
            puts("\t\t\t\t1.以管理员身份登录(password 1)\n");        
            puts("\t\t\t\t2.以学生身份登录\n");        
            puts("\t\t\t\t3.关于\n");        
            puts("\t\t\t\t4.帮助\n");        
            puts("\t\t\t\t5.退出");        
            puts("\n\n\t\t************************************************\n");        
            printf("Chiose your number(1-5):");       
             scanf("%d",&n);        
             switch(n)        
             {            
                case 1:Mangers();break;  //case为语句1            
                case 2:Students();break;           
                case 3:About();break;            
                case 4:Help();break;            
                case 5:w=0;break;            
                default:;   //语句n+1        
            }    
        }while(w==1);    
        
        return 0;
    }
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月19日
  • 已采纳回答 12月17日
  • 创建了问题 12月17日

悬赏问题

  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵