问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C程序课程设计-图书管理系统

发布网友 发布时间:2022-05-15 14:30

我来回答

1个回答

热心网友 时间:2023-10-27 21:32

#include "stdio.h"
#include<graphics.h>
#include "conio.h"
#include<stdlib.h>
#include<string.h>
#include "tp.h"
#include<mouse.h>
#include<bios.h>
FILE *fp,*p ;
void *buf=NULL;

void main()
{ void adm1(),adm2(),build(),huan(),borrow(),dele(),kaiji();
void anniu(int x1,int y1,int x2,int y2,int color,char *f);
void no();
int d=VGA,m=VGAHI;
initgraph(&d,&m,"");
setmouse(0,629,0,459);
settextstyle(3,0,1);
kaiji();
buf=jiantou(buf);
adm1();
adm2();
}

void adm1()
{ char adp[20],password[20];
int i,n=0;
textbackground(2);
cleardevice();
fp=fopen("pass","r");
if(fp==NULL) { outtext("no exit ");getch();exit(0);}
for(;;)
{ setcolor(2);
anniu(150,1,300,20,0," ");
setcolor(15);
outtext("input password:");
gotoxy(20,1);

gets(adp);
for(i=0;adp[i]!='\0';i++);
if(i==0) exit(0);
fgets(password,i+1,fp);
if(strcmp(password,adp)==0) { cleardevice();outtext("YES");getch();adm2();}
else{ n++;
cleardevice();outtext("error");
for(i=0;i<10;i++) delay(8000);
if(n==2) { cleardevice(); outtext("once again");for(i=0;i<=10;i++) delay(8000);}
if(n==3) { cleardevice(); outtext("3 second out");for(i=0;i<=10;i++) delay(8000);
exit(0);
}
}
fclose(fp);cleardevice();

}
}
void adm2()
{
char a;
int i,j,x,y;
clrscr();
cleardevice();
for(;;)
{ setbkcolor(6);
setcolor(2);
cleardevice();
anniu(12,40,190,70,15,"built a user (B)");
setcolor(2);
anniu(12,90,190,120,15,"return book (R)");
setcolor(2);
anniu(12,140,190,170,15,"borrow books (J)");
setcolor(2);
anniu(12,190,190,220,15,"delete user (D)");
setcolor(2);
anniu(12,240,190,270,15,"exit (E)");
do{

do{
i=readmouse(&x,&y,buf,1);
r.h.ah=1;
int86(0x16,&r,&r);
j=r.h.ah;
if(j!=0) switch(j){
case 0x30:a='b';break;
case 0x13:a='r';break;
case 0x24:a='j';break;
case 0x20:a='d';break;
case 0x12:a='e';break;
}
} while(i!=1&&j==0);
if((x>12&&x<190&&y>40&y<70&&i==1)||a=='b') { setcolor(2);
anniu(12,40,190,70,2,"built a user (B)");
delay(80000);
build();
}
if((x>12&&x<190&&y>90&y<120&&i==1)||a=='r') { setcolor(2);
anniu(12,90,190,120,2,"return book (R)");
delay(80000);
huan();
}
if((x>12&&x<190&&y>140&y<170&&i==1)||a=='j') {setcolor(2);
anniu(12,140,190,170,2,"borrow books (J)");
delay(80000);
borrow();
}
if((x>12&&x<190&&y>190&y<220&&i==1)||a=='d') { setcolor(2);
anniu(12,190,190,220,2,"delete user (D)");
delay(80000);
dele();
}
if((x>12&&x<190&&y>240&y<270&&i==1)||a=='e') {setcolor(2); anniu(12,240,190,270,2,"exit (E)");
closegraph();
showBMP("zz.bmp");
for(i=0;i<100;i++)delay(10000);
exit(0);
}
i=0;j=0;
}while(i==0&&j==0);

}

}
void anniu(int x1,int y1,int x2,int y2,int color,char *f)
{ setfillstyle(1,color);
rectangle(x1,y1,x2,y2);
floodfill(x1+1,y1+1,2);
setcolor(1);
outtextxy(20,y1+10,f);
}

void build()
{ FILE *f;
char id[20],name[20],sex[2],age[3],grad[50];
cleardevice();
printf("ID number:");
scanf("%s",id);
printf("name:");
scanf("%s",name);
printf("sex:");
scanf("%s",sex);
printf("grad:");
scanf("%s",grad);
p=fopen(id,"w+");
if(p==NULL) { no("can't build it");getch();adm2();}

fprintf(p,"%s ",name);
fprintf(p,"%s ",id);
fprintf(p,"%s ",sex);
fprintf(p,"%s ",grad);
no("bulid success");
getch();
fclose(p);
adm2();
}

void huan()
{
FILE *fp,*p;
char id[20],a[5][50],name[20],c;
int i=0,m,k;
cleardevice();
printf("input ID number:");
scanf("%s",id);
p=fopen(id,"r");
if(p==NULL) { no("user no exit");getch();fclose(p);adm2();}
fscanf(p,"%s",name);
fclose(p);
fp=fopen(name,"r");
while(!feof(fp)){ fscanf(fp,"%s",a[i++]); }

for(k=0;k<i-1;k++) printf("\nbook %d: %s",k+1,a[k]);
fclose(fp);
p=fopen(name,"w+");
for(;;)
{
printf("\n\npress the book number that you want to return. \n\nPress 6 if you want to return all. \n\npress 7 to cancle.\n");
scanf("%d",&m);
if(m==7)
{ for(k=0;k<i-1;k++)
{
fprintf(p,"%s ",a[k]);
}
fclose(p);
adm2();
}
if(m==6) remove(name);
if(m<6)
{
for(k=0;k<i-1;k++)
{ if(k!=m-1)
fprintf(p,"%s ",a[k]);
}
printf("book %d has returned.",m);
}
printf("\ncontinue? (Y/N)");
c=getch();
if(c=='y') continue;
if(c=='n') { fclose(p);adm2(); }
}
}

void borrow()
{ FILE *f,*m,*p;
char id[20],book[5][50],name[20],c;
int i=0,n=0,k;
window(1,1,80,25);cleardevice();
printf("please input the user's ID:");
scanf("%s",id);
m=fopen(id,"r");
if(m==NULL) {no("user no exit"); getch();fclose(m);adm2();}
fscanf(m,"%s",name);
fclose(m);
p=fopen(name,"r");
if(p==NULL);
else
{ while(!feof(p))
{
fscanf(p,"%s",book[i]);
i++;
}
i--;
for(k=0;k<i;k++) printf("\nbook %d :%s",k+1,book[k]);
}
fclose(p);
f=fopen(name,"w");
printf("\nhow many book do you want to borrow? <=4:");
do{printf("\ninput:");scanf("%d",&n); }while(i+n>=5);
for(k=i;k<i+n;k++)
{ printf("\nbook %d :",k+1);
gets(book[k]);
}
for(k=0;k<i+n;k++) fprintf(f,"%s\n",book[k]);
fputc('\0',f);
printf("success");
fclose(f);adm2();

}
void kaiji()
{ int i,j;
char a[20]="BOOK software";
setbkcolor(0);
for(i=0;i<=50;i++)
{
cleardevice();
setcolor(i/2);
line(50,100,50,350);
line(200,100,200,350);
line(350,100,350,350);
/*arc(125, 100, 0, 180,75);画圆弧*/
ellipse(125, 100, 0, 180,75,40);/*椭圆*/
ellipse(275, 100, 0, 180,75,40);
ellipse(275, 350, 0, 180,75,40);
ellipse(125, 350, 0, 180,75,40);
settextstyle(3,0,4);
outtextxy(380,145+i,a);
settextstyle(1,0,1);
outtextxy(450,450,"procer: fuquan");
for(j=0;j<5;j++) delay(5000);
}

}

void dele()
{ FILE *fp,*f;
char id[20],a[4][20],c,b[5][50];
int i=0,j=0,k;
window(1,1,80,25);cleardevice();
printf("Input ID number:");
scanf("%s",id);
fp=fopen(id,"r");
if(fp==NULL) { no("user no exit");getch(); fclose(fp);adm2();}
else while(!feof(fp))
{ fscanf(fp,"%s",a[i++]);}
printf("\nname: %s",a[0]);
printf("\nID: %s",a[1]);
printf("\nsex: %s",a[2]);
printf("\ngrad: %s",a[3]);
f=fopen(a[0],"r");
if(f==NULL);
else {
while(!feof(f))
{ fscanf(f,"%s",b[j++]);}
for(k=0;k<j-1;k++) printf("\nbook %d: %s",k+1,b[k]);
}
printf("\nDo you want to delete? (Y/N): ");
c=getch();
fclose(fp);
fclose(f);
if(c=='y') { remove(id);remove(a[0]);no("success");getch();adm2();}
if(c=='n') adm2();
}

void no(char *f)
{ setfillstyle(1,3);
rectangle(260,200,390,220);
floodfill(301,201,1);
setcolor(1);
outtextxy(270,200,f);
}


先在当前目录下创建一个文件名为pass的文件
输入密码;
然后运行
放到turbo c的bgi文件夹里运行就ok了
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
土茯苓金银花泡水喝的功效与作用土茯苓金银花泡水喝的作用与功效_百度... 问:山楂,黄芪,胖大海,茯苓,金银花在一起泡水喝,解决什么问题呢? 农行掌上银行事什么 左脚板底痛是什么原因 面红耳赤是形容词还是名词? 暗区突围看子弹等级方法 暗区突围子弹怎么分等级 教你正确区分子弹等级 如何使用Word把一堆文字转换成表格 ...长十二米宽十八米用边长四十厘米的地砖铺满舞蹈室的整个地面至少需要... 新版qq怎么不能上传照片了,你们有这种情况吗? C语言课程设计~~~ 要求编写一段程序,题目是《校际运动会管理系统》 数据结构课程设计(学生证管理程序) C语言课程设计-学生成绩管理程序 我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家 帮帮忙 编写一个工资管理的程序。 穿aj1有什么要注意的 数据结构的课程设计。求高手指教~~~编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。 求用C语言编写一个简单的学生信息管理程序和课程设计报告 那位高手帮帮忙,帮我设计一个程序。用C语言编写 题目是《课程信息管理》。 aj1高帮 脚塞不进去 利用C语言设计简单课表生成程序 急! 新版本的王者荣耀哪个法师最厉害? 王者荣耀的法师那个厉害 王者什么法师打adc最厉害 基因表达载体应如何构建? 不可抗力U盘视频用什么软件打开 后缀是Quick TimeH.264.mp4 王者荣耀怎么设置二级密码 二级密码设置步骤 U盘里文件出现后缀名怎么办? 梦幻手游特殊符号连笔英文名字 飞车手游改名名字上有斜杠 要怎么把视频下载到U盘。 C语言课程设计 酒店管理程序 我们老师让我们用python做一个课程设计 我想做一个关于成绩管理的程序 跪求数据结构课程设计学生成绩管理的程序 公司可以与未毕业的学生签劳动合同吗? 我住的是100%产权的企业集资建房。合同书中已标明交纳了2089元的维修基金,还需要交纳住房维修专项资金吗 如何搞好常用检修工具的管理工作 ...和行间距有什么区别?设置段前段后距离1行是什么意思? 海事局属于什么部门管理? 海洋环境保*里的海事行政主管部门指哪几个部门?环保方面海事部门和交通部门的海事管理机构有啥不一样 海事局哪个部门相对较好? 海洋行政主管部门和海事行政主管部门的区别? 国考报名海关和海事局这两个单位有什么不一样吗 打开网页新页面后系统马上弹出一个窗口点击后关闭 负责所辖港区水域内非军事船舶和港区水域外非渔业、非军事船舶污染海洋环境的监督管理,并负责污染事故 国美金融贷款平台是骗人的,真正的国美金融没有贷款的,大家要小心? 高压熔断器的主要功能是什么?什么是限流熔断器? 银行有十五万定期存款,可以申请信用卡吗 后背肉厚是什么原因 有银行很多存款可以办理高额信用卡吗 高压熔断器的工作电压在多少伏之间?
  • 焦点

最新推荐

猜你喜欢

热门推荐