C语言编写图书管理系统

合集下载

C语言图书馆管理系统1

C语言图书馆管理系统1

#include<stdio.h>#include"string.h"#define Maxsize 10struct book{long num;char name[30];char author[20];char press[30];float price;}BOOKLIST[Maxsize];void input(int *);void search_num(int);void search_author(int);void search_press(int);void search_name(int);void Delete(int *);int main(){int i;int count=0;printf("\t\t---------------------------------------\n");printf("\t\t\t欢迎使用图书馆管理系统\n");printf("\t\t---------------------------------------\n");do{printf("\n");printf("\t\t\t1---:添加一本图书\n");printf("\t\t\t2---:显示某本图书信息\n");printf("\t\t\t3---:查找某作者编写图书信息\n");printf("\t\t\t4---:查找某出版社图书信息\n");printf("\t\t\t5---:查找某本书的信息\n");printf("\t\t\t6---:删除某本书的信息\n");printf("\t\t\t7---:退出\n");scanf("%d",&i);switch(i){case 1:input(&count);break;case 2:search_num(count);break;case 3:search_author(count);break;case 4:search_press(count);break;case 5:search_name(count);break;case 6:Delete(&count);break;case 7:break;default:printf("错误选择!请重选:\n");break; }}while(i!=7);return 0;}void input(int *count){int i,in_num;if(*count==Maxsize){printf("空间已满!");return;}printf("请输入编号:");scanf("%d",&in_num);for(i=0;i<*count;i++)if(BOOKLIST[i].num==in_num){printf("已经有相同编号:");return;}{BOOKLIST[i].num=in_num;printf("please enter name:");scanf("%s",BOOKLIST[i].name);printf("please enter author:");scanf("%s",BOOKLIST[i].author);printf("please enter press:");scanf("%s",BOOKLIST[i].press);printf("please enter num:");scanf("%ld",&BOOKLIST[i].num);printf("please enter price:");scanf("%f",&BOOKLIST[i].price);(*count)++;}}void search_num(int count){int i,num;printf("请输入要查询的编号:");scanf("%d",&num);for(i=0;i<count;i++)if(BOOKLIST[i].num==num){printf("book name:%s\n",BOOKLIST[i].name);printf("book author:%s\n",BOOKLIST[i].author);printf("book press:%s\n",BOOKLIST[i].press);printf("book price:%f\n",BOOKLIST[i].price);printf("book num:%ld\n",BOOKLIST[i].num);}elseprintf("没有查询到!\n");}void search_author(int count){int i;char author[20];printf("请输入要查询的作者姓名:");scanf("%s",author);for(i=0;i<count;i++)if(strcmp(BOOKLIST[i].author,author)==0) {printf("book name:%s\n",BOOKLIST[i].name); printf("book author:%s\n",BOOKLIST[i].author); printf("book press:%s\n",BOOKLIST[i].press); printf("book price:%f\n",BOOKLIST[i].price); printf("book num:%ld\n",BOOKLIST[i].num);}elseprintf("没有查询到!\n");}void search_press(int count){int i;char press[20];printf("请输入要查询的出版社:");scanf("%s",press);for(i=0;i<count;i++)if(strcmp(BOOKLIST[i].press,press)==0) {printf("book name:%s\n",BOOKLIST[i].name); printf("book author:%s\n",BOOKLIST[i].author); printf("book press:%s\n",BOOKLIST[i].press); printf("book price:%f\n",BOOKLIST[i].price); printf("book num:%ld\n",BOOKLIST[i].num); }elseprintf("没有查询到!\n");}void search_name(int count){int i;char name[30];printf("请输入要查询的书名:");scanf("%s",name);for(i=0;i<count;i++)if(strcmp(BOOKLIST[i].name,name)==0) {printf("book name:%s\n",BOOKLIST[i].name); printf("book author:%s\n",BOOKLIST[i].author); printf("book press:%s\n",BOOKLIST[i].press); printf("book price:%f\n",BOOKLIST[i].price); printf("book num:%ld\n",BOOKLIST[i].num);}elseprintf("没有查询到!\n");}void Delete(int *count){int i,j,flag=1;char name[30];printf("请输入要删除的书名:");scanf("%s",name);for(i=0;i<*count&&flag;i++){if(strcmp(BOOKLIST[i].name,name)==0) {for(j=i;j<*count-1;j++)BOOKLIST[j]=BOOKLIST[j+1];flag=0;(*count)--;}elseprintf("没有查询到可以删除的书名!\n"); }}。

图书馆管理系统 c语言编写

图书馆管理系统   c语言编写

#include "stdio.h"#include "stdlib.h"#include "conio.h"#include "string.h"#include "math.h"#define LEN sizeof(struct library)#define LEN1 sizeof(struct reader)#define NULL 0struct library//图书馆结构体{int shuhao,xcl;char name[20],author[20],chuban[20];struct library *next;};struct reader//读者结构体{int zhenghao;char mingzi[20],riqi[20],zname[20];struct reader *next;};void mainmenu() //显示主菜单{ system ("cls");printf("\n");printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.图书馆信息\n\n");printf("\t\t\t\t 2.借阅系统\n\n");printf("\t\t\t\t 3.退出系统\n\n");printf("\t\t\t 请按键选择,回车确定\n"); printf("\t\t\t\t######################\n"); printf("\n");return ;}void menu1() //显示图书馆信息菜单{ system ("cls");printf("");printf("\t\t\t\t####################\n\n"); printf("\t\t\t\t 1.采编入库\n\n");printf("\t\t\t\t 2.清除库存\n\n");printf("\t\t\t\t 3.图书查询\n\n");printf("\t\t\t\t 4.库存一览\n\n");printf("\t\t\t\t 5.返回上一层\n\n");printf("\t\t\t 请按键选择,回车确定\n");printf("\t\t\t\t#######################\n");printf("\n");return ;}void menu2() //显示查询菜单{ system ("cls");//printf("");printf("\t\t\t\t#######################\n");printf("\t\t\t\t 1.书号查询\n\n");printf("\t\t\t\t 2.书名查询\n\n");printf("\t\t\t\t 3.作者查询\n\n");printf("\t\t\t\t 4.出版社查询\n\n");printf("\t\t\t 请按键选择,回车确定\n");printf("\t\t\t\t#######################\n");//printf("");return ;}void main()//主函数,调用main1{void main1();main1();}void main1()//main1函数{void tsgxx();//声明void jieshuxitong();//声明char choose;mainmenu();scanf("%c",&choose);switch(choose)//功能函数选择{ case '1':tsgxx();break;case '2':jieshuxitong();break;case '3':system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t Byebye...");printf("\n\n\n\n\n\n\n\n\n\t\t\t 欢迎使用本软件!!!");getch();exit(0);system ("cls");break;}}void tsgxx()//图书馆信息函数{ void tsjinku();void shanchu();void chaxunts();void xianshikucun();//函数声明char choose;menu1();//调用菜单函数scanf("%c",&choose);scanf("%c",&choose);for (;;)switch(choose)//功能函数选择{ case '1':tsjinku();break;case '2':shanchu();break;case '3':chaxunts();break;case '4':xianshikucun();break;case '5':main1();break;}}int tjzs()//统计文本个数函数{ FILE *fp;int tshuhao=0,txcl=0,n;char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'};fp=fopen("library.txt","r");//打开文件for (n=0;!feof(fp);n++)//逐个读文件fscanf(fp,"%d %s %s %s %d",&tshuhao,tname,tauthor,tchuban,&txcl);n--;fclose(fp);//关闭文件return (n);//返回个数}int tjdzzs()//统计文本个数函数{ FILE *fp;int zhenghao=0,n;char mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};fp=fopen("reader.txt","r");//打开文件for (n=0;!feof(fp);n++)//逐个读文件fscanf(fp,"%d %s %s %s ",&zhenghao,&mingzi,&riqi,&zname);fclose(fp);//关闭文件return (n);//返回个数}void tsjinku()//图书进库函数{ FILE *fp;int shuhao=0,xcl=0,n=0;char name[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'};char hitkey;system ("cls");if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件,不存在此文件则新建{ fp=fopen("library.txt","w");fclose(fp);}fp=fopen("library.txt","a");printf("\n\n\n\n\n\n\t\t\t请按以下格式输入图书信息:\t\t\t\t\t\t 书号书名作者出版社进库量\n请输入:");//按格式输入图书馆信息for (;hitkey!=27;)//循环输入{ if (n!=0)printf("请输入:");scanf("%d%s%s%s%d",&shuhao,name,author,chuban,&xcl);fprintf(fp,"%d %s %s %s %d\n",shuhao,name,author,chuban,xcl);printf("继续输入请按回车,结束输入请按esc\n");n++;hitkey=getch();for (;hitkey!=13&&hitkey!=27;)hitkey=getch();}fclose(fp);printf("\n\n\n\n\n\n\t\t\t保存成功,按任意键返回上一层!");getch();tsgxx();//返回上一层}void shanchu()//删除图书信息函数{ struct library *head=NULL;struct library *p,*p1,*p2;int tshuhao=0,txcl=0,n=0,j,i;char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'};char hitkey;FILE *fp;if ((fp=fopen("library.txt","r"))==NULL)//打开文件{ system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!按任意键返回...");getch();tsgxx();}else{ system ("cls");printf("\n\n\n\n\n\n\n\n\t\t请输入你要删除的书名:");//输入删除图书书名scanf("%s",&ttname);printf("\t\t确认删除请回车,取消请按esc\n");hitkey=getch();for (;hitkey!=13&&hitkey!=27;)hitkey=getch();if (hitkey==27)tsgxx();fp=fopen("library.txt","r");for (j=0;!feof(fp);)//读文件夹信息,统计个数{ j++;fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);}fclose(fp);fp=fopen("library.txt","r");for (i=1;i<j;i++){ fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl); if (strcmp(ttname,tname))//比较名字,将不同名字的信息复制到链表{ n++;if (n==1)//建立链表{ p1=p2=(struct library*)malloc(LEN);head=p1;}else{ p2->next=p1;p2=p1;p1=(struct library*)malloc(LEN);//新建链表}p1->shuhao=tshuhao;//复制书号strcpy(p1->name,tname);//复制书名strcpy(p1->author,tauthor);//复制作者名子strcpy(p1->chuban,tchuban);//复制出版社p1->xcl=txcl;//复制个数}}if (n==0){ head=NULL;}else{p2->next=p1;p1->next=NULL;fclose(fp);}}fp=fopen("library.txt","w");//清空文件fclose(fp);fp=fopen("library.txt","a");//追加文件p=head;for (;p!=NULL;)//把链表内容覆盖到文件{fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl);p=p->next;}fclose(fp);//关闭文件system ("cls");printf("\n\n\n\n\n\n\n\n\t\t 删除成功\n\t\t按任意键返回上一层\n");getch();//返回上一层tsgxx();}void chaxunts()//查询函数{FILE *fp;char choose;int ttshuhao=0,tshuhao=0,txcl=0,n=0,k=0,i,l;chartname[20]={'\0'},ttauthor[20]={'\0'},tauthor[20]={'\0'},ttchuban[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'};if ((fp=fopen("library.txt","r"))==NULL)//打开文件{ system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!按任意键返回...");getch();tsgxx();}l=tjzs();//获得文件个数menu2();//调用菜单函数scanf("%c",&choose);scanf("%c",&choose);//选择查询方式if (choose=='5')return;else if (choose=='1')//书号查询{ system ("cls");printf("请输入书号:");scanf("%d",&ttshuhao);}elseif (choose=='2')//书名查询{ system ("cls");printf("请输入书名:");scanf("%s",ttname);}elseif (choose=='3')//作者查询{ system ("cls");printf("请输入作者:");scanf("%s",ttauthor);}elseif (choose=='4')//出版社查询{ system ("cls");printf("请输入出版社:");scanf("%s",ttchuban);}system ("cls");for (i=0;i<l;i++){ fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);//读文件信息if(ttshuhao==tshuhao||!strcmp(ttname,tname)||!strcmp(ttauthor,tauthor)||!strcmp(ttchuban,tch uban))//输出查询信息{if (k==0){printf("\t\t\t\t查询结果:\n\n");printf("\t 书号书名作者出版社现存量\n");}printf("\t %-4d %-8s %-8s %-8s %-4d \n",tshuhao,tname,tauthor,tchuban,txcl);k++;}}if (k==0)//文件夹为空则输出无记录{ system ("cls");printf("\n\n\n\n\n\n\n\t\t\t\t无符合记录!\n");getch();tsgxx();}fclose(fp);getch();//返回tsgxx();}void xianshikucun()//现实库存信息{FILE *fp;int shuhao=0,xcl=0,n=0,i=0,j=0;char name[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'};if ((fp=fopen("library.txt","r"))==NULL)//打开文件夹{system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!");n= tjzs();if (n==0){ system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t无任何记录!");}fp=fopen("library.txt","r");system ("cls");printf("************************************************************************* *******");printf("\t 书号书名作者出版社库存量\n");printf("************************************************************************* *******");for (i=0;i<n;i++)//输出信息{fscanf(fp,"%d%s%s%s%d",&shuhao,name,author,chuban,&xcl);printf("\t %-4d %-8s %-8s %-8s %-4d \n",shuhao,name,author,chuban,xcl);}fclose(fp);printf("\t\t\t\t按任意键返回\n");getch();//返回tsgxx();}void menu3() //显示借书系统主菜单{ system ("cls");//printf("*********************************************************************** *********");printf("\t\t\t\t#######################\n");printf("\t\t\t\t 1.借书登记\n\n");printf("\t\t\t\t 2.还书登记\n\n");printf("\t\t\t\t 3.借阅情况查看\n\n");printf("\t\t\t\t 4.返回上一层\n\n");printf("\t\t\t 请按键选择,回车确定\n");printf("\t\t\t\t#######################\n");//printf("*********************************************************************** *********");return ;}void jieshuxitong()//借书系统函数{ void jieshu();void huanshu();void duzheyilang();//函数声明char choose;menu3();scanf("%c",&choose);scanf("%c",&choose);//选择功能for (;;)switch(choose)//调用函数{ case '1':jieshu();break;case '2':huanshu();break;case '3':duzheyilang();break;case '4':main1();break;}}void jieshu()//借书函数{FILE *fp,*fp3;struct library *head=NULL;struct library *p,*p1,*p2;int tshuhao=0,txcl=0,i,loop,zhenghao=0,n=0,k=0,t=0,flag=0;char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'},mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};char hitkey=0;system ("cls");{if ((fp=fopen("library.txt","r"))==NULL)//打开图书馆文件{system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t 图书馆无库存!按任意键退出!");getch();exit (0);}else{{printf("\n\n\n\n\n\n\t\t\t请输入借阅书名:\t\t\t\t\t\t \n请输入:");//输入书名scanf("%s",zname);k= tjzs();//统计图书馆文件个数for (i=0;i<k;i++)//读入图书馆信息,存储到链表{fscanf(fp,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);n++;if (n==1){ p1=p2=(struct library*)malloc(LEN);head=p1;}else{ p2->next=p1;p2=p1;p1=(struct library*)malloc(LEN);//新建链表}p1->shuhao=tshuhao;//复制书号strcpy(p1->name,tname);//复制书名strcpy(p1->author,tauthor);//复制作者strcpy(p1->chuban,tchuban);//复制出版社p1->xcl=txcl;//复制现存量}if (n==0)head=NULL;else{p2->next=p1;p1->next=NULL;fclose(fp);}}}p=head;for (;p!=NULL;)//读链表{if(!(strcmp(p->name,zname)))//名字相同{flag=1;//标记取1loop=p->xcl;//现存量减1(p->xcl)--;}p=p->next;}if(flag&&(loop>0))//存在借书书名且现存量大于0{ fp=fopen("library.txt","w");fclose(fp);fp=fopen("library.txt","a");p=head;for (;p!=NULL;){fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl);p=p->next;}free(p);//把链表内容覆盖文件fclose(fp);}if(flag&&(loop>0))//存在借书书名且现存量大于0{{if ((fp3=fopen("reader.txt","r"))==NULL)//建读者文件夹{ fp3=fopen("reader.txt","w");fclose(fp3);}fp3=fopen("reader.txt","a");}{{ if (n!=0)printf("\n\n\n\n\n\n\t\t\t请按以下格式输入读者信息:\t\t\t\t\t\t 证号姓名归还日期借书书名\n请输入:");//录入读者信息scanf("%d %s %s %s",&zhenghao,&mingzi[20],&riqi[20],&zname[20]);fprintf(fp3,"%d %s %s %s \n",zhenghao,&mingzi[20],&riqi[20],&zname[20]);fp=fopen("library.txt","w");//删除图书馆文件信息fclose(fp);fp=fopen("library.txt","a");//重新追加信息p=head;for (;p!=NULL;)//把链表内容覆盖图书馆文件{fprintf(fp,"%d %s %s %s %d \n",p->shuhao,p->name,p->author,p->chuban,p->xcl);p=p->next;}fclose(fp);fclose(fp3);printf("成功!按任意键返回\n");getch();//返回jieshuxitong();}}jieshuxitong();}elseprintf("此书已被借完!按任意键返回!");//否则输出此书已被接完getch();//返回jieshuxitong();}}void huanshu()//还书函数{FILE *fp,*fp3;struct reader *head=NULL;struct reader *p,*p1,*p2;struct library *lhead1=NULL;struct library *zp1,*lp1,*lp2;int tshuhao=0,txcl=0,i;char tname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'}, ttname[20]={'\0'};int ttzhenghao=0,tzhenghao=0,n=0,k=0,t=0,flag=0;char tmingzi[20]={'\0'},triqi[20]={'\0'},tzname[20]={'\0'},ttzname[20]={'\0'};char hitkey=0;system ("cls");{if ((fp=fopen("reader.txt","r"))==NULL)//不存在读者文件,则输出不能还书{system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t 不存在借书者!按任意键退出!");getch();exit (0);}else{{printf("\n\n\n\n\n\n\t\t\t请输入读者证号和书名:\t\t\t\t\t\t \n请输入:");scanf("%d %s",&ttzhenghao,ttzname);//输入还书证号和书名k= tjdzzs();//获取读者文件夹信息个数for (i=0;i<k;i++)//读取读者文件夹信息{fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname);if((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname))//如果证号书名存在,则标记为1flag=1;}fclose(fp);fp=fopen("reader.txt","r");//打开读者文件if(flag){for (i=0;i<k;i++)//将读者文件复制到链表{fscanf(fp,"%d%s%s%s\n ",&tzhenghao,tmingzi,triqi,tzname);//读取文件信息if(!((ttzhenghao==tzhenghao)&&!strcmp(ttzname,tzname))){ n++;if (n==1){ p1=p2=(struct reader*)malloc(LEN1);//新建链表head=p1;}else{ p2->next=p1;p2=p1;p1=(struct reader*)malloc(LEN1);//新建链表}p1->zhenghao=tzhenghao;//复制证号strcpy(p1->mingzi,tmingzi);//复制读者名字strcpy(p1->riqi,triqi);//复制日期strcpy(p1->zname,tzname);//复制书名}}if (n==0)head=NULL;else{p2->next=p1;p1->next=NULL;fclose(fp);}fp=fopen("reader.txt","w");//清空读者文件fclose(fp);fp=fopen("reader.txt","a");//追加信息p=head;for (;p!=NULL;)//把链表内容覆盖读者文件{fprintf(fp,"%d %s %s %s \n",p->zhenghao,p->mingzi,p->riqi,p->zname);p=p->next;}free(p);fclose(fp);}}}}if(flag)//标记为1,既还书时{{{printf("确认还书请按回车!");for (;hitkey!=13&&hitkey!=27;)hitkey=getch();if (hitkey==13)printf("成功!按任意键返回!");n=0;flag=0;fp3=fopen("library.txt","r");//打开图书馆文件k= tjzs();//获取图书馆文件个数for (i=0;i<k;i++)//将图书馆文件复制到链表{fscanf(fp3,"%d%s%s%s%d",&tshuhao,tname,tauthor,tchuban,&txcl);//读取信息n++;if (n==1){ lp1=lp2=(struct library*)malloc(LEN);//新建链表lhead1=lp1;}else{ lp2->next=lp1;lp2=lp1;lp1=(struct library*)malloc(LEN);//新建链表}lp1->shuhao=tshuhao;//复制书号strcpy(lp1->name,tname);//复制书名strcpy(lp1->author,tauthor);//复制作者strcpy(lp1->chuban,tchuban);//复制出版社lp1->xcl=txcl; //复制现存量}if (n==0){ lhead1=NULL;}else{lp2->next=lp1;lp1->next=NULL;fclose(fp3);}}}zp1=lhead1;for (;zp1!=NULL;){if(!(strcmp(zp1->name,ttzname)))//寻找书名相同++(zp1->xcl);//现存量加1zp1=zp1->next;}fp3=fopen("library.txt","w");//清空图书馆文件fclose(fp);fp3=fopen("library.txt","a");//追加信息zp1=lhead1;for (;zp1!=NULL;)//把链表内容覆盖图书馆文件{fprintf(fp3,"%d %s %s %s %d \n",zp1->shuhao,zp1->name,zp1->author,zp1->chuban,zp1->xcl);//录入信息zp1=zp1->next;}fclose(fp3);getch();//返回jieshuxitong();}elseprintf("不存在此信息!按任意键返回!");getch();//返回jieshuxitong();}void duzheyilang()//显示借书情况函数{FILE *fp;int zhenghao=0,xcl=0,n=0,i=0,j=0;char mingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};if ((fp=fopen("reader.txt","r"))==NULL)//打开读者文件夹{system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!");}n=tjdzzs();if (n==0){ system ("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t无任何记录!");}fp=fopen("reader.txt","r");system ("cls");printf("************************************************************************* *******");printf("\t 证号读者姓名还书日期书名\n");printf("************************************************************************* *******");for (i=0;i<n;i++)//输出文件信息{fscanf(fp,"%d%s%s%s\n ",&zhenghao,mingzi,riqi,zname);printf("\t %-4d %-8s %-8s %-8s \n", zhenghao,mingzi,riqi,zname);}fclose(fp);printf("\t\t\t\t按任意键返回\n");getch();//返回jieshuxitong();}。

c语言编写图书管理系统

c语言编写图书管理系统

void cxsjpx()
{
int i,j;
struct Student temp;
for(i=0;i<num-1;i++)//冒泡法排序
for(j=0;j<num-1-i;j++)
if(std[i].cxsj>std[i+1].cxsj)
{ temp=std[i];
else
printf("失败");
break;
}
}
void sxcj_search()
{ char a[20];
int i,t;
while(1)
{
printf("\n请输入数学成绩:\n");
scanf("%s",a);
void paixu()
{
int choice
printf("请选择(1-4) \n");
printf("\t*[1] 数学成绩排序\t*\n");
printf("\t*[2] 程序设计成绩排序\t*\n");
printf("\t*[3] 总分排序\t*\n");
printf("写入错误\n");
}
fclose(fp);
}
void menu()
{
printf("请选择(1-6) \n");
printf("\t*[1] 新建数据\t*\n");
printf("\t*[2] 添加数据\t*\n");

C语言编程--图书馆管理系统

C语言编程--图书馆管理系统

#include <iostream.h>#include <iomanip.h>#include <string.h>#include <fstream> //输入/输出文件流类using namespace std;const int Max1=100; //最大学生数const int Max2=100; //最大图书量const int Max3=100; //每个学生最多借2本书class student //学生类,实现对学生的信息的描述{private:int tb; //删除标记1:已删0:未删int no; //学号char name[10]; //学生姓名char yuanxi[15]; //院系int ex;int borbook[Max3];//所借图书public:student() {}char *get_name() {return name;} //获取姓名char *get_yuanxi(){return yuanxi;} //获取院系int get_tb() {return tb;} //获取删除标记int get_no() {return no;} //获取学号int getex(){return ex;}void set_name(char na[]) //设置学生姓名{strcpy(name,na);}void set_yuan(char yu[]) //设置学生所在院系{strcpy(yuanxi,yu);}void set_no(int n) //设置学号{no=n;}void delbook(){ tb=1; }//设置删除标记1:已删0:未删void addstudent(int n,int ex1,char *na,char *yu)//增加学生信息{tb=0;no=n;ex=ex1;strcpy(name,na);strcpy(yuanxi,yu);for(int i=0;i<Max3;i++)borbook[i]=0;}void borrowbook(int bookid)//借书操作{for(int i=0;i<ex;i++){if (borbook[i]==0){borbook[i]=bookid;return;}}}int retbook(int bookid)//还书操作{for(int i=0;i<Max3;i++){if(borbook[i]==bookid){borbook[i]=0;return 1;}}return 0;}void out()//输出学生信息{cout <<"学号:"<< setw(5) << no <<"姓名:"<<setw(10) << name<<"院系:"<<setw(10)<<yuanxi<<"最大借书量:"<<setw(10)<<ex<<"图书号:[";for(int i=0;i<ex;i++)if(borbook[i]!=0)cout << borbook[i] << "|";cout << "]"<<endl;}};//学生类库,用来建立学生的个人资料class studentbase{private:int top; //学生记录指针student read[Max1];//学生记录public:studentbase() //构造函数,将student.txt读到read[]中{student s;top=-1;fstream file("student.txt",ios::in);//打开一个输入文件while (1){file.read((char *)&s,sizeof(s));if (!file)break;top++;read[top]=s;}file.close(); //关闭student.txt}void clear()//删除所有学生信息{top=-1;}int addstudent(int n,int ex1,char *na,char *yu)//添加学生时先查找此学生信息是否存在{student *p=query(n);if (p==NULL){top++;read[top].addstudent(n,ex1,na,yu);return 1;}return 0;}student *query(int kid)//按编号查找学生{for (int i=0;i<=top;i++)if (read[i].get_no()==kid &&read[i].get_tb()==0){return &read[i];}return NULL;}void disp() //输出所有学生信息{for (int i=0;i<=top;i++)if (read[i].get_tb()==0)read[i].out();}void studentdata();//学生库维护~studentbase() //析构函数,将read[]写到student.txt文件中{fstream file("student.txt",ios::out);for (int i=0;i<=top;i++)if (read[i].get_tb()==0)file.write((char *)&read[i],sizeof(read[i]));file.close();}};void studentbase::studentdata(){char choice;int ex2;char rname[20];char ryuan[20];int kid;student *r;while (choice!='0'){cout <<"\n\n\t\t\t学生资料库\n\n\n\t\t 1 新增\n\n\t\t 2 更改\n\n\t\t 3 删除\n\n\t\t 4 查找\n\n\t\t 5 显示\n\n\t\t 6 全删\n\n\t\t 0 退出"<<endl;cin >> choice;switch (choice){case '1':cout << "输入学号:";cin >> kid;cout <<"输入最大借书量:";cin>>ex2;cout << "输入学生姓名:";cin >> rname;cout<<"输入学生所在院系:";cin>>ryuan;addstudent(kid,ex2,rname,ryuan);break;case'2':cout << "输入学号:";cin >> kid;r=query(kid);if (r==NULL){cout << " 没有该学生信息!"<<endl;break;}cout << "输入新的学生姓名:";cin >> rname;r->set_name(rname);cout <<"输入新的学生院系:";cin >> ryuan;r->set_yuan(ryuan);break;case '3':cout << " 输入学号:";cin >> kid;r=query(kid);if (r==NULL){cout <<"没有该学生信息!" << endl;break;}r->delbook();break;case '4':cout << "输入学号:";cin >> kid;r=query(kid);if (r==NULL){cout <<"没有该学生信息!"<< endl;break;}r->out();break;case '5':disp();break;case '6':clear();break;default:cout<<"输入错误!请重新输入:";break;}}}//图书类,实现对图书的描述,图书的编号,书名,作者,出版社,数量,借出,还入等class Book{private:int tb;//删除标记1:已删0:未删int no;//图书编号char name[20];//书名char zuozhe[20];//作者char chubanshe[30];//出版社int number;//图书数量int onshelf;//是否再架1:再架2:已借public:Book(){}char *getname() { return name; }//获取书名int getno(){ return no; }//获取图书编号char *getzuozhe(){return zuozhe;}//获取作者char *getchubanshe(){return chubanshe;}//获取出版社int getnumber(){return number;}//获取图书数量int gettb(){ return tb; }//获取删除标记void setname(char na[])//设置书名{strcpy(name,na);}void setzuozhe(char zuo[]) //设置作者{strcpy(zuozhe,zuo);}void setchubanshe(char chu[]) //设置出版社{strcpy(chubanshe,chu);}void delbook(){ tb=1;}//删除图书void addbook(int n,char *na,char *zuo,char *chu)//增加图书{tb=0;no=n;strcpy(name,na);strcpy(zuozhe,zuo);strcpy(chubanshe,chu);onshelf=1;}int borrowbook()//借书操作{if (onshelf==1){onshelf=0;return 1;}return 0;}void retbook()//还书操作{onshelf=1;}void disp()//输出图书{cout << setw(6) << no << setw(18) << name << setw(10)<<(onshelf==1? "在架":"已借") <<endl;}};//图书库类,实现对图书的维护,查找,删除等class BDatabase{private:int top; //图书记录指针Book book[Max2]; //图书记录public:BDatabase()//构造函数,将book.txt读到book[]中{Book b;top=-1;fstream file("book.txt",ios::in);while (1){file.read((char *)&b,sizeof(b));if (!file) break;top++;book[top]=b;}file.close();}void clear()//全删{top=-1;}int addbook(int n,char *na,char *zuo,char *chu)//增加图书{Book *p=query(n);if (NULL==p){top++;book[top].addbook(n,na,zuo,chu);return 1;}return 0;}Book *query(int bookid)//查找图书{for (int i=0;i<=top;i++)if (book[i].getno()==bookid &&book[i].gettb()==0){return &book[i];}return NULL;}void bookdata();//图书库维护void disp(){for (int i=0;i<=top;i++)if (book[i].gettb()==0)book[i].disp();}~BDatabase()//析构函数,将book[]写到book.txt文件中{fstream file("book.txt",ios::out);for (int i=0;i<=top;i++)if (book[i].gettb()==0)file.write((char *)&book[i],sizeof(book[i]));file.close();}};void BDatabase::bookdata(){char choice;char bname[40];char bzuo[40];char bchu[40];int bookid;Book *b;while (choice!='0'){cout <<"\n\n\n\t\t\t图书资料库"<<endl<<endl;cout<<"\t\t1 新增\n \t\t2 更改\n\t\t3 删除\n\t\t4 查找\n\t\t5 显示\n\t\t6 全删\n\t\t0 退出"<<endl;cin >> choice;switch (choice){case '1':cout << "请输入图书编号:"<<endl;cin >> bookid;cout << "请输入图书书名:"<<endl;cin >> bname;addbook(bookid,bname,bzuo,bchu);break;case '2':cout << "请输入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout << " 没有此书!"<<endl;break;}cout << "请输入新的书名:"<<endl;cin >> bname;b->setname(bname);break;case '3':cout <<" 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout <<"没有此书!" << endl;break;}b->delbook();break;case '4':cout << " 读入图书编号:"<<endl;cin >> bookid;b=query(bookid);if (b==NULL){cout <<" 没有此书!"<< endl;break;}b->disp();break;case '5':disp();break;case '6':clear();break;default:cout<<"请重新选择:";}}}//main() 函数的实现,程序的主界面的引导void main(){char choice;int bookid,kid;studentbase ReaderDB;student *r;BDatabase BookDB;Book *b;while(choice!='0'){ge:cout <<endl<<endl<<"\t\t\t 图书管理系统\n\n\n";cout <<"\t\t\t1 学生\n\n\t\t\t2 图书管理员\n\n\t\t\t0 离开"<<endl;cin >> choice;switch (choice){case '1':int a;cout<<"\t\t\t 请选择操作:"<<endl;cout<<"\t\t\t1 借书\n\n\t\t\t2 还书\n\n\t\t\t3 查看借阅数目信息\n\n\t\t\t0 离开"<<endl;cin>>a;switch(a){case 1:cout <<" 学号:";cin >>kid;cout <<" 图书编号:";cin >>bookid;r=ReaderDB.query(kid);//按编号查找if (NULL==r){cout <<" 没有此学生信息!不能借书"<< endl;break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 没有此书!"<< endl;break;}if (b->borrowbook()==0){cout << " 该图书已借出,不能借书"<< endl;break;}r->borrowbook(b->getno());break;case 2:cout<<" 学号:";cin >>kid;cout << " 图书编号:";cin >>bookid;r=ReaderDB.query(kid);if (r==NULL){cout <<" 没有此学生信息!不能还书" << endl;break;}b=BookDB.query(bookid);if (b==NULL){cout <<" 不存在该图书,不能还书" <<endl;break;}b->retbook();r->retbook(b->getno());break;case 3:r->out();case 0:goto ge;default:cout<<"请重新选择:"<<endl;}case '2':int b,c;cout<<"请输入管理员密码:"<<endl;cin>>c;if(c==123456){cout<<"\t\t\t 请选择操作:"<<endl;cout<<"\t\t\t1 图书资料库\n\n\t\t\t2 学生资料库\n\n\t\t\t0 离开"<<endl;cin>>b;switch(b){case 1:BookDB.bookdata();break;case 2:ReaderDB.studentdata();break;case 0:goto ge;default:cout<<"请重新选择:";}}else{cout<<"密码不正确!"<<endl;break;}}}}。

c语言课程设计图书管理系统

c语言课程设计图书管理系统

c语言课程设计图书管理系统一、教学目标本课程的教学目标是使学生掌握C语言基础知识,学会使用C语言进行程序设计,能够运用C语言实现图书管理系统的功能。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,理解图书管理系统的业务流程和需求。

2.技能目标:学生能够运用C语言编写程序,实现图书管理系统的各个功能模块,如图书信息的添加、删除、修改和查询等。

3.情感态度价值观目标:培养学生对计算机编程的兴趣和热情,增强学生的自主学习能力和团队协作精神,使学生在解决实际问题时能够积极思考、勇于尝试。

二、教学内容本课程的教学内容分为五个部分:1.C语言基础知识:包括基本语法、数据类型、运算符、控制结构等。

2.函数与模块化编程:学习函数的定义、声明和调用,掌握模块化编程的方法和技巧。

3.图书管理系统需求分析:了解图书管理系统的业务流程,明确系统需求。

4.图书管理系统功能实现:使用C语言编写程序,实现图书管理系统的各个功能模块。

5.程序调试与优化:学习使用调试工具,掌握调试和优化程序的方法。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解C语言基本语法和概念,引导学生掌握知识要点。

2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题。

3.实验法:学生动手编写程序,实现图书管理系统的功能,培养实际操作能力。

4.讨论法:分组讨论问题,培养学生的团队协作能力和解决问题的能力。

四、教学资源本课程所需教学资源包括:1.教材:《C程序设计语言》或《C语言入门教程》等。

2.参考书:《C语言编程实例解析》、《C语言常用算法解析》等。

3.多媒体资料:教学PPT、视频教程、编程案例等。

4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)。

5.在线资源:编程论坛、博客、教程等。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答情况、团队合作表现等,占总评的30%。

c语言图书管理系统

c语言图书管理系统
rg.h.ah = 0;
int86(0x16, &rg,&rg);
return rg。h。ah;
}
int choose(int bot,int top)/*根据Y的值选择操作*/
{
int ky,y = 7;
gotoxy(30,bot);
do
{
ky = key();
switch(ky)
{
case Key_UP:
gotoxy(x + 1, y + high - 3);
for (i = 1; i < width - 1; i++)

putchar(0xc4);

gotoxy(x + width—1,y + high —1);
putchar(0xd9);
}
int key()/*读键盘*/

union REGS rg;
int halfw(int sum,bbasic binfo[100],char *find);
void sta();
void blist();
void bmoney();
int main(void)

menu();

void menu()

int y;
_window();/*显示窗口*/
words();/*显示菜单文字*/
gotoxy(30,16);
cprintf(”Book Statistic");
gotoxy(30,19);
cprintf(”Exit”);
gotoxy(35,22);
textcolor(LIGHTGRAY);

C语言图书信息管理系统

C语言图书信息管理系统

#include"stdio.h"#include"conio.h"#include"string.h"#include"stdlib.h"void enter(); /*声明输入函数*/void look(); /*声明查看函数*/void search_name(); /*声明按姓名查看函数*/int openl(); /*声明打开函数*/void save(); /*声明保存函数*/void del(); /*声明删除函数*/void see(); /*打开并查看文件函数*/void add(); /*追加图书信息*/void TSXX_out();void TSXX_back();struct tsxx /*定义学生信息的结构体类型*/{char tsn[15]; /*图书名*/char bh[15]; /*编号*/int pri; /*价格*/char zzn[10]; /*作者名*/int kc; /*库存*/int total; /*总量*/}ts[100];int n; /*声明一个全局变量*/int main() /*主函数即用户的操作界面*/{int b,flag=0; /*声明局部变量*/while(1) /*循环输出以下信息*/{printf("\n\t\t\t欢迎使用图书馆管理系统\n");printf("\n\t\t\t\t秦盛伟阮腾飞制作\n");printf("\t\t\t -------------------------------\n");printf("\t\t\t 1.图书信息输入\n\n"); /*键入学生的信息*/printf("\t\t\t 2.查看录入的图书信息\n\n"); /*查看录入的学生信息*/printf("\t\t\t 3.按书名查看图书的信息\n\n"); /*按姓名查看学生的信息*/printf("\t\t\t 4.删除图书信息\n\n"); /*删除学生信息*/printf("\t\t\t 5.添加图书信息\n\n");printf("\t\t\t 6.保存学生信息\n\n"); /*保存*/printf("\t\t\t 7.打开文件\n\n"); /*打开文件*/printf("\t\t\t 8.借出图书\n\n");printf("\t\t\t 9.归还图书\n\n");/*键入学生的信息*/printf("\t\t\t 0.退出\n\n"); /*退出*/printf("\t\t\t请输入你的选择:");scanf("%d",&b);switch(b){case 1:enter();break; /*调用键入学生信息函数*/case 2:look();break; /*调用查看函数*/case 3:search_name();break; /*调用姓名查看函数*/case 4:del();break;/*调用删除函数*/case 5:add();break;case 6:save();break;/*调用保存函数*/case 7:see();break;/*调用打开文件函数*/case 8:TSXX_out();break;case 9:TSXX_back();break;case 0:flag=1;break;/*退出SWITCH语句*/default :printf("错误!");}if(flag) break; /*如果选择0就退出循环*/}}void save() /*建立保存文件函数*/{system("CLS");FILE *fp; /*定义文件型指针*/int i;if((fp=fopen("ts.txt","wb"))==NULL) /*打开输出文件*/{printf("不能打开文件!\n");return; /*终止程序*/ }for(i=0;i<n;i++) /*向student文件中写入信息*/if(fwrite(&ts[i],sizeof(struct tsxx),1,fp)!=1)printf("文件写入错误\n");fclose(fp); /*关闭文件*/printf("\n\n\n\n\t\t\t图书信息保存成功!\n");printf("\n\n\n\n\t\t\t按任意键返回菜单!!");getch();}void enter() /*定义键入图书信息函数*/{system("CLS");int i; /*定义局部变量*/printf("\t\t输入需录入图书信息的个数:");scanf("%d",&n);for(i=0;i<n;i++) /*输入每个学生的信息*/{printf("\n\t\t\t----------------\n");printf("\t\t\t图书名称:");scanf("%s",ts[i].tsn); /*输入图书名*/printf("\t\t\t编号:");scanf("%s",ts[i].bh); /*输入编号*/printf("\t\t\t单价:");scanf("%d",&ts[i].pri); /*输入价格*/printf("\t\t\t作者:");scanf("%s",ts[i].zzn); /*输入作者名*/printf("\t\t\t总数:");scanf("%d",&ts[i].total);ts[i].kc=ts[i].total;}printf("\n\n\t\t\t按任意键返回菜单!!");getch();save();}void look() /*定义查看函数*/{system("CLS");int i;//n=openl(); /*调用openl函数*/printf("\t书名\t编号\t单价\t作者\t库存\n");for(i=0;i<n;i++) /*输出所有的学生信息*/{printf("%10s\t%s\t%2d\t%s\t%d\n",ts[i].tsn,ts[i].bh,ts[i].pri,ts[i].zzn,ts[i].kc);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}void search_name() /*按书名查看函数*/{system("CLS");int i;char name[20]; /*声明字符数组*/printf("\t\t\t请输入书名:\n");scanf("%s",name);printf("\t书名\t编号\t单价\t作者\t库存n");for(i=0;i<n;i++)if(strcmp(ts[i].tsn,name)==0) /*将输入的姓名与结构体中的姓名进行比较*/{printf("%10s\t%s\t%2d\t%s\t%d\n",ts[i].tsn,ts[i].bh,ts[i].pri,ts[i].zzn,ts[i].kc);printf("\n\n\n\t\t\t按任意键返回菜单");}getch();}void del() /*定义删除图书信息函数*/{int i;char a;char name[20];system("CLS");printf("\t\t\t输入图书名字:\n");scanf("%s",name);system("CLS");printf("\t书名\t编号\t单价\t作者\t库存\n");for(i=0;i<n;i++)if(strcmp(ts[i].tsn,name)==0){printf("%10s\t%s\t%2d\t%s\t%d\n",ts[i].tsn,ts[i].bh,ts[i].pri,ts[i].zzn,ts[i].kc);getch();printf("真的删除?(y or n)");getchar();scanf("%c",&a);if(a=='y') /*是否删除该信息*/{for(;i<n;i++)ts[i]=ts[i+1];n=n-1;printf("你已经删除信息");}elseprintf("退出");getch();}save();}int openl() /*定义打开文件函数*/{system("CLS");int i;FILE *fp;if((fp=fopen("ts.txt","rb"))==NULL){printf("Cannot open file.\n");exit(0);}for(i=0;!feof(fp);i++)fread(&ts[i],sizeof(struct tsxx),1,fp);fclose(fp);return(i-1);}void see() /*打开并查看文件*/{system("CLS");int i;n=openl();printf("文件打开成功!\n");printf("按任意键查看!\n");getch();printf("\t书名\t编号\t单价\t作者\t库存\n");for(i=0;i<n;i++) /*输出所有的学生信息*/{printf("%10s\t%s\t%2d\t%s\t%d\n",ts[i].tsn,ts[i].bh,ts[i].pri,ts[i].zzn,ts[i].kc);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}void add() /*定义键入学生信息函数*/{system("CLS");int i=1;while(i){printf("\n\t\t\t----------------\n");printf("\t\t\t书名:");scanf("%s",ts[n].tsn); /*输入学号*/printf("\t\t\t编号:");scanf("%s",ts[n].bh); /*输入姓名*/printf("\t\t\t单价:");scanf("%d",&ts[n].pri); /*输入性别*/printf("\t\t\t作者:");scanf("%s",ts[n].zzn); /*输入英语成绩*/printf("\t\t\t库存:");scanf("%d",&ts[n].kc); /*输入语文成绩*/n++;printf("是否继续添加?\n如果继续请键入1,否则键入0?\n");scanf("%d",&i);}printf("\n\n\t\t\t按任意键返回菜单!!");getch();save();}void TSXX_out(){int i,d;char name[15];char s[10];char num[30];n=openl();printf("请输入需要借阅的图书名称:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(ts[i].tsn,s)==0&&ts[i].kc>0){printf("姓名:");scanf("%s",name);printf("学号:");scanf("%s",num) ;printf("借阅天数:");scanf("%d",&d);ts[i].kc--;}else if(strcmp(ts[i].tsn,name)==0&&ts[n].kc==0)printf("此书已经全部借出.\n"); else printf("对不起,此书不存在.\n");}printf("\n\n\n\t\t\t按任意键返回菜单");getch();save_student();}save_student(){system("CLS");FILE *fp1; /*定义文件型指针*/int i;if((fp1=fopen("student.txt","wb"))==NULL) /*打开输出文件*/{printf("不能打开文件!\n");return; /*终止程序*/}for(i=0;i<n;i++) /*向student文件中写入信息*/if(fwrite(&ts[i],sizeof(struct tsxx),1,fp1)!=1)printf("文件写入错误\n");fclose(fp1); /*关闭文件*/printf("\n\n\n\n\t\t\t学生借阅图书信息保存成功!\n");printf("\n\n\n\n\t\t\t按任意键返回菜单!!");getch();}void TSXX_back(){int i;char d[15];n=openl();printf("请输入归还图书的编号");scanf("%s",d);for(i=0;i<n;i++){if(strcmp(ts[i].bh,d)==0){ts[i].kc++;}else printf("您输入的编号有误,请重新执行此程序或寻则其他操作.\n");}if(n!=-1&&ts[n].kc==ts[n].total)printf("全部入藏.\n");printf("\n\n\n\t\t\t按任意键返回菜单");getch();save();}。

c语言课程设计图书馆管理系统

c语言课程设计图书馆管理系统

c语言课程设计图书馆管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程基础,能够运用C语言设计简单的图书馆管理系统。

具体分为三个维度:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.技能目标:学生能够运用C语言进行程序设计,具备编写、调试和运行C语言程序的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力,培养学生的创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础,以及图书馆管理系统的项目实践。

具体安排如下:1.第一章:C语言概述,介绍C语言的历史、特点和基本语法。

2.第二章:数据类型和运算符,学习基本数据类型、字符串、运算符及其优先级。

3.第三章:控制结构,学习条件语句、循环语句和跳转语句。

4.第四章:函数,学习函数的定义、声明和调用,以及常用标准库函数。

5.第五章:数组和字符串,学习一维数组、多维数组、字符串的基本操作。

6.第六章:指针,学习指针的概念、运算和应用。

7.第七章:结构体和文件,学习结构体的定义和应用,以及文件的读写操作。

8.第八章:图书馆管理系统项目实践,运用所学知识设计并实现一个简单的图书馆管理系统。

三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.案例分析法:通过分析典型的图书馆管理场景,引导学生运用C语言进行程序设计。

3.实验法:让学生动手编写、调试和运行C语言程序,提高学生的实践能力。

4.小组讨论法:分组进行项目实践,培养学生的团队合作意识和问题解决能力。

四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言 Primer》(第五版)。

2.参考书:《C语言编程思想》、《C语言深度探索》。

3.多媒体资料:课件、教学视频、在线教程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.分类号:单位代码:本科毕业设计说明书C语言编写图书管理系统姓名李彬学号0114年级2008级本科3班专业机械设计制造及其自动化系(院)机械工程学院指导教师李培珍年月日目录第一部分.................................................. 错误!未定义书签。

职业生涯规划——十年创业路................................ 错误!未定义书签。

1前言................................................... 错误!未定义书签。

2自我剖析................................................ 错误!未定义书签。

3环境分析................................................ 错误!未定义书签。

3.1国家环境............................................. 错误!未定义书签。

3.2社会环境............................................. 错误!未定义书签。

3.3职业环境............................................. 错误!未定义书签。

3.4分析小结............................................. 错误!未定义书签。

4未来人生职业规划........................................ 错误!未定义书签。

5总结................................................... 错误!未定义书签。

第二部分.................................................. 错误!未定义书签。

C语言编写图书管理系统.................................... 错误!未定义书签。

摘要.................................................... 错误!未定义书签。

Abstract.................................................. 错误!未定义书签。

1需求分析................................................ 错误!未定义书签。

1.1 系统需求............................................ 错误!未定义书签。

1.2 功能分析............................................ 错误!未定义书签。

2系统功能模块结构图...................................... 错误!未定义书签。

2.1 系统调用的函数...................................... 错误!未定义书签。

2.2 图书管理系统模块.................................... 错误!未定义书签。

3 图书管理系统的结构...................................... 错误!未定义书签。

3.1 主函数流程图........................................ 错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

3.2 实体数据结构........................................ 错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

3.3 程序文件存储设计.................................... 错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

4 图书管理系统测试........................................ 错误!未定义书签。

4.1 测试过程............................................ 错误!未定义书签。

4.2 实验结果............................................ 错误!未定义书签。

4.3 系统缺陷............................................ 错误!未定义书签。

5出错处理................................................ 错误!未定义书签。

5.1 出错输出信息........................................ 错误!未定义书签。

5.2 出错处理对策........................................ 错误!未定义书签。

6安全设计................................................ 错误!未定义书签。

7 设计心得................................................ 错误!未定义书签。

参考文献............................................... 错误!未定义书签。

附录.................................................... 错误!未定义书签。

第一部分职业生涯规划——十年创业路1前言在今天这个人才竞争的时代,职业生涯规划开始成为在人争夺战中的另一重要利器。

对企业而言,如何体现公司“以人为本”的人才理念,关注员工的人才理念,关注员工的持续成长,职业生涯规划是一种有效的手段;而对每个人而言,职业生命是有限的,如果不进行有效的规划,势必会造成生命和时间的浪费。

作为当代大学生,若是带着一脸茫然,踏入这个拥挤的社会怎能满足社会的需要,使自己占有一席之地?因此,我试着为自己拟定一份职业生涯规划,将自己的未来好好的设计一下。

有了目标,才会有动力。

2自我剖析优点:做事仔细认真、踏实、有耐心、肯吃苦耐劳。

为人和蔼、友善、安分、忠实可靠、很好相处而且能以一种实事求是的态度接受他人的行为,但我需要基本的信任和理解。

总是避免矛盾,更在意维护人际关系。

只要可能,就会使自己适应他人的需要和期望。

缺点:性格偏内向,不太善于表达自己,语言表达还很欠缺。

交际能力较差,胆小,思想上属保守派,积极主动性不够。

有时偷懒,知识面不广,经验不足。

缺乏毅力、恒心有时多愁善感。

兴趣爱好:1.cad、PRO/E绘图。

2.看书。

3.编程。

4.听音乐。

3环境分析3.1国家环境机械自动化技术从上个世纪2O年代开始发展应用以来,已经得到了迅速的发展,特别是近年来计算机的高度集成化,开始采用了计算机集成制造系统,大大加快了机械自动化的发展,但我国仍处于初级操作阶段的自动化。

我国机械制造业目前有1 1.4万个企业,发展很不平衡,有大量落后于现代水准的产业,大部分企业还比较落后,手工劳动占有相当的比重,我国能独立开发现代机械自动化技术的企业可以说没有;我国机械制造业企业中自动化装备少、水准低,不仅在数量上同世界先进国家有较大差距,而且在品种上、质量上、使用上,同世界先进水准也存在阶段性差距。

实现我国机械自动化技术是一个长期的过程,不可能一蹴而就,需要循序渐进,不断努力,创造条件,向自动化的高级理想阶段迈进。

3.2社会环境国产造型生产线因产品质量差、可靠性低、实用性差,开工率一般仅在50%~60%。

而能在生产中长期服役的主力生产线很少,像第一汽车制造厂的01线、第二汽车制造厂的BMD线等具有全年开工业绩的线更是风毛麟角。

这种现象不属偶然或局部,而是带有普遍性。

据调查,我国引进的弧焊机器人,完全正常运转、充分发挥效益的只占1/3,另外1/3处于负荷不满或不能完全正常运转状态:还有1/3不能正常使用,直接影响了用户使用更多机器人的信心。

所以,我国现在需要自动化控制方面的人才,以提高利用率、生产率。

3.3职业环境由于大力发展工业自动化是加快传统产业改造提升、提高企业整体素质、提高国家整体国力、调整工业结构、迅速搞活大中型企业的有效途径和手段,国家将继续通过实施一系列工业过程自动化高技术产业化专项,用信息化带动工业化,推动工业自动化技术的进一步发展,加强技术创新,实现产业化,解决国民经济发展面临的深层问题,进一步提高国民经济整体素质和综合国力,实现跨越式发展。

此时很多企业都需要自动化控制方面的人才。

3.4分析小结前景是乐观的,但是经济的发展和全球化的到来必将导致人才精英化,这就需要我更加努力学习与专业相关的拓展知识,完善自己,让自己更容易融入社会,融入工作。

4未来人生职业规划技术学习期:对于我们刚毕业的大学生来说,最缺乏的应该就是动手操作的能力了,也就是技术!所以,毕业后先学一门技术在这个高速发展的社会里是刻不容缓的。

我需要三年的时间去学习一门技术,这不仅会是为了未来的生活,我还必须根据自己的知识去完善它,让它成为我自己的技术。

经验累积期:在这个时期,我已经可以独立工作,并且还要多学习经验,多与同行师傅学习。

并且要学习企业管理,为以后的创业打下坚实的基础。

这个时期我定为五年。

自主创业期:在这个时期,我已经学习到了技术,积累了经验,有了广阔的人际关系和丰富的管理知识。

我需要的是拼搏。

在未来的两年,我会用我积攒的知识、技术、资金和人脉组成一个二十人左右的团队,走上我的创业路。

创业的路一定是艰辛的,一定会遇到各种各样的问题,我会在接下来的两年里不断改善我的团队,发展她……5总结通过规划,我清楚地认识了自己,确立了自己的努力方向和职业定位,这样就可以使自己保持平稳和正常的心态,按照目标和理想有条不紊、循序渐进地努力。

当然,计划虽好,最重要的还是在于其具体的实践和所取得的成效。

任何目标,只说不做到头来都会是一场空。

然而现实是未知多变的,定出的计划随时都会遭遇问题,这就要求我们有清醒的头脑,客观的分析和全面的认知。

每个人都有自己的理想信念,抱负和追求,每个人都渴望成功,但在此过程中我们必须坚持信念,必须持之以恒,必须脚踏实第二部分C语言编写图书管理系统摘要论文主要讲述的是用C语言编写图书管理系统。

相关文档
最新文档