135 lines
4.4 KiB
C
135 lines
4.4 KiB
C
|
|
|||
|
/*****************************************************************************
|
|||
|
根据战争策略游戏中的游戏号相关属性(账号、密码、金币数、vip等级、材料...)
|
|||
|
设计结构体的数据类型,实现以下的功能:
|
|||
|
1)注册账号 2)登录 3)设置账号的相关属性 4)显示
|
|||
|
*****************************************************************************/
|
|||
|
|
|||
|
#include <stdio.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <string.h>
|
|||
|
|
|||
|
void Print_Guide()
|
|||
|
{
|
|||
|
printf("******************************\n");
|
|||
|
printf("请输入选项编号:\n");
|
|||
|
printf("******************************\n");
|
|||
|
printf(" 1 注册账号\n");
|
|||
|
printf(" 2 登录\n");
|
|||
|
printf(" 3 退出\n");
|
|||
|
printf("******************************\n");
|
|||
|
}
|
|||
|
|
|||
|
void Print_UserOptions()
|
|||
|
{
|
|||
|
printf("******************************\n");
|
|||
|
printf("请输入选项编号:\n");
|
|||
|
printf("******************************\n");
|
|||
|
printf(" 1 设置账号属性\n");
|
|||
|
printf(" 2 显示用户属性\n");
|
|||
|
printf(" 3 退出至登录界面\n");
|
|||
|
printf("******************************\n");
|
|||
|
}
|
|||
|
|
|||
|
struct Acount
|
|||
|
{
|
|||
|
char acount_name[20];
|
|||
|
char password[20];
|
|||
|
int gold;
|
|||
|
int vip_level;
|
|||
|
int material;
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
int login_option,user_option;
|
|||
|
char login_name[20];
|
|||
|
char login_password[20];
|
|||
|
|
|||
|
struct Acount acount1;
|
|||
|
while(1)
|
|||
|
{
|
|||
|
Print_Guide();
|
|||
|
scanf("%d", &login_option);
|
|||
|
switch (login_option)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
{
|
|||
|
printf("请输入账号名: ");
|
|||
|
scanf("%s", acount1.acount_name);
|
|||
|
printf("请输入密码: ");
|
|||
|
scanf("%s", acount1.password);
|
|||
|
printf("账号注册成功!\n");
|
|||
|
printf("账号名: %s\n", acount1.acount_name);
|
|||
|
printf("密码: %s\n", acount1.password);
|
|||
|
break;
|
|||
|
}
|
|||
|
case 2:
|
|||
|
{
|
|||
|
printf("请输入账号名: ");
|
|||
|
scanf("%s", login_name);
|
|||
|
if(strcmp(login_name,acount1.acount_name) != 0)
|
|||
|
{
|
|||
|
printf("账号不存在!\n");
|
|||
|
break;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
printf("请输入密码: ");
|
|||
|
scanf("%s", login_password);
|
|||
|
if (strcmp(login_password, acount1.password) != 0)
|
|||
|
{
|
|||
|
printf("密码错误!\n");
|
|||
|
break;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
printf("登陆成功!\n");
|
|||
|
while(1)
|
|||
|
{
|
|||
|
Print_UserOptions();
|
|||
|
scanf("%d", &user_option);
|
|||
|
switch (user_option)
|
|||
|
{
|
|||
|
case 1:
|
|||
|
printf("请输入金币数: ");
|
|||
|
scanf("%d", &acount1.gold);
|
|||
|
printf("请输入vip等级: ");
|
|||
|
scanf("%d", &acount1.vip_level);
|
|||
|
printf("请输入材料数: ");
|
|||
|
scanf("%d", &acount1.material);
|
|||
|
printf("账号属性设置成功!\n");
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
printf("账号名: %s\n", acount1.acount_name);
|
|||
|
printf("密码: %s\n", acount1.password);
|
|||
|
printf("金币数: %d\n", acount1.gold);
|
|||
|
printf("vip等级: %d\n", acount1.vip_level);
|
|||
|
printf("材料数: %d\n", acount1.material);
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
printf("已退出!\n");
|
|||
|
break;
|
|||
|
default:
|
|||
|
printf("无效选项!\n");
|
|||
|
}
|
|||
|
|
|||
|
if(user_option == 3)
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case 3:
|
|||
|
printf("已退出!\n");
|
|||
|
break;
|
|||
|
}
|
|||
|
if(login_option == 3)
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|