<分区>
我目前正在为我的类(class)做作业。在 C 中,我必须制作一个与足球队花名册一起使用的程序,您可以在其中更新、替换、比较球员等。但是,现在我无法使菜单中的任何选项起作用。使用我的代码可能会更好地理解这一点:
#include <stdio.h>
int main(void) {
int i, jersey, rating, newJersey, newRating, playerJerseyNumber[5], playerRating[5];
char choice;
for (i = 0; i < 5; i++)
{
printf("Enter player %d's jersey number: \n", (i + 1));
scanf("%d", &playerJerseyNumber[i]);
printf("Enter player %d's rating: \n\n", (i + 1));
scanf("%d", &playerRating[i]);
}
printf("ROSTER\n");
for (i = 0; i < 5; i++)
{
printf("Player %d -- Jersey number: %d, Rating: %d\n", (i + 1), playerJerseyNumber[i], playerRating[i]);
}
printf("\n\nMENU \nu - Update player rating \na - Output players above a rating \nr - Replace player \no - Output roster \nq - Quit\n\n");
printf("Choose an option: \n");
scanf("%c", &choice);
switch (choice) {
case 'u':
{
printf("Enter a jersey number: \n");
scanf("%d", &jersey);
printf("Enter a new rating for player: \n");
scanf("%d", &newRating);
for (i = 0; i < 5; i++)
{
if (jersey == playerJerseyNumber[i])
{
playerRating[i] = newRating;
}
}
break;
}
case 'a':
{
printf("Enter a rating: \n");
scanf("%d", &rating);
printf("\n ABOVE %d\n", rating);
for (i = 0; i < 5; i++)
{
if (playerRating[i] > rating)
{
printf("Player %d -- Jersey number: %d, Rating: %d\n", (i + 1), playerJerseyNumber[i], playerRating[i]);
}
}
break;
}
case 'r':
{
printf("Enter a jersey number: \n");
scanf("%d", &jersey);
printf("Enter a new jersey number: \n");
scanf("%d", &newJersey);
printf("Enter a rating for the new player: \n");
scanf("%d", &newRating);
for (i = 0; i < 5; i++)
{
if (jersey == playerJerseyNumber[i])
{
playerJerseyNumber[i] = newJersey;
playerRating[i] = newRating;
}
}
break;
}
case 'o':
{
printf("ROSTER\n");
for (i = 0; i < 5; i++)
{
printf("Player %d -- Jersey number: %d, Rating: %d\n", (i + 1), playerJerseyNumber[i], playerRating[i]);
}
break;
}
default:
printf("didnt work");
break;
}
return 0;
}
现在,我的代码的第一部分可以正常工作。但是,如果我尝试使用菜单中的任何选项,它们都不起作用。它会自动转到默认情况并打印“无效”。
现在,我正在测试
84 7
23 4
4 5
30 2
66 9
u
4
6
o
q
这不起作用,即使它应该将 jersey #4 更新为 6 的评级。
关于为什么这不起作用的任何想法?谢谢。