所以破碎的部分符合等级要求,你能帮我解决一下吗? 所以级别要求是S需要80,A需要60,B需要40,C需要20,D需要10,E需要2。 并且代码必须使用struct 而且我认为错误的部分是在它自己的结构中。 谢谢(只是不读其余的)
所以破碎的部分符合等级要求,你能帮我解决一下吗? 所以级别要求是S需要80,A需要60,B需要40,C需要20,D需要10,E需要2。 并且代码必须使用struct 而且我认为错误的部分是在它自己的结构中。 所以破碎的部分符合等级要求,你能帮我解决吗? 所以级别要求是S需要80,A需要60,B需要40,C需要20,D需要10,E需要2。 并且代码必须使用struct 而且我认为错误的部分是在它自己的结构中。 所以破碎的部分符合等级要求,你能帮我解决吗? 所以级别要求是S需要80,A需要60,B需要40,C需要20,D需要10,E需要2。 并且代码必须使用struct 而且我认为错误的部分是在它自己的结构中。 所以破碎的部分符合等级要求,你能帮我解决吗? 所以级别要求是S需要80,A需要60,B需要40,C需要20,D需要10,E需要2。 并且代码必须使用struct 而且我认为错误的部分是在它自己的结构中。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
struct Hero
{
char nama[50];
int level;
char job[10];
};
struct Quest
{
char nama[100];
int reward;
char ranking[2];
};
int main()
{
int pilih,jhero=1,jquest=1;
struct Hero hiro[10];
struct Quest questo[10];
do
{
system("cls");
printf("============================================\n");
printf(" HERO GUILD\n");
printf("============================================\n");
printf("1. Member Registration\n");
printf("2. Post a quest\n");
printf("3. Show all member\n");
printf("4. Show all quest\n");
printf("0. Exit\n");
printf("Input : ");
scanf("%d",&pilih);
fflush(stdin);
switch(pilih)
{
case 2 :
system("cls");
printf("============================================\n");
printf(" HERO GUILD - POST A QUEST\n");
printf("============================================\n");
printf("Title : "); gets(questo[jquest].nama);fflush(stdin);
printf("Reward <$>: ");scanf("%d",&questo[jquest].reward);fflush(stdin);
printf("Rank : ");scanf("%s",questo[jquest].ranking);fflush(stdin);
jquest++;
printf("Press Any Key To Continue...");
getch();
break;
case 4 :
system("cls");
int j;
printf("============================================\n");
printf(" HERO GUILD - QUEST\n");
printf("============================================\n");
for(j=1;j<jquest;j++)
{
printf("Quest-%d\n",j);
printf("Title\t: %s\n",questo[j].nama);
printf("Reward\t: %d\n",questo[j].reward);
printf("Rank\t: %s\n",questo[j].ranking);
printf("Level Requirement : >= ");
/*switch(questo[j].ranking)
{
case 'S' :printf("80\n\n");break;
case 'A' :printf("60\n\n");break;
case 'B' :printf("40\n\n");break;
case 'C' :printf("20\n\n");break;
case 'D' :printf("10\n\n");break;
case 'E' :printf("2\n\n");break;
}*/
}
printf("Press Any Key To Continue...");
getch();
break;
case 0 : return 0;
}
}while(1);
}
答案 0 :(得分:0)
ranking
成员应该是单个char
,因此请将其声明为然后然后将其读取并使用它:
// ...
struct Quest
{
char nama[100];
int reward;
char ranking; // Single-character rank
};
// ...
scanf(" %c", &questo[j].ranking); // Leading space to skip initial white-space
// TODO: Should really check what scanf returns
// ...
printf("Rank\t: %c\n",questo[j].ranking);
// ...
switch (questo[j].ranking)
{
case 'S':
// ...
default:
// TODO: Handle the case if the rank is incorrect
break;
}
// ...