gpt4 book ai didi

c - 向结构中添加更多数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:35:00 24 4
gpt4 key购买 nike

我创建了一个将书籍添加到结构中的函数,但是当我尝试添加更多书籍时,上一本书被删除了。我做错了什么?

void addBooks(void)
{
char chChoice;
int cnt = 0;

printf("\n\t\t~~ADD NEW BOOK\n");

printf("Enter the isbn: ");
scanf("%d", &b[cnt].nid);
printf("Enter books title: ");
scanf("%s", b[cnt].chTitle);

printf("The record was saved successfully!");

printf("Save more books? (Y / N) ");
scanf("%s", &chChoice);
if (chChoice == 'y')
{
addBooks();
cnt = cnt + 1;
}
else
mainMenu();
}

最佳答案

void addBooks(int cnt) //parameter
{
char chChoice;
// int cnt = 0;

printf("\n\t\t~~ADD NEW BOOK\n");

printf("Enter the isbn: ");
scanf("%d", &b[cnt].nid);
printf("Enter books title: ");
scanf("%s", b[cnt].chTitle);

printf("The record was saved successfully!");

printf("Save more books? (Y / N) ");
scanf(" %c", &chChoice);
if (chChoice == 'y')
{
addBooks(cnt+1);
}
else
mainMenu();
}

您需要 cnt 作为参数,因为 cnt 是本地的,您将值重置为 0 本身。您还可以将 cnt 声明为 static,如果这样做,请不要忘记在调用您的函数之前增加 cnt。此外,使用 %c 作为字符而不是 %s

关于c - 向结构中添加更多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26643489/

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