您好,问您c语言多程序功能合并,实现菜单返回上一级或者下一级的问题。 - 爱问答

(爱问答)

您好,问您c语言多程序功能合并,实现菜单返回上一级或者下一级的问题。

======单链表的基本运算=========

#include"linklist.cpp"   /*这里是单链表的调用同一文件夹中的文件*/

#include <stdlib.h>

#include <string.h>

#include<conio.h>

int menu1()

{ int code; 

  system("pause");

  system("cls");

  printf("         单链表的基本运算算法 ");

  printf(" -------------------------------------------   ");

  printf(" │     0.初始化单链表h。                    │   ");

  printf(" │     1.依次采用尾插法插入a,b,c,d,e元素。  │   ");

  printf(" │     2.输出单链表h。                      │   ");

  printf(" │     3.输出单链表h长度。                  │   ");

  printf(" │     4.判断单链表h是否为空。              │   ");

  printf(" │     5.输出单链表h的第3个元素。           │   ");

  printf(" │     6.输出元素a的位置。                  │   ");

  printf(" │     7.在第4个元素上插入f元素。           │   ");

  printf(" │     8.输出单链表h。                      │   ");

  printf(" │     9.删除单链表h的第3个元素。           │   ");

  printf(" │     10.输出单链表h。                     │   ");

  printf(" │     11.释放单链表h。                     │   ");

  printf(" -------------------------------------------     ");

  printf("    选择代码(0,1,2,3,4,5,6,7,8,9,10,11) : ");

   do

  { printf(" 0:初始化单链表h 1:依次采用尾插法插入a,b,c,d,e元素 2:输出单链表h 3:输出单链表h长度 4:判断单链表h是否为空  5:输出单链表h的第3个元素  6:输出元素a的位置 7:在第4个元素上插入f元素 8:输出单链表h 9:删除单链表h的第3个元素10:输出单链表h 11:释放单链表h  请选择:");

    scanf("%d",&code);

  }while(code<0||code>13);

  return code;

}

int main()

{

LinkNode *h;

ElemType e;

int code; 

system("cls");

printf("           单链表的基本运算如下 ");

printf("-------------------------------------------- ");

while(1)

{

code=menu1();

switch(code)

{

case 0:{

printf("初始化单链表h ");

   InitList(h);break;

  }

case 1:{

printf("依次采用尾插法插入a,b,c,d,e元素 ");

ListInsert(h,1,'a');

ListInsert(h,2,'b');

ListInsert(h,3,'c');

ListInsert(h,4,'d');

ListInsert(h,5,'e');

break;

}

}

}

return 1;

}

=====顺序表的基本运算=========

#include"sqlist.cpp"   /*同样*/

#include<stdio.h>

#include <stdlib.h>

#include <string.h>

#include<conio.h>

int menu()

{ int code; 

  system("pause");

  system("cls");

  printf("         顺序表的基本运算算法 ");

  printf(" ---------------------------------   ");

  printf(" │     0.初始化顺序表L            │   ");

  printf(" │     1.依次插入a,b,c,d,e元素    │   ");

  printf(" │     2.输出顺序表L              │   ");

  printf(" │     3.顺序表L长度              │   ");

  printf(" │     4.顺序表L是否为空          │   ");

  printf(" │     5.顺序表L的第3个元素       │   ");

  printf(" │     6.元素a的位置              │   ");

  printf(" │     7.在第4个元素上插入f元素   │   ");

  printf(" │     8.输出顺序表L              │   ");

  printf(" │     9.删除L的第3个元素         │   ");

  printf(" │     10.输出顺序表L             │   ");

  printf(" │     11.释放顺序表L             │   ");

  printf(" ---------------------------------     ");

  printf("    选择代码(0,1,2,3,4,5,6,7,8,9,10,11) : ");

   do

  { printf(" 0:初始化顺序表L 1:依次插入a,b,c,d,e元素 2:输出顺序表L 3:顺序表L长度 4:顺序表L是否为空  5:顺序表L的第3个元素  6:元素a的位置 7:在第4个元素上插入f元素 8:输出顺序表L 9:删除L的第3个元素10:输出顺序表L 11:释放顺序表L  请选择:");

    scanf("%d",&code);

  }while(code<0||code>12);

  return code;

}

int main()

{

SqList *L;

ElemType e;

int code; 

system("cls");

printf("           顺序表的基本运算如下 ");

printf("-------------------------------------------- ");

while(1)

{

code=menu();

switch(code)

{

case 0:{

printf("初始化顺序表L ");

   InitList(L);break;

  }

case 1:{

printf("依次插入a,b,c,d,e元素 ");

ListInsert(L,1,'a');

ListInsert(L,2,'b');

ListInsert(L,3,'c');

ListInsert(L,4,'d');

ListInsert(L,5,'e');

break;

}

}

}

return 1;

}


您好,我想要将顺序表和单链表的俩个菜单可以实现功能合并,就是说我运行单链表的菜单的时候,我按某个数字就可以跳到顺序表,然后按某个数字又可以返回单链表,请问要怎么弄?(由于限制字数,我删掉了大部分case况)

二个方案

一是设计个二级菜单

一级菜单界面为

  printf("       1.  单链表的基本运算算法 ");

  printf("        2. 顺序表的基本运算算法 ");

  printf("        3. 退出 ");

用if或case判断.,并进入相应的menu(),menu1(),显示你的子菜单(上面的程序)

而每个子菜单加一返回主菜单选项,程序不难的,你自己先写下,有问题再补充提问

二是把两个菜单合并到一个大菜单,或是中间用=========分开

类似于

  printf("         单链表的基本运算算法 ");

  printf(" -------------------------------------------   ");

  printf(" │     0.初始化单链表h。                    │   ");

  printf(" │     1.依次采用尾插法插入a,b,c,d,e元素。  │   ");

  printf(" │     2.输出单链表h。                      │   ");

  printf(" │     3.输出单链表h长度。                  │   ");

  printf(" │     4.判断单链表h是否为空。              │   ");

  printf(" │     5.输出单链表h的第3个元素。           │   ");

  printf(" │     6.输出元素a的位置。                  │   ");

  printf(" │     7.在第4个元素上插入f元素。           │   ");

  printf(" │     8.输出单链表h。                      │   ");

  printf(" │     9.删除单链表h的第3个元素。           │   ");

  printf(" │     10.输出单链表h。                     │   ");

  printf(" │     11.释放单链表h。                     │   ");

  printf(" ===========================================     ");

 printf("         顺序表的基本运算算法 ");

  printf(" ---------------------------------   ");

  printf(" │    12.初始化顺序表L            │   ");

  printf(" │    13.依次插入a,b,c,d,e元素    │   ");

  printf(" │    14.输出顺序表L              │   ");

  printf(" │    15.顺序表L长度              │   ");

  printf(" │    16.顺序表L是否为空          │   ");

  printf(" │    17.顺序表L的第3个元素       │   ");

  printf(" │    18.元素a的位置              │   ");

  printf(" │    19.在第4个元素上插入f元素   │   ");

  printf(" │    20.输出顺序表L              │   ");

  printf(" │    21.删除L的第3个元素         │   ");

  printf(" │    22.输出顺序表L              │   ");

  printf(" │    23.释放顺序表L              │   ");

  printf(" ---------------------------------     ");

 

然后用case分别进入你的程序


就应该做个函数,每次根据输入的值显示

你把单链表和顺序表做成一个函数啊,

然后可以通过

switch(num){


}

相关标签:c语言

下一篇:下面定义了一个学生类,请利用该类创建对象,使用对应的方法将姓名、性别和年龄输出在控制台。

上一篇:ROS安装的时候添加不上source.list

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?