交互选择界面(c语言)

选择交互式界面

        一个交互式界面是用户和终端交流的形式。是以用户为中心的设计流程,关注用户的使用流畅度和方便性,符合用户使用习惯的解决方案。交互不一定需要很华丽的界面,但是使用过程肯定是很人性化,减少用户思考返回的次数。
       无论在web开发,UI设计等,程序员构建了代码并且提交到终端,发布给用户,但是用户在使用时候面对着开发者的设计界面去操作时候,看到不同的交互式界面就有着怎么样的使用心情。
       c语言也涉及到这个知识,老师叫你写一个顺序栈(实现初始化,入栈,出栈,删除栈等选择功能),让你设计去给他操作



是这种界面好看?

在这里插入图片描述


还是..... ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190409173137905.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDU4NzI0Ng==,size_16,color_FFFFFF,t_70)

以下代码基于printf和条件语句

1.简单版
        int main()
        {
        while(1)//死循输入框
        {
		printf ( "\n" );
		printf ( "\n" );
		printf ( "            	******************欢饮来到栈de环节*************\n" );
		printf ( "	______________________________________________________________________________\n" );
		printf ( "	|---->                       请选择输入你要操作的选择                    <----|\n" );
		printf ( "	|----> 1: 创建栈                                                         <----|\n" );
		printf ( "	|----> 2:判断栈是不是空                                                 <----|\n" );
		printf ( "	|----> 3:入栈                                                           <----|\n" );
		printf ( "	|----> 4:出栈                                                           <----|\n" );
		printf ( "	|----> 5:检测栈的长度                                                   <----|\n" );
		printf ( "	|----> 6:清空栈                                                         <----|\n" );
		printf ( "	|----> 7:得到栈顶元素                                                   <----|\n" );
		printf ( "	|----> 8:打印栈的元素                                                   <----|\n" );
		printf ( "	|_____________________________________________________________________________|\n" );
		int choice;
		printf("请输入你的选择\n");
		scanf("%d",&choice);
		switch(choice)
		{
			case 1:
			
			break;
			case 2:
			
			break;
        }
        
        }

在这里插入图片描述

弊端:界面是好看多了,但是交互式做的不好,每次用户输入一次就重新显示新的对话框,用户执行多了上下拉的条条就会很长

2.进阶版

#include<stdio.h>

  /*封装输入函数*/
    int init()
    {
    	int choice, confirm;
    	printf(
    
		"\n\t|_________________________________________________________|\t\n"
		"\t|1:初始化队列                                             |\t\n"
		"\t|2:入队                                                   |\t\n"
		"\t|3:出队                                                   |\t\n"
		"\t|4:检测队列长度                                           |\t\n"
		"\t|5:判断队列是否为空                                       |\t\n"
		"\t|6:判断队列是否已满                                       |\t\n"
		"\t|7:清空队列                                               |\t\n"
		"\t|8:销毁队列                                               |\t\n"
		"\t|9:退出程序                                               |\t\n"
		"\t|_________________________________________________________|\t\n\n"
	);
	printf("\t请输入你想进行的操作:");
	scanf(" %d", &choice);
	while ((confirm = getchar()) != '\n')//用户再次输入空格键才表示其真正确认
		continue;
	//输入检测
	while (choice != 9 && (choice < 1 || choice > 8))//判断执行1-8,并且检测合法输入
	{
		printf("\t您的输入: '%d' 有误!请重新输入:", choice);
		scanf(" %d", &choice);
	
	}
	return choice;
}

int main()
{
	int choice;
	while ((choice=init())&&choice!=9)
	{
		printf("\n\t程序在进行\n");

		//以下写你的判断代码
	}
	printf("\n\t程序结束,感谢您的使用谢谢\n");
	system("pause");
}

在这里插入图片描述

优点:
1.每执行一次操作都停留在此界面
2.有错误输入判断
3.退出程序直接结束