
正文
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(); /*这里注掉,不需要再调一次*/
}
相关问答
Q1: C语言中怎么写一个函数能使一个程序返回菜单界面?
用一个while语句就可以。
bool
b=1;
while
(b)
{
cout
"输入y回到主界面,输入其他继续往下操作"
s;
if
(s=='y')
b=1;
else
{
b=0;
其他业务;
}
}
Q2: C语言如何实现返回主菜单?
如何再返回到主菜单 c语言返回菜单界面的函数?
下面c语言返回菜单界面的函数我写c语言返回菜单界面的函数的这个模板c语言返回菜单界面的函数你参考下c语言返回菜单界面的函数:
void dispMenu()
{
printf("===========菜单================\n");
printf("==1 功能1==============\n");
printf("==2 功能2==============\n");
printf("==0 退出==============\n");
}
void dispMenu1()
{
printf("===========菜单1================\n");
printf("==1 功能11==============\n");
printf("==2 功能12==============\n");
printf("==0 返回上层菜单==============\n");
}
void func1()
{
int cmd;
dispMenu1();
scanf("%d",cmd);
while(cmd != 0)
{
if(cmd ==1)
func1();
}
}
void main()
{
int cmd;
dispMenu();
scanf("%d",cmd);
while(cmd != 0)
{
if(cmd ==1)
func1();
dispMenu();
scanf("%d",cmd);
}
}
Q3: C语言怎么返回主界面
可以使用goto语句返回程序指定的位置。
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++;
loop: while(x7);
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
c语言返回菜单界面的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 返回、c语言返回菜单界面的函数的信息别忘了在本站进行查找喔。






