C语言程序设计作业源程序之图书信息管理系统
图书信息管理系统m_book.c
#include
struct node
{ char name[10];
int price;
char pub[15];
};
extern struct node *add(),*del(struct node *);
extern struct node *load(),*mhdel(struct node *);
/*******************************************************/
/* 函数功能:显示菜单,选择菜单 */
/* 输入参数:无 */
/* 函数输出:选择的菜单序号 */
/*******************************************************/
int menu_select()
{
int cn=0;
printf(" **********************************************\n");
printf("\t\t 1. Add a book\n");
printf("\t\t 2. Display book library\n");
printf("\t\t 3. Query a book\n");
printf("\t\t 4. Delete a book\n");
printf("\t\t 5. Save to disk\n");
printf("\t\t 6. Load from disk \n");
printf("\t\t 7. Mohu search\n");
printf("\t\t 8. Mohu delete\n");
printf("\t\t 0. Exit\n");
printf("\t***********************************************\n");
printf("\n Input(0~8): ");
for(; ;)
{ scanf("%d",&cn);
if (cn<0 ||cn>8) printf("Error ! Input again(1~6):");
else
break;
}
return cn;
}
void main(void)
{
struct node *head=NULL;
for(; ;)
{ clrscr();
switch(menu_select())
{
case 1: head=add(head);break;
case 2: print(head);break;
case 3: search(head);break;
case 4: head= del(head);break;
case 5: save(head);break;
case 6: head=load();break;
case 7: mhsearch(head);break;
case 8: head=mhdel(head);break;
case 0: exit(0);
}
}
}
s_book.c
#include
#include
#include
struct node
{
char name[10];
float price;
char pub[15];
struct node *link;
};
struct node *add(struct node *head ) ; /* 函数功能:创建结点,输入结点数据 */
void print(struct node *head); /* 函数功能:链表输出 */
void save(struct node *head); /* 函数功能:链表存储 */
void search(struct node *head); /* 函数功能:链表结点查找 */
struct node *del(struct node *head); /* 函数功能:结点删除 */
struct node *load(void); /* 函数功能:从文件中读入数据,创建链表 */
struct node *mhdel(struct node *head); /* 函数功能:结点模糊删除 */
void mhsearch(struct node *head); /* 函数功能:链表结点模糊查找 */
/*******************************************************/
/* 函数功能:创建结点,输入结点数据 */
/* 输入参数:链表头指针 */
/* 函数输出:链表头指针 */
/*********