🕹️管理员交互界面
管理员交互界面的实现
当前进度
.---+- include -+- tools -+- color.h
| | +- hint.h
| | +- info.h
| |
| +- user -+- user.h
| |
| +- good -+- good.h
| |
| +- order -+- order.h
| |
| +- menu -+- menu.h
| |
| +- interface -+- interface.h <---
| |
| +- config.h
|
+- src -+- tools -+- color.c
| +- hint.c
| +- info.c
|
+- data -+- id.txt
| +- user.txt
| +- good.txt
| +- order.txt
|
+- user -+- user.c
|
+- good -+- good.c
|
+- order -+- order.c
|
+- menu -+- menu.c
|
+- interface -+- mainInterface.c
| -+- adminInterface.c <---
| -+- userInterface.c
| -+- infoInterface.c
| -+- modifyInterface.c
| -+- sellerInterface.c
| -+- goodInterface.c
| -+- buyerInterface.c
|
+- main.c
添加辅助宏
// interface.h
#define make_all(T, YPE)\
static void all##T##YPE##s() { print##T##YPE##s(); successMessage(); }
#define make_ban(T, YPE, Name, Who)\
static void ban##T##YPE() {\
char id[MAX_LEN];\
printf("Please input %s ID to be banned: ", Name);\
scanf("%s", id);\
if (delete##T##YPE(id, Who)) successMessage();\
else failureMessage();\
}
#define make_search(WHO)\
static void search() {\
char buffer[MAX_LEN];\
printf("Please input Good Name to search: ");\
scanf("%s", buffer);\
loadingMessage();\
searchGoodName4##WHO(buffer);\
successMessage();\
}
上述宏不止在这一个交互界面中会用到,下次用到笔者就不再提示了。
管理员交互界面的实现
// adminInterface.c
#include "interface/interface.h"
#include <stdio.h>
make_all(U, ser)
make_all(G, ood)
make_all(O, rder)
make_ban(U, ser, "User", NULL)
make_ban(G, ood, "Good", NULL)
make_search(Admin)
static HANDLER handler[] = {allGoods, search, allOrders, allUsers, banUser, banGood};
make_interface(A, DMIN)
到此,我们完成了管理员交互页面的实现。
最后更新于
这有帮助吗?