c 未定义标识符strcmp scanf("%s %s %f", Isbn, Name, &Price);
时间: 2023-11-19 22:51:18 浏览: 170
这个错误提示表明您的代码中使用了未定义的标识符 `strcmp`,这通常是因为您没有包含 `<string.h>` 头文件。`strcmp` 是一个字符串比较函数,需要该头文件才能使用。
另外,您提到的 `scanf` 函数也需要注意,如果输入的字符串中包含空格,那么只会读取第一个字符串,后面的字符串和浮点数都无法读取。可以考虑使用 `fgets` 函数来读取一整行字符串,然后再使用 `sscanf` 函数来解析其中的数据。
相关问题
void revise(book*h)//修改 { book*p = h->next; printf("请输入你要修改的书名:"); char abc[20]; scanf("%s",&abc,p->date.name); for(int i=0;i<101;i++) { if(p->date.ISBN==NULL) break; if(strcmp(p->date.name,abc)==0) { printf("原图书编号为:%s\n",p->date.ISBN); printf("原书名为%s\n",p->date.name); printf("请输入新书名:\n"); scanf("%s",&p->date.name); printf("原作者名为:%s\n",p->date.writer); printf("请输入新作者:\n"); scanf("%s",&p->date.writer); printf("原出版社为:%s\n",p->date.ad); printf("请输入新出版社:\n"); scanf("%s",&p->date.ad); printf("原价格为:%s\n",p->date.price); printf("请输入新价格:\n"); scanf("%s",&p->date.price); system("pause"); break; } }
这段代码实现了图书馆系统中的修改图书信息功能,用户输入要修改的书名,程序会遍历整个链表查找是否存在该书名对应的书籍,如果存在,则输出该书籍的原信息,并让用户输入新的书名、作者、出版社和价格。最后程序会暂停等待用户按下任意键继续执行。不过,这段代码存在一些问题,例如可能会导致内存泄漏、输入缓冲区溢出等问题。
void return_ticket(char name[], int num) { int i; for (i = 0; i < num_sights; i++) { if (strcmp(sights[i].name, name) == 0) { sights[i].rest_tickets += num; printf("退票成功!共返还 %d 元。\n", sights[i].price * num); return; } } printf("未找到名为 %s 的景点!\n", name); } int main() { int choice; char name[20]; int price, tickets, num; while (1) { printf("请输入操作代码:\n"); printf("1. 添加景点\n"); printf("2. 查询景点信息\n"); printf("3. 购买门票\n"); printf("4. 退回门票\n"); printf("5. 退出\n"); scanf("%d", &choice); switch (choice) { case 1: printf("请输入景点名称、门票价格和余票数量:\n"); scanf("%s %d %d", name, &price, &tickets); add_sight(name, price, tickets); break; case 2: printf("请输入景点名称:\n"); scanf("%s", name); query_sight(name); break; case 3: printf("请输入景点名称和购票数量:\n"); scanf("%s %d", name, &num); buy_ticket(name, num); break; case 4: printf("请输入景点名称和退票数量:\n"); scanf("%s %d", name, &num); return_ticket(name, num); break; case 5: return 0; default: printf("无效的操作代码!\n"); } } }
这段代码是一个简单的景点门票管理系统。使用者可以添加景点、查询景点信息、购买门票和退回门票。
在主函数中,使用者可以输入操作代码,选择需要执行的操作。如果选择添加景点,则需要输入景点名称、门票价格和余票数量,程序会将这些信息存储到一个结构体数组中。如果选择查询景点信息,则需要输入景点名称,程序会输出该景点的信息。如果选择购买门票,则需要输入景点名称和购票数量,程序会检查该景点的余票数量是否足够,如果足够则减少余票数量并输出购买成功信息,否则输出购买失败信息。如果选择退回门票,则需要输入景点名称和退票数量,程序会将该景点的余票数量增加并输出退票成功信息。
在这个简单的系统中,使用了结构体和函数等基本的程序设计概念,可以用于入门级别的程序设计学习和练习。
阅读全文