精华内容
下载资源
问答
  • 2020-12-23 13:58:20

    展开全部

    问题比较多,主要是两个:e68a84e8a2ad3231313335323631343130323136353331333337393636输入的时候,用的格式和变量类型不匹配;

    menu函数最后又调用menu,没必要。

    改了一下,你看看。#include 

    #include 

    struct student

    {

    char name[30];    /*名字肯定是字符串型*/

    int number[30];

    char  sex;

    int age;

    char addr[30];

    struct student *next;

    };

    int a;

    struct student *create()

    {

    struct student *phead=NULL;

    struct student *pend,*pnew;

    a=0;

    pend=pnew=(struct student *)malloc(sizeof(struct student));

    printf("\n请输入姓名\n");

    scanf("%s",pnew->name);    /*name已经是数组地址,不需要取地址*/

    printf("\n请输入号码\n");

    scanf("%s",pnew->number);    /*number是字符串,要用%s*/

    printf("\n请输入性别\n");

    fflush(stdin);    /*退不到菜单问题在这里,要清空缓存*/

    scanf("%c",&pnew->sex);    /*char型要用%c*/

    printf("\n请输入年龄\n");

    scanf("%d",&pnew->age);

    printf("\n请输入地址\n");

    scanf("%s",pnew->addr);    /*addr已经是数组地址,不需要取地址*/

    while(strcmp(pnew->number, "0") != 0)    /*号码是字符串,字符串比较要用strcmp*/

    {

    a++;

    if(a==1)

    {

    pnew->next=phead;

    pend=pnew;

    phead=pnew;

    }

    else

    {

    pnew->next=phead;

    pend->next=pnew;

    pend=pnew;

    }

    pnew=(struct student *)malloc(sizeof(struct student));

    printf("\n请输入姓名\n");

    scanf("%s",pnew->name);

    printf("\n请输入号码\n");

    scanf("%s",pnew->number);

    printf("\n请输入性别\n");

    fflush(stdin);

    scanf("%c",&pnew->sex);

    printf("\n请输入年龄\n");

    scanf("%d",&pnew->age);

    printf("\n请输入地址\n");

    scanf("%s",pnew->addr);

    }

    free(pnew);

    return phead;

    }

    void print(struct student *phead)

    {

    struct student *ptemp;

    int iindex=1;

    printf("共有%d位联系人\n",a);

    ptemp=phead;

    while(ptemp!=NULL)

    {

    printf("第%d位联系人是:\n",iindex);

    printf("\n姓名%s",ptemp->name);

    printf("\n号码%d",ptemp->number);

    printf("\n性别%d",ptemp->sex);

    printf("\n年龄%d",ptemp->age);

    printf("\n地址%d",ptemp->addr);

    ptemp=ptemp->next;

    iindex++;

    }

    }

    void menu()

    {

    struct student *phead;

    int choice;

    do

    {

    system("cls");

    printf("    **************************************\n");

    printf("    |       欢迎使用通讯录管理系统       |\n");

    printf("    |       1--输入联系人的信息          |\n");

    printf("    |       2--添加联系人信息            |\n");

    printf("    |       3--删除联系人信息            |\n");

    printf("    |       4--输出联系人信息            |\n");

    printf("    |       5--退出系统                  |\n");

    printf("    **************************************\n");

    printf("            请选择项目1-5\n");

    scanf("%d",&choice);

    switch(choice)

    {

    case 1:

    phead=create();

    break;

    #if 0

    case 2:

    phead=insert(phead);

    break;

    case 3:

    delete(phead,2);

    break;

    #endif

    case 4:

    print(phead);

    break;

    case 5:

    exit(1);

    case 0:

    break;

    }

    }

    while(choice!=0);

    //menu();    /*这里注掉,不需要再调一次*/

    }

    更多相关内容
  • #include<iostream> #include<..."请输入1:进入下一级程序A:"<<endl; cout<<"请输入2:进入下一级程序B"<<endl; cout<<"请输入3:退出程序"<<endl; i
    #include<iostream>
    #include<stdlib.h>
    using namespace std;
    
    int main()
    {
    	while(1)
    	{
    		system("cls");//刷新控制台程序界面 
    		cout<<"请输入1:进入下一级程序A:"<<endl;
    		cout<<"请输入2:进入下一级程序B"<<endl;
    		cout<<"请输入3:退出程序"<<endl;
    		int x;
    		cin>>x;
    		if(x==3)
    			{
    				break;
    			}
    		switch(x)
    		{
    			case 1:
    				{
    					while(1)
    					{	system("cls"); 
    						cout<<"您已进入程序A界面"<<endl;
    						cout<<"请输入1:返回上一级"<<endl;
    						cout<<"请输入2:结束该程序"<<endl; 
    						
    						int y;
    						cin>>y;
    						if(y==1)
    						{
    							break;//返回上一级 
    						}
    						switch(y)
    						{
    							
    							case 2:
    								return 0;
    								break;
    						}
    					}
    				}
    				break;
    			case 2:
    				{
    						while(1)
    					{	system("cls");
    						cout<<"您已进入程序B界面"<<endl;
    						cout<<"请输入1:返回上一级"<<endl;
    						cout<<"请输入2:结束该程序"<<endl; 
    						
    						int y;
    						cin>>y;
    						if(y==1)
    						{
    							break;//返回上一级 
    						}
    						switch(y)
    						{
    							
    							case 2:
    								return 0;
    								break;
    						}
    					}
    				}
    				break;
    			default:
    				break;
    		 } 
    		
    		
    		
    	}
    }
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 菜单返回上一级,直接退出和擦屏功能的实现

    万次阅读 多人点赞 2016-08-18 23:08:45
    返回上一级,直接退出和擦屏功能的实现 #include #include #include int main() { int choice1,choice2; while(1) { printf("1.进入下一级\n"); printf("2.忽略\n"); printf("3.退出\n"); printf("请输入...

    返回上一级,直接退出和擦屏功能的实现

    #include<stdio.h>
    #include<windows.h>
    #include<stdlib.h>
    
    int main()
    {
    	int choice1,choice2;
    	
    	while(1)
    	{
    	printf("1.进入下一级\n");
    	printf("2.忽略\n");
    	printf("3.退出\n");
    	printf("请输入:\n");
    	scanf("%d",&choice1);
    	choice2=0;//****************b!=2!!
    	system ("cls");//****************
        
    	
    		if(choice2==2)		//**************
    			break;
    		switch(choice1)
    		{
    		case 1:
    			while(1)
    			{
    				printf("1.忽略\n");
    				printf("2返回上一级\n");
    				printf("3直接退出\n");
    				scanf("%d",&choice2);
    				system("cls");//*******************
    			
    			
    				if(choice2==2)//**************2级菜单下的选择
    				break;
    				switch(choice2)
    				{
    				case 1: break;
    				case 3:exit(0);
    				}
    
    			}
    			
    			break;
    		case 2:break;
    		case 3:exit(0);
    		}
    	
    	}
        return 0;
    }





    展开全文
  • 【单片机C语言】编写菜单

    千次阅读 2021-07-19 14:04:51
    本文讲解了如何用C语言实现菜单。本菜单的选项切换、确认、返回逻辑与菜单中选项具体要实现的功能分离开,让菜单的代码更加清晰,避免了一般状态机编写中状态机功能切换逻辑与具体功能写在一起造成混乱的情况。 ...

    目录

    前言

    一、菜单分级和功能的编写

    二、菜单的切换

    三、结语


    前言

    本文讲解了如何用C语言实现一个菜单。本菜单的选项切换、确认、返回逻辑与菜单中选项具体要实现的功能分离开,让菜单的代码更加清晰,避免了一般状态机编写中状态机功能切换逻辑与具体功能写在一起造成混乱的情况。


    一、菜单分级和功能的编写

    一个菜单首先要分不同的层级,这些层级可以通过切换键(如左右键)、确定键、返回键进行同层级和不同层级的选择,这样就可以实现用菜单选择执行不同的程序了。

    首先,根据菜单的结构,我们使用如下的菜单结构体:

    typedef struct Menu
    {
        int mode1;    // 0-代表主菜单,选择进入对应二级菜单    1、2、3...代表二级菜单
        int mode2;    // 0-代表二级菜单,选择进入对应三级菜单  1、2、3...代表三级菜单
        int mode3;    // 0-代表三级菜单,选择进入对应四级菜单  1、2、3...代表四级菜单
        int mode4;    // 同理
    }sMenu;

    这个菜单的结构可以用下图表示:

    接下来,要编写进入每一级菜单时要执行的内容,以及进入最后一级时所要执行的程序。如下图所示:

    建立文件menu.c、menu.h、main.c。

    在menu.c中添加如下代码:

    #include "menu.h"
    
    //将传入字符串显示出来,并播报一遍
    extern void Output(char* str);
    
    //创建一个菜单
    sMenu menu = {0,0,0,0};
    
    //放在主循环中扫描
    void Menu_Scan()
    {
        switch(menu.mode1)
        {
            /* 主菜单,选择进入对应二级菜单 */
                //进入主菜单时显示“主菜单”,并播报一遍
            case 0: Output("主菜单"); break;
            /* 二级菜单1 */
            case 1:
                switch(menu.mode2)
                {
                    /* 二级菜单,选择进入对应三级菜单 */
                        //进入二级菜单时显示“二级菜单1”,并播报一遍
                    case 0: Output("二级菜单1"); break;
                    /* 三级菜单1,进入可运行App1 */
                    case 1: Output("现在运行App1"); break;
                    /* 三级菜单2,进入可运行App2 */
                    case 2: Output("现在运行App2"); break;
                    /* 三级菜单3,进入可运行App3 */
                    case 3: Output("现在运行App3"); break;
                }
            break;
            /* 二级菜单2 */
            case 2:  break;
            /* 二级菜单3 */
            case 3:  break;
        }
    }

    将Menu_Scan()放在主循环中扫描,每当所选的菜单改变时,就会执行相应的程序了。这里最后一级菜单所要执行的程序比较简单,只是显示一段文字和播报一遍该文字的音频。其中二级菜单2和二级菜单3的结构类似,这里就省略不写。在每次进入菜单时,都会进行一次的显示和播报,代表进入该菜单。第四级菜单结构也类似,这里就不写了。

    在menu.h中添加如下代码:

    #ifndef __MENU_H
    #define __MENU_H
    
    typedef struct Menu
    {
        int mode1;    // 0-代表主菜单,选择进入对应二级菜单    1、2、3...代表二级菜单
        int mode2;    // 0-代表二级菜单,选择进入对应三级菜单  1、2、3...代表三级菜单
        int mode3;    // 0-代表三级菜单,选择进入对应四级菜单  1、2、3...代表四级菜单
        int mode4;    // 同理
    }sMenu;
    
    void Menu_Scan();
    
    #endif

    在main.c中添加如下代码:

    #include "menu.h"
    
    int main()
    {
        Some_Init();    //一些初始化操作
        while(1)
        {
            Menu_Scan();    //扫描菜单
        }
        return 0;
    }

    二、菜单的切换

    ,菜单的分级问题解决了菜单有了最基本的一个框架,在这个框架中可以填入相应要运行的程序。现在要解决的是菜单同层级和不同层级的选择和切换问题。

    以按键切换为例,按键有切换键(左右键)、确定键、返回键。

    建立文件button.c、button.h。

    在button.c中添加如下代码,代码有点多,重点在Button_Scan()函数中的内容:

    #include "button.h"
    
    //将传入字符串显示出来,并播报一遍
    extern void Output(char* str);
    
    int btnState[4] = {1,1,1,1};    //按键状态  0-按下  1-未按下
    int btnFlag[4] = {0,0,0,0};     //防止按键重复检测
    
    //获得所有按键状态
    static void Button_GetAllState()
    {
        ...
    }
    //复位btnFlag
    static void resetBtnFlag()
    {
        for(int i=0; i<4; i++){
            if(btnState[i]==BtnUp && btnFlag[i]==1){
                btnFlag[i] = 0;
            }
        }
    }
    
    /* 按下按键返回1,未按下返回0 */
    //上一个
    int isBtnPrev()
    {        //防止前一个和后一个同时按下出错
        if(btnState[BtnP]==BtnDown && btnState[BtnN]==BtnUp && btnFlag[BtnP]==0){
            btnFlag[BtnP] = 1;
            return 1;
        }
        return 0;
    }
    //下一个
    int isBtnNext()
    {
        if(btnState[BtnN]==BtnDown && btnState[BtnP]==BtnUp && btnFlag[BtnN]==0){
            btnFlag[BtnN] = 1;
            return 1;
        }
        return 0;
    }
    //确认键
    int isBtnEnter()
    {        //防止确认键和返回键同时按下出错
        if(btnState[BtnE]==BtnDown && btnState[BtnR]==BtnUp && btnFlag[BtnE]==0){
            btnFlag[BtnE] = 1;
            return 1;
        }
        return 0;
    }
    //返回键
    int isBtnReturn()
    {
        if(btnState[BtnR]==BtnDown && btnState[BtnE]==BtnUp && btnFlag[BtnR]==0){
            btnFlag[BtnR] = 1;
            return 1;
        }
        return 0;
    }
    /* 按键扫描 */
    void Button_Scan()
    {
        static int chooseBuf = 1;    //左右选择时不立即进入该菜单
    
        Button_GetAllState();
    
        switch(menu.mode1)
        {
            /*
             * 主菜单
             */
            case 0:
                if(isBtnE()){          //确认键
                    menu.mode1 = chooseBuf; chooseBuf = 1;
                }else if(isBtnR()){    //返回键(主菜单不用)
                }else if(isBtnP()){    //左键
                    if(chooseBuf>1) chooseBuf--;
                }else if(isBtnN()){    //右键
                    if(chooseBuf<3) chooseBuf++;
                }
                if(isBtnP() || isBtnN()){
                    switch(chooseBuf){   //左右选择时显示并播报所在菜单
                        case 1: Output("二级菜单1"); break;
                        case 2: Output("二级菜单2"); break;
                        case 3: Output("二级菜单3"); break;
                    }
                }
            break;
            /*
             * 二级菜单1
             */
            case 1:
                switch(menu.mode2)
                {
                    /*
                     * 二级菜单选择
                     */
                    case 0:
                        if(isBtnS()){        //确认键
                            menu.mode2 = chooseBuf; chooseBuf = 1;
                        }else if(isBtnR()){  //返回键
                            chooseBuf = 1; menu.mode2 = 0; menu.mode1 = 0;
                        }else if(isBtnP()){  //左键
                            if(chooseBuf>1) chooseBuf--;
                        }else if(isBtnN()){  //右键
                            if(chooseBuf<3) chooseBuf++;
                        }
                        if(isBtnP() || isBtnN()){
                            switch(chooseBuf){   //左右选择时显示并播报所在菜单
                                case 1: Output("点击确认选择App1"); break;
                                case 2: Output("点击确认选择App2"); break;
                                case 3: Output("点击确认选择App3"); break;
                            }
                        }
                    break;
                    /*
                     * 三级菜单1  App1
                     */
                    case 1:
                        if(isBtnE()){         //确认键(App1中不需要确认键)
                        }else if(isBtnR()){   //返回键
                            menu.mode2 = 0;
                        }else if(isBtnP()){   //左键(App1中不需要左键)
                        }else if(isBtnN()){   //右键(App1中不需要右键)
                        }
                    break;
                    /*
                     * 三级菜单2  App2
                     */
                    case 2:
                        ...
                    break;
                    /*
                     * 三级菜单3  App3
                     */
                    case 3:
                        ...
                    break;
                }
            break;
            /*
             * 二级菜单2
             */
            case 2:
                ...
            break;
            /*
             * 二级菜单3
             */
            case 3:
                ...
            break;
        }
        //复位btnFlag
        resetBtnFlag();
    }

    可以发现,menu.modex为0时,是作为一种菜单选择界面的状态,menu.modex为1、2、3时,进入菜单中的该选项。在菜单的末端其实就是运行某个程序,这里举例的程序比较简单,只需要一个返回键供退出程序使用。假如这个程序还需要其他按键实现功能,只需要在button.c中的Button_Scan函数中添加menu.mode3的选择相关代码,然后在menu.c中添加对应menu.mode3要实现的功能,这样就可以通过按键切换menu.mode3来运行对应menu.mode3功能的程序。

    在button.h中添加如下代码:

    #ifndef __BUTTON_H
    #define __BUTTON_H
    
    #define BtnP    0    /* 左键 */
    #define BtnN    1    /* 右键 */
    #define BtnE    2    /* 确认键 */
    #define BtnR    3    /* 返回键 */
    
    #define BtnUp   1    /* 按键弹起 */
    #define BtnDown 0    /* 按键按下 */
    
    void Button_Scan();
    
    #endif

    在main.c中添加如下代码:

    #include "menu.h"
    
    int main()
    {
        Some_Init();    //一些初始化操作
        while(1)
        {
            Button_Scan();  //扫描按键,可以放在中断中,这里为了举例方便
            Menu_Scan();    //扫描菜单
            delay_ms(50);   //按键消抖
        }
        return 0;
    }

    菜单实现的总体思路是,在Menu_Scan()中实现菜单的具体功能,在Button_Scan()中通过不同按键及其组合选择或者切换菜单的选项。这里将状态的选择与具体功能实现分开可以让代码编写更为清晰,因为如果实现的具体功能不仅仅是播报并显示一句话这么简单,而是要通过按键切换不同的状态,来实现一个“App”中各种功能,使用一般编写状态机的思路,将状态的切换和要实现的功能编写在一起会显得比较混乱。

    上面的代码中,还有一些细节和bug需要修复。比如Menu_Scan()中某个选项会在主循环中不断被扫描执行,而很多情况下我们只想让写的程序在按键按下时只执行一次,比如这里的语音播报和文字显示,在一些情况下,我们又希望某个“App”中的一些函数能不断循环执行。还有在按下返回键时,就要回到上一级菜单的第一个选项,但是有时我们只是想回到当前选项的父菜单。所以还需要进行一些补充。

    首先要实现返回时返回当前的父菜单,在menu.h中添加如下代码:

    ...
    typedef struct Menu
    {
        ...
        int retNum1;    //记录要返回的二级菜单
    }sMenu;
    ...

    修改menu.c中的代码:

    #include "menu.h"
    
    ...
    sMenu menu = {0,0,0,0,0};
    
    //放在主循环中扫描
    void Menu_Scan()
    {
        switch(menu.mode1)
        {
            case 0:
                switch(menu.retNum1){    //更据要返回的二级菜单选择
                    case 1: Output("二级菜单1"); break;
                    case 2: Output("二级菜单2"); break;
                    case 3: Output("二级菜单3"); break;
                }
            break;
            ...
        }
    }

    在button.c的三级菜单返回键功能中添加retNum1=n;其中n为要返回的二级菜单编号。

    为了让菜单中一些程序只执行一次,而另一些循环执行,在menu.c中添加如下代码:

    #include "menu.h"
    
    ...
    //二级菜单1--三级菜单1(App)1s翻转一次LED
    void Led_Triggle()
    {
        static int cnt = 0;
        if(menu.mode1==1 && menu.mode2==1){
            if(cnt<10){
                cnt++;
            }
            if(cnt==10){    //LED翻转
                LED != LED; cnt = 0;
            }
        }
    }
    
    //放在主循环中扫描
    void Menu_Scan()
    {
        static sMenu lastMode = {0,0,0,0,0};
        static int changeFlag = 1;    //防止重复执行  只有当切换模式时置1,否则为0
    
        //如果模式改变,flag=1
        if(menu.mode1!=lastMode.mode1 || menu.mode2!=lastMode.mode2 || menu.mode3!=lastMode.mode3 || menu.mode4!=lastMode.mode4){
            changeFlag = 0;
        }else{
            changeFlag = 1;
        }
        lastMode.mode1 = menu.mode1; lastMode.mode2 = menu.mode2;
        lastMode.mode3 = menu.mode3; lastMode.mode4 = menu.mode4;
        
        /*------------- 需要不断循环执行的代码 -------------*/
        Led_Triggle();
        /*-------------------------------------------------*/
    
        if(changeFlag){
            return;
        }
    
        switch(menu.mode1)
        {
            ...
        }
    }

    三、结语

    这个菜单的编写方法是我在参加一个比赛中想到的,原本编写逻辑较为简单的程序,要切换模式直接用if-else来切换模式,但当模式的数量达到需要用一个菜单来表示时,代码是否清晰、易于阅读,在添加一个新功能时是否会影响已有的功能成为了一个很重要的问题。使用这种菜单编写方法,只需要在button.c中添加按键切换菜单的逻辑,在menu.c中添加该模式要实现的功能即可,这让编写一个需要大量模式的程序负担减小了不少。

    展开全文
  • C语言怎么返回主界面

    千次阅读 2021-05-22 14:56:56
    匿名用户12010-12-30 回答修改了一下。 你说的都能了。#include #include int nChoose;bool Isreturn=false;char value;void caidan(){printf("1、功能\n");printf("2、功能二\n");printf("3、功能三\n");printf...
  • 本文介绍个降低了耦合性,完全独立的菜单框架,菜单显示风格和显示平台完全由自己根据需求设计,而菜单操作统一由菜单模块处理即可,提高程序的移植性。 2、介绍 菜单框架代码主要特点有: 采用链表或数组的...
  • C语言构建菜单界面

    千次阅读 多人点赞 2021-12-07 12:32:28
    通过C语言编写菜单界面,包括二级菜单与三级菜单,附源码
  • printf("\t\t\t\t\t8:返回\n"); printf("\t\t\t\t\t\t请输入您的选择(1-8)=:"); scanf("%d",&y);} if(y==8) break; switch(y) { case 1:printf("这里是创建顺序线性表"); break; case 2:printf("这里...
  • 它作为单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中,例如手机的显示屏就是图形点阵液晶。采用图形点阵式液晶显示较之其它显示方式主要有以下优点:(1) 工作电压低、功耗极低。工作...
  • // 申请了个变量, 即在内存中开辟了块内存, 存储数据// 开辟了 8 个字节, 在 Mac 下 指针都占 8 个字节使用指针, 实际应该说成使用指针变量1> 算术运算+1 移动几个字节?看类型: int *, long...
  • 我设法做到这一点,以输入switch语句,但它不断返回个案例。任何想法为什么?#include #include enum express {ADD, SUB, AND, OR, XOR, SHL, SHR};express m_express;express switchint(char *str);int main...
  • //返回上级菜单 else { getchar(); //读入回车符 if(!isdigit(select)) //如果不是数字字符 { printf("\n\7Your select may be wrong, must enter the digit!\n");_getch(); } else { switch (select) { case '1': ...
  • 循环显示主菜单c语言程序(国外英文资料)易涣么锻妮犀衰扔卧晋轻班亥踊额刊尼玲砖荔沼蚀剔搀埂铆侦急勤成剪尖痕叁洒妻邓挨膘众注伯礁镐扛疵胞痞跟摘钵壕令滋泻店侍良驯健吏让谐杀御效荫器午桃轰袁纯陶殴攻萨税卖母缝...
  • switch....case写的界面如何返回上一级

    万次阅读 多人点赞 2017-07-28 09:02:16
    1.在每个switch......case外套个while循环 import java.util.Scanner; class Menu1 { void showLoginMenu(){ System.out.println("\t\t欢迎使用我行我素管理系统"); System.out.println("\n\t\t1.登录...
  • 该楼层疑似违规已被系统折叠隐藏...:#include#include#includevoid menu1();void menu2();void menu3();void menu();void menu1(){system("clear"); //windows用system("cls");printf("**菜单**\n");printf("1.选...
  • 控制台程序 选择功能后清屏进入 操作后如何再返回功能选择区 用什么方法呢
  • C语言实现树形菜单的管理系统

    千次阅读 2020-06-20 01:06:32
    C语言简单实现菜单管理系统 、开发环境 vc6.0 二、功能介绍 创建个树形菜单以及对该菜单进行增删改查,还包含了将个树结构的菜单存储到文件中,从文件中读取个树结构的菜单并显示等。 三、代码实现 1、定义...
  • 让程序一直运行的秘密就是死循环,即:while(1){// 要执行的操作}在加密解密软件中,...相应的主菜单也有这些,请看下面的代码:#include #include #include // 函数原型void printMenu();void returnToMenu(char *...
  • (学习笔记1)c语言结构体搭建菜单目录背景目录结构体函数主体 背景 最近在用ssd1306的128x64大小oled屏幕,设计多级菜单的时候需要大量重复写相同结构的代码。特别是返回父目录,进入子目录,执行子目录对应回调...
  • c语言return返回值给谁

    千次阅读 2021-05-19 18:42:59
    c语言return返回值给谁发布时间:2020-04-26 15:49:16来源:亿速云阅读:337作者:小新今天小编给大家分享...c语言return返回值给谁c语言return,返回给了上一级,比如一个递归程序,从第三层返回到第二层;又比如一...
  • C语言下拉菜单设计-带源代码.ppt》由会员分享,可在线阅读,更多相关《C语言下拉菜单设计-带源代码.ppt(30页珍藏版)》请在人人文库网上搜索。1、C语言下拉菜单程序设计,唐远新 哈尔滨理工大学,主要内容,显示器工作...
  • 利用函数结构体和函数体指针可以实现多级菜单的显示和按键调参 优点是可以使用较少的按键来实现多种功能的调参; 缺点是使用此方法比较占用内存,而且需要提前对要实现的功能和界面有个框架,否则在后期更改时候...
  • C语言课程设计日历显示》由会员分享,可在线阅读,更多相关《C语言课程设计日历显示(17页珍藏版)》请在人人文库网上搜索。1、中国海洋大学青岛学院C语言课程设计报告书题 目日历显示学生姓名指导教师学 院专业班级...
  • 级C语言上机编程题

    2021-05-21 03:42:50
    1、二级C语言上机编程题技巧、 方法总结1、 二级C语言上机编程题在二上机考试中属于较难题型,因此很多同学都害怕通过不了。综合往年的考试,结合考试大纲,每年考试的编程题都有一定的规律和方法,只要同学们...
  • 0返回 输入序号2后需添加学生相关信息 输入序号3后的菜单: 欢迎进入通讯录系统 请你选择操作类型: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1为输入通讯录信息 2为查询通讯录信息 3为修改通讯录信息 0为退出通讯录...
  • 级c语言上机编程题技巧总结 计算机二级C语言上机编程题技巧 1、二级C语言上机编程题在二上机考试中属于较难题型,因此很多同学都害怕通过不了。综合往年 的考试,结合考试大纲,每年考试的编程题都有一定的规律...
  • C语言define高级用法大全

    千次阅读 2021-11-07 20:24:14
    不信的去看下这个的源码:【C语言开源库】lw_oopc:轻量C语言面向对象编程框架 、宏的定义与撤销 需要注意的是: (1)宏定义应注意添加括号,这样语义会比较清晰。 (2)使用#undef可以撤销宏定义。 (3)...
  • C语言零基础入门学习程序框架【系统学习第天】 【1】 Hello World 【2】头文件的作用 【3】声明的作用 【4】mian主函数的作用 【5】printf函数 【6】格式控制符 【7】 return语句 【8】 man帮助手册 【9】man...
  • 计算机二级C语言编程题Tag内容描述:1、2011,2012年上机题 100题库 1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,655
精华内容 3,862
关键字:

c语言返回上一级菜单

友情链接: dt-dwt.rar