Linux/Code/GameAcount.c
2025-05-19 20:39:12 +08:00

135 lines
4.4 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*****************************************************************************
根据战争策略游戏中的游戏号相关属性账号、密码、金币数、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;
}