📄 tushuguandemoni.cpp
字号:
/*图书馆的模拟《查询图书》《登记图书》
《删除图书》《插入图书》*/
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"
#define MAXLEN 20
#define NULL 0
typedef struct node
{
int num; // 图书的编号
char name[MAXLEN]; //图书的作者;
char book[20]; //图书名称;
struct node *next;
}list;
/*创建图书目录的函数*/
list *create()
{
list *head ,*p,*r;
int i,n=3;
head=(list*)malloc(sizeof(list));
head->next=NULL;
r=head;
/*为了方便,图书的数目小于10为好*/
for(i=1;i<=n;i++)
{
p=(list*)malloc(sizeof(list));
printf("请输入图书的编号:\n");
scanf("%d",&p->num);
printf("请输入图书的作者 :\n");
scanf("%s",&p->name);
printf("请输入图书的名称:\n");
scanf("%s",&p->book);
p->next=NULL;
r->next=p;
r=r->next;
}//end for;
return(head);
}//finnish create;建立了一个小型图书馆
//图书的插入(本程序直接将图书插入尾部)
/* list *insert(list *h)
{
list *p,*q,*r,*head;
head =h;
r=h;
p=h->next;
//建一册图书的信息
q=(list*)malloc(sizeof(list));
printf("请输入待插入图书的编号:\n");
scanf("%d",&q->num);
printf("请输入待插入图书的作者 :\n");
scanf("%s",&q->name);
printf("请输入待插入图书的名称:\n");
scanf("%s",&q->book);
q->next=NULL;
//在插入之前,我们要找到表尾;
while(p!=NULL)
{
r=p;
p=p->next;
}// end while 找到了;
//现在将图示插入
r->next=q;
r=r->next;
return(head);
}// end insert;插入完毕
//查找函数find
void find(list *h)
{ int k;
list *p;
p=h->next;
printf("请输入你要查询的图书编号:\n");
scanf("%d",&k);
while(p&&p->num!=k)p=p->next;
if(p)
{
printf("编号\t作者\t书名\n");
printf("%d\t %s\t%s\n",p->num,p->name,p->book);
}//找到并输出图书的相关信息;
else printf("没有找到你要查询的图书");
}//end find 查找完毕;
//删除图书的函数
list *del(list *h)
{ int k;
list *p,*q;
q=h;
p=h->next;
printf("请输入你要删除的图书编号:\n");
scanf("%d",&k);
while(p&&p->num!=k){q=p;p=p->next;}
if(p){
q->next=p->next;
free(p);
}
else printf("本馆没有该图书的相关信息\n");return(h);
//输出本馆的所有图书函数output;
void output(list*)
{ list *p; p=h->next;
while(p!=NULL)
{
printf("编号\t作者\t书名\n");
printf("%d\t%s\t%s\n",p->num,p->name,p->book);
p=p->next;}//end while
}//end output ;
//***************************************************
*/
void main()
{
list*p;
int k;
//while(1){
printf(" __________________________________\n");
printf("| 图书馆主菜单 |\n");
printf("|__________________________________|\n");
printf("| 1.图书登记 |\n");
printf("| 2.图书查询 |\n");
printf("| 3.图书插入 |\n");
printf("| 4.图书删除 |\n");
printf("| 5.图书输出(在馆图书) |\n");
printf("| 0.退出本馆 |\n");
printf("|__________________________________|\n");
printf("请输入你要选择的操作(如1,对应图书登记)\n");
scanf("5d",&k);
// switch(k)
// {
//case 1: /''
p=create();// breake;
// case 2:find(p); breake:
// case 3:p=insert(p);breake:
// case 4:p=del(p); breake;
// case 5:output(p); breake;
// case 0:exit(0);
//// default:printf("输入错误,请重新进入主菜单!\n");
// }//end switch
// }// end while
}//end main()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -