fei liang rong 2 years ago
commit fe0a344606

64
app.c

@ -2,6 +2,14 @@
#include <stdlib.h>
#include "data.h"
struct book{
int id;
char name;
char author;
float price;
struct book *next;
}*books;
@ -98,10 +106,56 @@ int make_choice(void)
int confirm(const char* msg)
// 添加新图书信息
void add_data()
{
struct book *p, *q;
p = (struct book*)malloc(sizeof(struct book));
printf("请依次输入图书信息:\n");
printf("图书编号:");
scanf("%d", &p->id);
printf("图书名称:");
scanf("%s", p->name);
printf("图书作者:");
scanf("%s", p->author);
printf("图书价格:");
scanf("%f", &p->price);
q = books;
while(q != NULL && p->id > q->id)
q = q->next;
p->next = q; // 指向下一个节点
books = p; // 新节点成为链表头
printf("图书信息添加成功!\n");
}
// 更新图书信息
void update_data()
{
char c = 'n'; // 默认选择是 no
printf("%s(Y/N): ", msg); // 提示输入 yes/no 进行确认
scanf(" %c%*[^\n]", &c); // 读取第一个字符,忽略剩余字符
return c == 'y' || c == 'Y'; // 返回确认结果
int id;
struct book *p;
printf("请输入要修改的图书编号:");
scanf("%d", &id);
p = find(id); // 查找编号为id的图书
if(p != NULL)
{
printf("请依次输入修改后的图书信息:\n");
printf("图书名称:");
scanf("%s", p->name);
printf("图书作者:");
scanf("%s", p->author);
printf("图书价格:");
scanf("%f", &p->price);
printf("图书信息修改成功!\n");
}
else
{
printf("没有找到编号为%d的图书!\n", id);
}
}
Loading…
Cancel
Save