gpt4 book ai didi

c - 制作结构数组和整理单词时出现问题

转载 作者:行者123 更新时间:2023-11-30 19:35:21 25 4
gpt4 key购买 nike

我刚刚进行了一个练习,使用指定的变量对两本(或更多)本书的结构体数组进行编程。从键盘插入变量,然后查找出版商是否为“Kim Dong”,然后将 Book 的价格更改为 0。

这是我的代码[我认为整理步骤有问题,但无法找出原因:((]:

typedef struct book {
char *author[2000];
char *id[2000];
char *name[2000];
int *price;
char *publisher[2000];
} sach;

main()
{
int i;
sach Books[10];

for(i = 0; i < 2; i++)
{
printf("Nhap thong tin cua sach thu %d:\n", i+1);
fflush(stdin);
scanf("%s", &Books[i].name);
fflush(stdin);
scanf("%s", &Books[i].author);
fflush(stdin);
scanf("%s", &Books[i].id);
fflush(stdin);
scanf("%d", &Books[i].price);
fflush(stdin);
scanf("%s", &Books[i].publisher);
}
char NXB[8] ="KimDong";

for(i = 0; i < 2; i++)
{
int j = 0;
while( ((int)NXB[j]) == ((int)Books[i].publisher[j]) )
{
j++;
}
if(j == 6)
{
Books[i].price = 0;
}
}

for(i = 0; i < 2; i++)
{
printf("\nTen sach: %s", Books[i].name);
printf("\nID sach la: %s", Books[i].id);
printf("\nTac gia la: %s", Books[i].author);
printf("\nNXB la: %s", Books[i].publisher);
printf("\nGia sach la: %d", Books[i].price);
}
}

出了什么问题?

最佳答案

不确定你真正想要什么,但可能是这样的:

#include <stdio.h>

typedef struct book {

char author[2000];
char id[2000];
char name[2000];
int price;
char publisher[2000];
}sach;

int main() {

int i;
sach Books[10];
for (i = 0; i<2; i++) {
printf("Nhap thong tin cua sach thu %d:\n", i + 1);
scanf("%s", &Books[i].name);
scanf("%s", &Books[i].author);
scanf("%s", &Books[i].id);
scanf("%d", &Books[i].price);
scanf("%s", &Books[i].publisher);
}

char NXB[8] = "KimDong";

for (i = 0; i<2; i++) {
int j = 0;
while ((NXB[j]) == (Books[i].publisher[j])) {
j++;
}
if (j == 6) {
Books[i].price = 0;
}
}

for (i = 0; i<2; i++) {
printf("\nTen sach: %s", Books[i].name);
printf("\nID sach la: %s", Books[i].id);
printf("\nTac gia la: %s", Books[i].author);
printf("\nNXB la: %s", Books[i].publisher);
printf("\nGia sach la: %d", Books[i].price);
}
}

fflush(stdin) 顺便说一句,没什么用。

有关 strcmp 的其他答案可能也适用于此。

仍有改进的空间。

关于c - 制作结构数组和整理单词时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42768068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com