void dele_all() { char queren[4]; printf("\t继续操作会删除所有信息,是否继续?'y'继续,'n'撤销..."); scanf("%s",queren); if(strcmp(queren,"y")==0) { N=0; printf("\t删除成功!\n"); } else { printf("\t操作被用户取消!任意键返回..."); getch(); } }
时间: 2024-04-28 15:18:41 浏览: 10
这段代码实现了一个删除所有图书信息的功能。当用户输入'y'确认删除时,该函数会将所有图书信息清空,即将图书数量N设置为0。如果用户输入'n'取消删除,则该函数不做任何操作。
需要注意的是,该函数中的输入操作使用了字符串比较函数strcmp(),需要包含头文件<string.h>。另外,该函数中没有对图书信息进行备份,如果误删了图书信息,则无法恢复。因此,在使用该函数时需要谨慎操作。
相关问题
void dele() { int x; do { system("cls"); printf("\t\t|-------------------------------------------------------------|\n"); printf("\t\t| ===================== |\n"); printf("\t\t| 删除图书信息 |\n"); printf("\t\t| ===================== |\n"); printf("\t\t| |\n"); printf("\t\t| 1.按书名删除 |\n"); printf("\t\t| 2.按书号删除 |\n"); printf("\t\t| 3.删除所有图书 |\n"); printf("\t\t| 4.返回主菜单 |\n"); printf("\t\t|-------------------------------------------------------------|\n"); printf("\t\t请输入您的选项:"); scanf("%d",&x); switch(x) { case 1:system("cls");dele_name();break; case 2:system("cls");dele_num();break; case 3:system("cls");dele_all();getch();break; } }while(x!=4); } 的代码解释
这是一个名为dele的函数,用于删除图书信息。该函数包含一个do-while循环,其中会输出一个菜单,让用户选择执行的操作。用户可以选择按书名删除、按书号删除、删除所有图书或返回主菜单。根据不同的选择,会调用不同的子函数进行具体的操作。如果用户选择返回主菜单,循环会终止,函数结束。如果用户选择删除所有图书,会调用dele_all()函数,该函数会删除所有图书,并且在操作完成后等待用户按任意键继续。
针对学生表dele_jl,定义一触发器用来保证参照完整性,实现级联删除。
假设学生表为 student,学籍表为 school_roll,学籍表中的学生编号为 stu_id。下面是一个触发器的示例代码:
```
CREATE TRIGGER trg_del_student
BEFORE DELETE ON student
FOR EACH ROW
BEGIN
DELETE FROM school_roll WHERE stu_id = OLD.stu_id;
END;
```
这个触发器会在删除学生表中的一行记录之前触发,然后会删除学籍表中与该学生相应的记录。其中,OLD.stu_id 表示即将被删除的学生表中的记录的学生编号,这个值会被用于删除学籍表中相应的记录。这样,当删除学生表中的一条记录时,与之相关的学籍表中的记录也会被自动删除,从而保证了参照完整性。