我正试图建立一个购物综合楼,但是我不能在功能之间切换 我已经尝试过goto语句,请继续进行所有操作,请帮助任何操作
这是我的代码
#include <stdio.h>
int Verify;
struct Worker
{
int ID;
int Password;
}i;
void Workers_data()
{
struct Worker Sahaj;
struct Worker Sparsh;
struct Worker Ramu;
struct Worker Shamu;
strcpy(Sahaj.ID,1);
strcpy(Sahaj.Password,951);
strcpy(Sparsh.ID,2);
strcpy(Sparsh.Password,223);
strcpy(Ramu.ID,3);
strcpy(Ramu.Password,2334);
strcpy(Shamu.ID,4);
strcpy(Shamu.Password,142);
}
void login()
{
printf("||||||||||||||||Welcome are you a Customer or a Worker|||||||||||||||||||");
prinf("Press 1 for Worker and 2 for Customer\n")
scanf("%d",Verify);
if (Verify = 1)
{
goto Batman;
}
else if (Verify = 2)
{
goto Superman;
}
}
void Batman()
{
prinf("Please write your id below\n");
scanf("%d",&i.ID);
printf("Please write your password below\n");
scanf("%d",&i.Password);
}
请帮助我 提前感谢
答案 0 :(得分:0)
我认为为了将控件移至其他功能,您只需要这样调用即可:
if (Verify == 1)
{
Batman();
}
else if (Verify == 2)
{
Superman();
}
这里不需要转到。但是您需要将参数传递给函数,以便它可以处理值。
您的代码有一些问题:
1。)进行比较时,您使用的是=
而不是==
2。)scanf("%d", Verify);
您需要在此处传递地址:&Verify
3。)您尚未声明任何用于输入的struct变量/数组。您还应该为其添加变量/数组,您应该在Batman()
中通过scanf进行输入:
i workers[100];
int nWorkers;
4。)printf
方法的一些错字。
5。)不使用typedef
创建结构别名:
typedef struct Worker
{
int ID;
int Password;
}i;
6。)Superman()方法似乎没有在任何地方定义(也许您的代码仍然是WIP)。但是Batman()可以这样改进:
void Batman()
{
printf("Please write your id below\n");
scanf("%d",&workers[nWorkers].ID); // Initialize it to zero in main()
printf("Please write your password below\n");
scanf("%d",&workers[nWorkers].Password);
nWorkers++;
}