鱼C论坛

 找回密码
 立即注册
查看: 1395|回复: 3

[已解决]c语言制作二级菜单,报错一下午,小白很迷茫

[复制链接]
发表于 2020-2-22 17:28:30 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdlib.h>
#include <stdio.h>
void nemu1();
void nemu2();
int main()
{  int x;
  while(1);
  {system("cls");
  printf("\n\n\n\n\n\n\n\n");
  printf("\t\t\t\t\t1:顺序表\n");
  printf("\t\t\t\t\t2:链表\n");
  printf("\t\t\t\t\t3:退出\n");
  printf("\n\t\t\t\t\t请输入您的选择(1-3)=:");
  scanf("%d",&x);
  }
  switch(x)
  {case 1:nemu1(); break;
   case 2:nemu2(); break;
   default:printf("error"); break;}
   return 1;
}

void menu1();
{int y;
while(1)
{system("cls");
  printf("\n\n\n\n\n\n\n\n");                  
  printf("\t\t\t\t\t1:创建顺序线性表\n");
  printf("\t\t\t\t\t2:求顺序线性表的长度\n");
  printf("\t\t\t\t\t3:按序号取顺序表元素\n");
  printf("\t\t\t\t\t4:按值查找顺序表\n");
  printf("\t\t\t\t\t5:插入元素\n");
  printf("\t\t\t\t\t6:删除元素\n");
  printf("\t\t\t\t\t7:输出顺序线性表\n");
  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("这里是求顺序线性表的长度");break;
    case 3:printf("这里是按序号取顺序表元素"); break;
    case 4:printf("这里是按值查找顺序表"); break;
    case 5:printf("这里是插入元素"); break;
    case 6:printf("这里是删除元素"); break;
    case 7:printf("这里是输出顺序线性表"): break;
    default:printf("error"); break;}
    return 1;
}


void menu2();
{int z;
    while(1)
{system("cls");
  printf("\n\n\n\n\n\n\n\n");
  printf("\t\t\t\t\t1:创建链式线性表\n");
  printf("\t\t\t\t\t2:求链式线性表的长度\n");
  printf("\t\t\t\t\t3:按序号取链表元素\n");
  printf("\t\t\t\t\t4:按序号取链表元素\n");
  printf("\t\t\t\t\t5:插入元素\n");
  printf("\t\t\t\t\t6:删除元素\n");
  printf("\t\t\t\t\t7:输出链式线性表\n");
  printf("\t\t\t\t\t8:返回\n");
  printf("\t\t\t\t\t\t请输入您的选择(1-8)=:");
  scanf("%d",&z);}
  if(z==8) break;
  switch(x)
  { case 1:printf("这里是创建链式线性表"); break;
    case 2:printf("这里是求链式线性表的长度"); break;
    case 3:printf("这里是按序号取链表元素"); break;
    case 4:printf("这里是按序号取链表元素"); break;
    case 5:printf("这里是插入元素"); break;
    case 6:printf("这里是删除元素"); break;
    case 7:printf("这里是输出链式线性表");break;
    default:printf("error"); break;}
return 1;
}
最佳答案
2020-2-23 17:01:47
把1函数给您做了一个调整,您看一下,下次写代码还是严谨点,函数声明与函数体的函数名都不一样。

  1. #include <stdlib.h>
  2. #include <stdio.h>

  3. void menu1();
  4. void menu2();

  5. int main()
  6. {  
  7.         int x;
  8. do
  9. {
  10.           system("cls");
  11.           printf("\n\n\n\n\n\n\n\n");
  12.           printf("\t\t\t\t\t1:顺序表\n");
  13.           printf("\t\t\t\t\t2:链表\n");
  14.           printf("\t\t\t\t\t3:退出\n");
  15.         printf("\n\t\t\t\t\t请输入您的选择(1-3)=:");
  16. re:
  17.          scanf("%d",&x);
  18. switch(x)
  19.   {
  20.   case 1:
  21.           menu1();
  22.           break;
  23.    case 2:
  24.            menu2();
  25.            break;
  26.    case 3:
  27.            exit(1);
  28.            break;
  29.    default:
  30.            printf("error Please reput input:");
  31.            goto re;
  32.            break;
  33.   }
  34. }while(1);

  35.    return 0;
  36. }

  37. void menu1()
  38. {
  39.         int y;

  40.                   system("cls");
  41.                   printf("\n\n\n\n\n\n\n\n");                  
  42.                   printf("\t\t\t\t\t1:创建顺序线性表\n");
  43.                   printf("\t\t\t\t\t2:求顺序线性表的长度\n");
  44.                   printf("\t\t\t\t\t3:按序号取顺序表元素\n");
  45.                   printf("\t\t\t\t\t4:按值查找顺序表\n");
  46.                   printf("\t\t\t\t\t5:插入元素\n");
  47.                   printf("\t\t\t\t\t6:删除元素\n");
  48.                   printf("\t\t\t\t\t7:输出顺序线性表\n");
  49.                   printf("\t\t\t\t\t8:返回\n");
  50.                  
  51.        
  52.         do
  53.         {
  54.          printf("\t\t\t\t\t\t请输入您的选择(1-8)=:");
  55. reTwo:
  56.          scanf("%d",&y);
  57.           switch(y)
  58.           {
  59.                 case 1:
  60.                         printf("这里是创建顺序线性表"); break;
  61.                 case 2:
  62.                         printf("这里是求顺序线性表的长度");break;
  63.                 case 3:
  64.                         printf("这里是按序号取顺序表元素"); break;
  65.                 case 4:
  66.                         printf("这里是按值查找顺序表"); break;
  67.                 case 5:
  68.                         printf("这里是插入元素"); break;
  69.                 case 6:
  70.                         printf("这里是删除元素"); break;
  71.                 case 7:
  72.                         printf("这里是输出顺序线性表"); break;
  73.                 case 8:
  74.                         return ;
  75.                         break;
  76.                 default:
  77.                         printf("error");
  78.                         goto reTwo;
  79.                         break;
  80.           }
  81.         }while(1);
  82.                 return ;
  83. }


  84. void menu2()
  85. {
  86.         int z;
  87.     while(1)
  88.    {
  89.           system("cls");
  90.           printf("\n\n\n\n\n\n\n\n");
  91.           printf("\t\t\t\t\t1:创建链式线性表\n");
  92.           printf("\t\t\t\t\t2:求链式线性表的长度\n");
  93.           printf("\t\t\t\t\t3:按序号取链表元素\n");
  94.           printf("\t\t\t\t\t4:按序号取链表元素\n");
  95.           printf("\t\t\t\t\t5:插入元素\n");
  96.           printf("\t\t\t\t\t6:删除元素\n");
  97.           printf("\t\t\t\t\t7:输出链式线性表\n");
  98.           printf("\t\t\t\t\t8:返回\n");
  99.           printf("\t\t\t\t\t\t请输入您的选择(1-8)=:");
  100.           scanf("%d",&z);
  101.         }
  102.          // if(z==8) break;
  103.   switch(z)
  104.   {
  105.     case 1:printf("这里是创建链式线性表"); break;
  106.     case 2:printf("这里是求链式线性表的长度"); break;
  107.     case 3:printf("这里是按序号取链表元素"); break;
  108.     case 4:printf("这里是按序号取链表元素"); break;
  109.     case 5:printf("这里是插入元素"); break;
  110.     case 6:printf("这里是删除元素"); break;
  111.     case 7:printf("这里是输出链式线性表");break;
  112.     default:printf("error"); break;
  113.   }
  114. return ;
  115. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 11:00:50 | 显示全部楼层
return 1 改成return 0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 16:40:06 | 显示全部楼层
chxchxkkk 发表于 2020-2-23 11:00
return 1 改成return 0

[size =7]您的函数声明是返回一个空值 ,您在最后就返回了一个1的整数
两个方法:1.是把函数声明改成INT 类型,2是把return 1;改成return ; 或者不反回,去掉return 语句。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 17:01:47 | 显示全部楼层    本楼为最佳答案   
把1函数给您做了一个调整,您看一下,下次写代码还是严谨点,函数声明与函数体的函数名都不一样。

  1. #include <stdlib.h>
  2. #include <stdio.h>

  3. void menu1();
  4. void menu2();

  5. int main()
  6. {  
  7.         int x;
  8. do
  9. {
  10.           system("cls");
  11.           printf("\n\n\n\n\n\n\n\n");
  12.           printf("\t\t\t\t\t1:顺序表\n");
  13.           printf("\t\t\t\t\t2:链表\n");
  14.           printf("\t\t\t\t\t3:退出\n");
  15.         printf("\n\t\t\t\t\t请输入您的选择(1-3)=:");
  16. re:
  17.          scanf("%d",&x);
  18. switch(x)
  19.   {
  20.   case 1:
  21.           menu1();
  22.           break;
  23.    case 2:
  24.            menu2();
  25.            break;
  26.    case 3:
  27.            exit(1);
  28.            break;
  29.    default:
  30.            printf("error Please reput input:");
  31.            goto re;
  32.            break;
  33.   }
  34. }while(1);

  35.    return 0;
  36. }

  37. void menu1()
  38. {
  39.         int y;

  40.                   system("cls");
  41.                   printf("\n\n\n\n\n\n\n\n");                  
  42.                   printf("\t\t\t\t\t1:创建顺序线性表\n");
  43.                   printf("\t\t\t\t\t2:求顺序线性表的长度\n");
  44.                   printf("\t\t\t\t\t3:按序号取顺序表元素\n");
  45.                   printf("\t\t\t\t\t4:按值查找顺序表\n");
  46.                   printf("\t\t\t\t\t5:插入元素\n");
  47.                   printf("\t\t\t\t\t6:删除元素\n");
  48.                   printf("\t\t\t\t\t7:输出顺序线性表\n");
  49.                   printf("\t\t\t\t\t8:返回\n");
  50.                  
  51.        
  52.         do
  53.         {
  54.          printf("\t\t\t\t\t\t请输入您的选择(1-8)=:");
  55. reTwo:
  56.          scanf("%d",&y);
  57.           switch(y)
  58.           {
  59.                 case 1:
  60.                         printf("这里是创建顺序线性表"); break;
  61.                 case 2:
  62.                         printf("这里是求顺序线性表的长度");break;
  63.                 case 3:
  64.                         printf("这里是按序号取顺序表元素"); break;
  65.                 case 4:
  66.                         printf("这里是按值查找顺序表"); break;
  67.                 case 5:
  68.                         printf("这里是插入元素"); break;
  69.                 case 6:
  70.                         printf("这里是删除元素"); break;
  71.                 case 7:
  72.                         printf("这里是输出顺序线性表"); break;
  73.                 case 8:
  74.                         return ;
  75.                         break;
  76.                 default:
  77.                         printf("error");
  78.                         goto reTwo;
  79.                         break;
  80.           }
  81.         }while(1);
  82.                 return ;
  83. }


  84. void menu2()
  85. {
  86.         int z;
  87.     while(1)
  88.    {
  89.           system("cls");
  90.           printf("\n\n\n\n\n\n\n\n");
  91.           printf("\t\t\t\t\t1:创建链式线性表\n");
  92.           printf("\t\t\t\t\t2:求链式线性表的长度\n");
  93.           printf("\t\t\t\t\t3:按序号取链表元素\n");
  94.           printf("\t\t\t\t\t4:按序号取链表元素\n");
  95.           printf("\t\t\t\t\t5:插入元素\n");
  96.           printf("\t\t\t\t\t6:删除元素\n");
  97.           printf("\t\t\t\t\t7:输出链式线性表\n");
  98.           printf("\t\t\t\t\t8:返回\n");
  99.           printf("\t\t\t\t\t\t请输入您的选择(1-8)=:");
  100.           scanf("%d",&z);
  101.         }
  102.          // if(z==8) break;
  103.   switch(z)
  104.   {
  105.     case 1:printf("这里是创建链式线性表"); break;
  106.     case 2:printf("这里是求链式线性表的长度"); break;
  107.     case 3:printf("这里是按序号取链表元素"); break;
  108.     case 4:printf("这里是按序号取链表元素"); break;
  109.     case 5:printf("这里是插入元素"); break;
  110.     case 6:printf("这里是删除元素"); break;
  111.     case 7:printf("这里是输出链式线性表");break;
  112.     default:printf("error"); break;
  113.   }
  114. return ;
  115. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 05:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表