#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef int status;
typedef struct
{char bname[100];
char bno[100];}BOOK;
typedef struct
{BOOK *elem;
int length;
int listsize;}sqlist;
int search(sqlist *l,BOOK e)
{for(int i=0;i<l->length;i++)
if(strcmp(e.bname,l->elem[i].bname)==0)
return i+1;
return 0;}
int locateElem(sqlist *l)
{int i;
i=l->length;
return i;}
int research(sqlist *l,BOOK e)
{for(int i=0;i<l->length;i++)
if(strcmp(e.bno,l->elem[i].bno)==0)
return i+1;
return 0;}
status init(sqlist *l)
{l->elem=NULL;
l->elem=(BOOK *)malloc(sizeof(BOOK)*MAXSIZE);
if(!l->elem)
return 0;
l->length=0;
l->listsize=MAXSIZE;
return 1;}
void input(BOOK *e)
{
printf("請輸入圖書資訊:\n");
printf("書名 書號\n");
scanf("%s%s",e->bname,e->bno);}
status listinsert(sqlist *l,int &i,BOOK e)
{if(l->length==MAXSIZE)
return 0;
if(i<1||i>l->length+1)
return 0;
for(int k=l->length;k>=i-1;k--)
l->elem[k+1]=l->elem[k];
l->elem[i-1]=e;
++l->length;
return 1;}
status listdelete(sqlist *l,int i,BOOK *e)
{if(l->length==0) return 0;
if((i<1)||(i>l->length)) return 0;
*e=l->elem[i-1];
for(int k=i;k<=l->length-1;k++)
l->elem[k-1]=l->elem[k];
--l->length;
return 1;}
void change(sqlist *l,BOOK e)
{for(int i=0;i<l->length;i++)
{if(strcpy(e.bname,l->elem[i].bname)==0)
strcpy(l->elem[i].bno,e.bno);}}
void output(BOOK *e)
{
printf("%s%s",e->bname,e->bno);
printf("\n");}
int main()
{sqlist l;
BOOK e,b,d,c;
int i,j,a,g,f;
init(&l);
printf("請輸入圖書數量\n");
scanf("%d",&a);
for(i=0;i<a;i++)
input(&l.elem[i]);
printf("請輸入需要插入的元素和位子:\n");
scanf("%s%s",&b.bname,&b.bno);
scanf("%d",&i);
listinsert(&l,i,b);
printf("請輸入要洗掉的元素位子:\n");
scanf("%d",&j);
listdelete(&l,j,l.elem);
printf("請輸入需要查找的書號\n");
scanf("%s",&e.bno);
g=research(&l,e);
printf("表長為:\n");
locateElem(&l);
printf("請輸入需要查找的書名\n");
scanf("%s",&d.bname);
f=search(&l,d);
printf("請輸入修改圖書的書名:\n");
scanf("%s",&c.bname);
printf("請輸入修改的書號:\n");
printf("%s",&c.bno);
change(&l,c);
for(i=0;i<l.length;i++)
output(&l.elem[i]);
return 0;}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121048.html
標籤:其它技術問題
