我创建了一个名为Gift的功能,管理员可以输入用户名,如果在2d数组中找到用户名,则会将礼物添加到用户总数中。
2d数组:char pin [50] [7] [100];
每行包含一个用户,每列包含他的信息,如姓名,姓氏等。 现在,每个用户的总金额位于pin [i] [4]
礼品是根据用户名的长度计算的。用户名的每个字符是10 $。例如,如果用户名是Mary,礼品将是40 $。 我已经设法计算了礼物的数量,但我不知道如何用礼物替换初始数量(默认为0)。这是功能:
void Gift()
{
printf("Enter the username of the user you want to gift: \n");
scanf("%s", &key3);
for (i = 0; i < 50; i++)
{
for (j = 5; j < 6; j++)
{
if (strcmp(pin[i][5], key3) == 0)
{
for (i = 0; key3[i] != '\0'; ++i) ;
gift = 10 * i;
}
}
}
}
答案 0 :(得分:0)
这是
for (j = 5; j < 6; j++)
{
if (strcmp(pin[i][5], key3) == 0)
{
for (i = 0; key3[i] != '\0'; ++i) ;
gift = 10 * i;
}
}
j
在循环中只能是5(甚至不使用它!)strlen
启用另一个循环gift
是一个合适长度的字符数组所以代码可以是
if (strcmp(pin[i][5], key3) == 0)
{
sprintf(gift, "%d", 10 * strlen(keys[i]));
}