资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言菜单函数返回 C语言返回菜单

c语言如何返回菜单?

问题比较多,主要是两个:

站在用户的角度思考问题,与客户深入沟通,找到阜宁网站设计与阜宁网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖阜宁地区。

输入的时候,用的格式和变量类型不匹配;

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

改了一下,你看看。

#include stdio.h

#include stdlib.h

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();    /*这里注掉,不需要再调一次*/

}

c语言中,怎样实现子菜单向主菜单回退?

1、如果只是想返回已经写好的主菜单页面的话 可以直接在当前函数中结束位置调用主菜单所在的函数,如果想输入e68a847a686964616f31333337616636某值返回的话 就加个输入提示 比如 在其他函数页面加上“输入0返回主菜单”就可以在任意时候 输入0来返回 当然实现的时候也是输入语句加判断语句 加调用主菜单所在函数,调用前先调用清屏函数。

2、例程:

#includestdio.hint menu(){ int rt; char str[256]; printf("1 ****\n"); printf("2 ****\n"); printf("3 ****\n"); printf("4 ****\n"); printf("5 退出程序\n"); printf("请选择,输入选项前面的数字后回车: "); scanf("%s",str); if ( str[0]='1' str[0]='5' ) rt=str[0]-'0'; else rt=0; return rt;}void f1() {}void f2() {}void f3() {}void f4() {}void main(){ int s,loop=1; while ( loop ) { s=menu(); switch ( s ) { case 1: f1(); break; case 2: f2(); break; case 3: f3(); break; case 4: f4(); break; case 5: loop=0; break; default: break; } }}

比如你建立了一个菜单,选择了某项功能,用完后又想返回菜单,用c语言如何实现???请专业人士回答

实现功能的代码放在函数里面

这样功能实现完 函数返回,自然回到菜单.

一般这样

while(1)

{

print_menu();//打印菜单

scanf("%d",a);

switch(a)

{

case 1:

func1();

break;

....

default:

printf("input error\n");

break;

}

}


分享标题:c语言菜单函数返回 C语言返回菜单
URL网址:http://cdkjz.cn/article/dosopse.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220