有只熊463 2022-12-20 23:42 采纳率: 85.3%
浏览 38

#c语言结构体 如何修改

使用结构体编程实现:为某游戏定义一个结构体类型来描述游戏角色,该结构体类型包括以下四个成员:ID、性别、等级、能力值。游戏角色的初始等级为1级,能力值为100.00,游戏角色的能力值每级增长15%。定义一个根据等级求能力值的函数,要求用户在主函数中输入角色ID和性别,并在主函数中提示用户输入等级,调用求能力值的函数求取对应等级的能力值返回给主函数,然后在主函数中输出该角色的所有信息。

性别只能输入数字才能输出,用中文字符不能输出是为什么?怎么修改


#include <stdio.h>
//定义游戏角色结构体
struct GameCharacter
{
int ID;
char gender;
int level;
float abilityValue;
};
//根据等级求能力值函数
float getAbilityValue(int level)
{
float abilityValue = 100.00;
for (int i = 1; i < level; i++)
{
abilityValue *= 1.15;
}
return abilityValue;
}
int main()
{
//定义游戏角色
struct GameCharacter character;
//输入角色ID和性别
printf("请输入游戏角色的ID:");
scanf("%d", &character.ID);
printf("请输入游戏角色的性别:");
scanf(" %c", &character.gender);
//提示用户输入等级
printf("请输入游戏角色的等级:");
int level;
scanf("%d", &level);
//调用求能力值函数
character.level = level;
character.abilityValue = getAbilityValue(level);
//输出角色信息
printf("游戏角色的ID为:%d\n", character.ID);
printf("游戏角色的性别为:%c\n", character.gender);
printf("游戏角色的等级为:%d\n", character.level);
printf("游戏角色的能力值为:%.2f\n", character.abilityValue);
return 0;
}
  • 写回答

1条回答 默认 最新

  • 於黾 2022-12-21 08:10
    关注

    中文占多个字节,所以你必须定义成字符串,一个char放不下
    此外,编码要一致

    评论

报告相同问题?

问题事件

  • 创建了问题 12月20日

悬赏问题

  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 关于#c++#的问题:(2)运算二叉树·表达式一般由一个运算符和两个操作数组成:(相关搜索:二叉树遍历)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)