c语言图书管理系统代码和课程报告书内容摘要:
(pause)。 return。 } printf(\n 你需要借阅的图书是: \n)。 printf(书名 编号 作者 价格 出版社 类别 原始库存 借出 \n)。 printf(%10s%10s%10s%%10s%10s%10d%4d\n,,ress,)。 if(==){ printf(\n 该册图书已全部借出。 正在退出 \n)。 system(pause)。 return。 } printf(\n 请输入你的学号: )。 scanf(%s,xnum)。 j=0。 fread(amp。 jie,sizeof(ji),1,fpj)。 while(!feof(fpj)){ if((strcmp(,num)==0)amp。 amp。 (strcmp(,xnum)==0)){ j=1。 break。 } fread(amp。 jie,sizeof(ji),1,fpj)。 } if(j==1){ printf(\n 你已经借阅过该书 正在退出 \n)。 system(pause)。 return。 } fread(amp。 stu,sizeof(st),1,fps)。 j=0。 while(!feof(fps)){ if(strcmp(xnum,)==0){ j=1。 break。 } fread(amp。 stu,sizeof(st),1,fps)。 } if(j==0){ printf(\n 你是第一次借阅图书,为了方便管理请输入你的姓名: )。 16 scanf(%s,)。 strcpy(,xnum)。 =1。 fseek(fps,0,2)。 fwrite(amp。 stu,sizeof(st),1,fps)。 } else{ if(==5){//这里可以控制每个学生最多借几本书 printf(\n 你已经借了 5 本书,不能再借 \n)。 system(pause)。 return。 } p=fopen(d:\\,wb+)。 rewind(fps)。 fread(amp。 stu,sizeof(st),1,fps)。 while(!feof(fps)){ if(strcmp(xnum,)==0) ++。 fwrite(amp。 stu,sizeof(st),1,p)。 fread(amp。 stu,sizeof(st),1,fps)。 } fclose(p)。 fclose(fps)。 p=fopen(d:\\,rb+)。 fps=fopen(d:\\,wb+)。 fread(amp。 stu,sizeof(st),1,p)。 while(!feof(p)){ fwrite(amp。 stu,sizeof(st),1,fps)。 fread(amp。 stu,sizeof(st),1,p)。 } } strcpy(,num)。 strcpy(,xnum)。 fseek(fpj,0,2)。 fwrite(amp。 jie,sizeof(ji),1,fpj)。 rewind(fp)。 p=fopen(d:\\,wb+)。 fread(amp。 boo,sizeof(bo),1,fp)。 while(!feof(fp)){ if(strcmp(num,)==0) ++。 fwrite(amp。 boo,sizeof(bo),1,p)。 fread(amp。 boo,sizeof(bo),1,fp)。 } fclose(p)。 p=fopen(d:\\,rb+)。 17 fclose(fp)。 fp=fopen(d:\\,wb+)。 fread(amp。 boo,sizeof(bo),1,p)。 while(!feof(p)){ fwrite(amp。 boo,sizeof(bo),1,fp)。 fread(amp。 boo,sizeof(bo),1,p)。 } printf(\n 借阅成功。 回到主菜单 )。 system(pause)。 } void huan(){//归还图书 FILE *p。 bo boo。 ji jie。 st stu。 int j=0。 char snum[10],bnum[10]。 i=0。 printf(\n 请输入你的学号: )。 scanf(%s,snum)。 printf(\n 你借阅了以下图书 \n)。 fread(amp。 jie,sizeof(ji),1,fpj)。 printf(书名 编号 作者 价格 出版社 类别 原始库存 借出 \n)。 while(!feof(fpj)){ if(strcmp(,snum)==0){ fread(amp。 boo,sizeof(bo),1,fp)。 while(!feof(fp)){ if(strcmp(,)==0){ printf(%10s%10s%10s%%10s%10s%10d%4d\n,,ress,)。 j=1。 } fread(amp。 boo,sizeof(bo),1,fp)。 } } fread(amp。 jie,sizeof(ji),1,fpj)。 } if(j==0){ printf(\n 你没有借阅任何图书。 \n\n 正在退出 )。 system(pause)。 return。 } rewind(fp)。 18 rewind(fpj)。 printf(\n 请输入你归还的图书的编号: )。 scanf(%s,bnum)。 fread(amp。 jie,sizeof(jie),1,fpj)。 //改变 里的数据 p=fopen(d:\\,wb+)。 while(!feof(fpj)){ if((strcmp(,bnum)==0)amp。 amp。 (strcmp(,snum)==0)) i=1。 else fwrite(amp。 jie,sizeof(jie),1,p)。 fread(amp。 jie,sizeof(jie),1,fpj)。 } if(i==0){ printf(\n 你没有借过该图书 \n 正在退出 )。 system(pause)。 return。 } fclose(p)。 fclose(fpj)。 p=fopen(d:\\,rb+)。 fpj=fopen(d:\\,wb+)。 fread(amp。 jie,sizeof(ji),1,p)。 while(!feof(p)){ fwrite(amp。 jie,sizeof(ji),1,fpj)。 fread(amp。 jie,sizeof(ji),1,p)。 } fclose(p)。 //改变 里的数据 p=fopen(d:\\,wb+)。 fread(amp。 boo,sizeof(bo),1,fp)。 while(!feof(fp)){ if(strcmp(bnum,)==0)。 fwrite(amp。 boo,sizeof(bo),1,p)。 fread(amp。 boo,sizeof(bo),1,fp)。 } fclose(p)。 p=fopen(d:\\,rb+)。 fclose(fp)。 fp=fopen(d:\\,wb+)。 fread(amp。 boo,sizeof(bo),1,p)。 while(!feof(p)){ fwrite(amp。 boo,sizeof(bo),1,fp)。 fread(amp。 boo,sizeof(bo),1,p)。 } fclose(p)。 //改变 里的数据 19 p=fopen(d:\\,wb+)。 rewind(fps)。 fread(amp。 stu,sizeof(st),1,fps)。 while(!feof(fps)){ if(strcmp(snum,)==0)。 fwrite(amp。 stu,sizeof(st),1,p)。 fread(amp。 stu,sizeof(st),1,fps)。 } fclose(p)。 fclose(fps)。 p=fopen(d:\\,rb+)。 fps=fopen(d:\\,wb+)。 fread(amp。 stu,sizeof(st),1,p)。 while(!feof(p)){ fwrite(amp。 stu,sizeof(st),1,fps)。 fread(amp。 stu,sizeof(st),1,p)。 } printf(\n 归还成功。 回到主菜单 )。 system(pause)。 } void cha(){//借阅查询 char num[10]。 bo boo。 ji jie。 printf(\n 请输入你的学号: )。 scanf(%s,num)。 fread(amp。 jie,sizeof(ji),1,fpj)。 printf(书名 编号 作者 价格 出版社 类别 原始库存 借出 \n)。 while(!feof(fpj)){ if(strcmp(,num)==0){ fread(amp。 boo,sizeof(bo),1,fp)。 while(!feof(fp)){ if(strcmp(,)==0) printf(%10s%10s%10s%%10s%10s%10d%4d\n,,ress,)。 fread(amp。 boo,sizeof(bo),1,fp)。 } } fread(amp。 jie,sizeof(ji),1,fpj)。 } printf(\n 查询完毕。 回到主菜单 )。 system(pause)。 } 20 main(){ if((fp=fopen(d:\\,rb+))==NULL){ printf(在 d 盘 根目录下没有找到储存图书信息的 文件 \n 请选择 1手动导入。 2创建此文件 \n)。 scanf(%d,amp。 xuan)。 switch(xuan){ case 2:if((fp=fopen(d:\\,wb+))!=NULL) printf(创建成功 \n\n)。 break。 case 1:printf(请把名为 的文件复制到 d 盘 根目录下 \n\n)。 } } if((fpj=fopen(d:\\,rb+))==NULL){ printf(在 d 盘 根目录下没有找到储存借阅信息的 文件 \n 请选择 1手动导入。 2创建此文件 \n)。 scanf(%d,amp。 xuan)。 switch(xuan){ case 2:if((fpj=fopen(d:\\,wb+))!=NULL) printf(创建成功 \n\n)。 break。 case 1:printf(请把名为 的文件复制到 d 盘 根目录下 \n\n)。 } } if((fps=fopen(d:\\,rb+))==NULL){ printf(在 d 盘 根目录下没有找到储存学生信息的 文件 \n请选择 1手动导入。 2创建此文件 \n)。 scanf(%d,amp。 xuan)。 switch(xuan){ case 2:if((fps=fopen(d:\\,wb+))!=NULL) printf(创建成功 \n\n)。 break。 case 1:printf(请把名为 的文件复制到 d 盘 根目录下 \n\n)。 } } menu()。 printf(\n 代 码 :)。 scanf(%d,amp。 xuan)。 while(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){ fp=fopen(d:\\,rb+)。 fps=fopen(d:\\,rb+)。 fpj=fopen(d:\\,rb+)。 switch(xuan){ c。c语言图书管理系统代码和课程报告书
相关推荐
void menu1()。 void num1() { int b。 INF A[20]。 char ch1。 char ch2。 char ch3。 FILE *fp。 int j。 int i=0。 L: printf(******* *******\n)。 printf(\n)。 printf(******* *******\n)。 scanf(%d,amp。 b)。 if(b==1) M
24 6 课程心得总结 通过这次亲自动手编写 C语言图书管理系统,从中收获了很多。 很多学过的知识得以巩固,对链表、数组指针、结构体等知识有了更深一步的了解。 编写的过程中我也借鉴别人设计的一些程序,从中发现了自己的一些不足,在构建框架 和编写源程序上面的一些问题。 在源程序编写好后,对源程序的检测花费了我很多时间,这也算是锻炼了我的耐心。
printf( %s\t,stu[i].name)。 printf(%s\t,stu[i].sex)。 printf(%4d\t%4d\t%4d\t%4d%8d\n,stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].total,stu[i].average)。 } } void sort(struct student stu[]) { int i
binfo),sizeof(bbasic),1,fp) != 1) { printf(cannot save the data.)。 } } p2 next = NULL。 fclose(fp)。 return head。 } void modify() { struct linklist* p,*head。 char find[30]。 int i,ky,sum。 FILE *fp。 p=
printf(价格 :)。 scanf(%f,equ[i].price)。 break。 case 5: printf(购入时间 :)。 scanf(%s,equ[i].indate)。 break。 case 6: printf(是否报废 :)。 scanf(%s,equ[i].out)。 break。 case 7: printf(报废时间 :)。 scanf(%s,equ[i]
的损坏,我们不承担任何责任。 EAC 学生信息管理系统 6 三、数据库的设计 表的设计 在这里创建了 admin(用户表) 表,该表是用来管理本软件的管理员的。 在这里有资 料的用户 可以对系统里的数据进行任何操作,所以应尽量避免管理员的使用。 图 admin表 Class(班级 )表的创建 : 图 class表 College(分院)表的创建: 管理员 用 户 编 号 昵称 密码 权限 用户名