我已经编程了几天的C程序,但是我遇到了一些我无法解决的问题。
我的代码是:
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int main()
{
char user_type;
printf("Welcome to XYZ Bank\n\n\n\n");
printf("Hint: a for admin and c for customer\n");
printf("Please input your account type (c/a):");
scanf("%c",&user_type);
system("cls");
if (user_type=='c')
{
customer_login();
}
else if (user_type=='a')
{
admin_login();
}
else if (user_type!='c' || user_type!='a')
{
printf("Invalid selection is made, the program will restart");
main();
}
}
我遇到的问题是当user_type
不是'a'
或'c'
时,程序应该重新启动main()
,但它所做的只是继续打印无效选择。
是否有一些命令允许我重新启动main()
?还是有更好的办法吗?我认为可以应用while循环,但我不确定。
我知道问题出在我的else-if循环的第三个语句中,如果有人给我提示从哪里开始会有所帮助。