大一VC 程序设计题目求大神解答
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351...全部
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195#include#includeusing namespace std;struct book{ intnumber; charname[20]; charaddr[30]; charwriter[12]; double price; struct book *next;};typedef struct book node;typedef node *link;void printstart(){ printf("------------------------------------
");}void Wrong(){ printf("
=====提示:输入错误!
");}void Notfind(){printf("
=====提示:没有找到相应书籍!
");}void printc(){printf(" 编号 书名 出版社 作者 价格
");}link inserte_link1(link head){ intnumber; char*na=new char[12]; char*ad=new char[30]; char*writer=new char[12]; double price; linkpPre,p2,pBac; printf("请输入"); printc(); scanf("%d %s %s %s %lf",&number,na,ad,writer,&price); p2=new node; p2->number=number; strcpy(p2->name,na); strcpy(p2->addr,ad); strcpy(p2->writer,writer); p2->price=price; p2->next=NULL; delete na; if(p2->number>head->number){ p2->next=head; head=p2; return head; } else{ pPre=head; pBac=pPre->next; while(1){ if(p2->number>pBac->number&&p2->numbernumber){ p2->next=pBac; pPre->next=p2; return head; } else{ pPre=pBac; pBac=pBac->next; } } }}link create_link(link head){ head=new node; head->number=-1; head->next=NULL; intm,i;printf("请输入本次所创建的图书数:
");scanf("%d",&m); for(i=0;inext==NULL){ printstart();printf("此图书库为空!
"); printstart(); return 0; } printc(); while(p1->next){ coutnext; } printstart(); return 0;}void menu(){ printf("
"); printf("--------------------------------------------------------------------
"); printf(" 1载入书籍信息 2删除书籍信息
"); printf(" 3全显书籍信息 4修改书籍信息
"); printf(" 0退出系统
"); printf("*******************************************************************"); printf("
");}link delete_link(link head){ if(head==NULL){ printf("///////////////////////////
"); printf("此图书库为空!
");printf("///////////////////////////
"); return NULL; } linkp1,p2; intnum;printf("请输入所要删除书籍的号码:
");scanf("%d",&num); while(head!=NULL&&head->number==num){/*所删除的在链头*/ p2=head; head=head->next; delete p2; printf("已删除!
"); } p1=head; p2=head->next; while(p2!=NULL){ if(p2->number==num){ p1->next=p2->next; delete p2; printf("已删除!
"); return head; } else p1=p2; p2=p1->next; } Notfind(); return head;}link modify_link(link head){ intnum,number; char*na=new char[20]; char*ad=new char[30]; char*writer=new char[12]; double price; linkp1; p1=head; printf("请输入要修改书籍的号码:
");scanf("%d",&num); while(p1->next!=NULL){ if(p1->number==num){ printf("此书籍的信息为:
"); printc(); cout>number>>na>>ad>>writer>>price; p1->number=number; strcpy(p1->name,na); strcpy(p1->addr,ad); strcpy(p1->writer,writer); p1->price=price; printf("修改成功!
"); return head; } p1=p1->next; } Notfind(); return head;}void main(){ intt; linkhead=NULL; intchoice; do{ menu(); printf(" 请输入操作的序号!
"); scanf("%d",&choice); switch(choice){ case 1: head=create_link(head); break; case 2: head=delete_link(head); break; case 3: t=print_link(head); break; case 4: head=modify_link(head); break; case 0: printf("谢谢使用!
"); exit(0); default: Wrong(); break; } }while(1);}。
收起