如何在交换机内部使管理功能正常工作?
我尝试过这样做,但使用Visual Studio 2017仍然出错
我的计划是创建一个药房管理系统,该系统具有2个访问权限,分别是admin和user。管理员可以添加或更新或删除,用户可以搜索或查看到期日期。
错误C1075'':找不到匹配的令牌
这是我的代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int admin(int1);
int main()
{
char username[50];
int password;
int choice;
int mainmenu = 1;
printf(" \n\n\n\t\t\t\t\tWELCOME TO THE PHARMACY MANAGMENT SYSTEM\t\t\t\t\t");
while (mainmenu == 1) {
printf("\n\n\n\nPlease choose from the current choices\n \n1.ADMIN \n\n2. "
"CUSTOMER\n\n3. EXIT\n\n");
scanf("%d", &choice);
do {
switch (choice) {
case 1:
admin(1);
break;
case 2:
break;
case 3:
printf(
"\n System Closes ...Press Any Key to turn off the system ....");
mainmenu = 0;
break;
}
}
while (choice = 1);
{
printf("\nplease enter your username\t");
scanf("%s", username);
printf("\nplease enter your password\t");
scanf("%d", &password);
if ((strcmp(username, "admin") == 0) && (password == 123123)) {
printf("\n\n\t\t\tYou have logged in succefully....\t\t\n");
break;
} else {
printf("\n\t\tThe username or password is incorrect.\n\t\tPlease "
"verify that CAPS LOCK is not on,and then retype the current "
"username and password.\n\n \a");
}
getch();
return (0);
}
}
答案 0 :(得分:0)
你的循环存在一些问题,我认为你希望他们做一些不同的事情。
while (mainmenu == 1)
这会循环程序,直到输入“3”。这看起来很好。
do {
...
}
while (choice = 1);
我认为你需要查看do-while循环是如何工作的。此循环将永远不会退出,因为您将选项指定为1而不是将其与1进行比较。
while (choice = 1);
{
...
}
这不是循环。 while(choice = 1)属于前一个do-while循环。因此,您只需要一个代码块(由于前一个循环永不退出,因此永远不会执行)。
这里的代码块似乎也是 admin(int)函数,(你没有包含它,所以我认为这应该是它)。< / p>
您最好的选择是在线查找有关while和do-while循环如何工作的教程,以及有关编写和使用函数的教程。
答案 1 :(得分:0)
您至少有以下问题(重要性降低):
}
在progran的最后缺失int admin(int1)
,但您还没有实现该函数。int admin(int1)
应声明为int admin(int)
getch
的警告是因为您忘记包含conio.h
标题。此标头是Microsoft特定的。还要考虑platinum95的答案。