没有合适的资源?快使用搜索试试~ 我知道了~
C语言作业_图书信息管理系统_最终源代码分享.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 76 浏览量
2021-12-17
13:00:37
上传
评论
收藏 47KB PDF 举报
温馨提示
试读
38页
C语言作业_图书信息管理系统_最终源代码分享.pdf
资源推荐
资源详情
资源评论
C语言 图书信息管理系统 最终源代码
中荷生医
#include<stdio.h>
#include"string.h"
struct book /* book2 是用来装用户要录入图书的信息 */
{long num,time;
char name[12],writer[12],fenlei[8],danwei[10];
int pay;
}stu[100];
struct book1
{long num,time;
char name[12],writer[12],fenlei[8],danwei[10];
int pay;
}stu1[100];
struct book2 /* book 是用来装 cc.dat 文件中的图书信息 */
{long num,time;
char name[12],writer[12],fenlei[8],danwei[10];
int pay;
}stu2[100];
denglu()
{
char a[15]="drzhang",b[15]="29257966",c[15],d[15];
L3:
system("cls");
printf(" 欢 迎 登 陆 图 书 管 理 系 统
");
printf(" 请输入姓名: ");
gets(c);
printf(" 请输入密码: ");
gets(d);
if(strcmp(a,c)==0&&strcmp(b,d)==0)
return 0;
else
{printf(" 输入错误请重新输入 ");
printf("1. 重新输入 2.退出系统 ");
printf(" 请输入 .....");
switch(getch())
{case 49: goto L3;break;
default: return 56;break;
}
}
}
/* 此功能实现的是 开始菜单 的显示和具体功能的选择 */
start()
{
printf("****************************** 欢 迎 使 用 图 书 管 理 系 统
******************************");
printf("* 功 能 目 录 :
*");
printf("* ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*");
printf("* ||
|| *");
printf("* || 1、图书查询 2、图书浏览 3、录入图书 4、删除与修改 5、备份与还原
|| *");
printf("* ||
|| *");
printf("* ||
|| *");
printf("* ||
|| *");
printf("* ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*");
printf("* 使用说明:如要选择“图书查询” ,直接输入: 1 退出: 0
*");
printf("*************************************************************************
*******");
printf(" 你想要做什么: ");
return getch(); /* 输入选择对应功能的值 ,返回输入的值, 即:用于判断选择的功能 */
}
/* 实现备份功能,以防图书信息出错带来的麻烦,不必看懂 */
beifen()
{FILE *fp1,*fp2;
int i,a;
jieshuo();
system("cls");
printf("\n\n 请选择 \\ 备份( B)| 浏览备份( L) / \\ 还原( H) / \\ 退出
(Q) / \n");
switch(getch())
{case 'B':
case 'b':
if((fp1=fopen("cc","r"))==NULL)
{printf(" 不能打开次文件 \n");exit(0);}
if((fp2=fopen("cc01","w"))==NULL)
{printf(" 不能打开次文件 \n");exit(0);}
fscanf(fp1,"%d",&a);
fprintf(fp2,"%d\n",a);
printf("\n\n 确认备份吗? (Y/N)");
switch(getch())
{case 'Y':
case 'y':for(i=0;i<a;i++)
{fscanf(fp1,"%ld %s %s %s %s %ld %d",&stu[i].num,stu[i].name,stu[i].writer,stu[i].fenlei,stu[i]
.danwei,&stu[i].time,&stu[i].pay);
fprintf(fp2,"%ld\t%s\t%s\t%s\t%s\t%ld\t%d\n",stu[i].num,stu[i].name,stu[i].writer,stu[i].fenlei,st
u[i].danwei,stu[i].time,stu[i].pay);
}
printf("\n\n 备份成功!\n\n 是否打开浏览备份文件? (Y/N)");
switch(getch())
{case 'Y':
case 'y':fclose(fp1);fclose(fp2);liulan02();break;
case 'N':
case 'n':break;
}
break;
case 'N':
case 'n':break;
}
fclose(fp1);
fclose(fp2);
break;
case 'H':
case 'h':
if((fp1=fopen("cc01","r"))==NULL)
{printf(" 不能打开此文件 \n");exit(0);}
if((fp2=fopen("cc","w"))==NULL)
{printf(" 不能打开此文件 \n");exit(0);}
fscanf(fp1,"%d",&a);
fprintf(fp2,"%d\n",a);
printf("\n\n 确认还原吗? (Y/N)");
switch(getch())
{case 'Y':
case 'y':for(i=0;i<a;i++)
{fscanf(fp1,"%ld %s %s %s %s %ld %d",&stu[i].num,stu[i].name,stu[i].writer,stu[i].fenlei,stu[i]
.danwei,&stu[i].time,&stu[i].pay);
fprintf(fp2,"%ld\t%s\t%s\t%s\t%s\t%ld\t%d\n",stu[i].num,stu[i].name,stu[i].writer,stu[i].fenlei,st
u[i].danwei,stu[i].time,stu[i].pay);
}
printf("\n\n 还原成功!\n\n 是否打开浏览还原文件? (Y/N)");
switch(getch())
{case 'Y':
case 'y':fclose(fp1);fclose(fp2);liulan();break;
case 'N':
case 'n':break;
}
break;
case 'N':
case 'n':break;
}
fclose(fp1);
fclose(fp2);break;
case 'l':
case 'L':liulan02();break;
case 'Q':
case 'q':break;
}
}
/* 在屏幕上打印 查询菜单 */
chaxun()
{
jieshuo();
system("cls");
printf("****************************** 欢 迎 使 用 图 书 查 询 系 统
******************************");
printf("* 查 询 方 式 :
*");
printf("*
*");
printf("* 1 、 书 名 2 、 作 者 名 3 、 出 版 时 间
*");
printf("*
*");
printf("* 4 、 价 格 5 、 分 类 号 6 、 出 版 单 位
*");
printf("*
*");
printf("* 使用说明:如要选择“书名” ,直接输入: 1 退出: 0
*");
printf("*************************************************************************
*******");
printf("\n 请输入你要怎么查询: ");
chaxun01(); /* 打印完毕后,进入 chaxun()函数,执行用户需要的查询功能 */
}
/* 此程序段实行查询的各种功能 */
chaxun01()
{FILE *fp;
char ch[8];
int a=0,i,j,k,n=0,c,d;
long b;
if((fp=fopen("cc","r"))==NULL) /* 说明: cc.dat 文件装着图书的信息, */
{printf(" 不能打开此文件 \n");exit(0);} /* 并且文件开记录的是图书的书量,后 */
fscanf(fp,"%d",&a); /* 从 文 件 中 读 出 图 书 数 */ /* 面 依 次 才 是 具 体 信 息 。
*/
for(i=0;i<a;i++) /* 并用 a 记录下来,然后依次打录图书信息装到缓冲区的 stu 中,待
用*/
{fscanf(fp,"%ld %s %s %s %s %ld %d",&stu[i].num,stu[i].name,stu[i].writer,stu[i].fenlei,stu[i].danw
ei,&stu[i].time,&stu[i].pay);
strcpy(stu1[i].name,stu[i].name);strcpy(stu1[i].writer,stu[i].writer);strcpy(stu1[i].fenlei,stu[i].fenlei
);
strcpy(stu1[i].danwei,stu[i].danwei);
strlwr(stu1[i].name);strlwr(stu1[i].writer);strlwr(stu1[i].fenlei);strlwr(stu1[i].danwei);}
L1:
switch(getch()) /* 用 switch ()函数实现 查询方式 所提供的各种功能, getch
()的返回值是 ASCII码*/
{case 48:break;
case 49: printf("1\n\n 请输入你要找的书名: ");
gets(ch); /* 用户输入要找的书,下同 */
strlwr(ch);
printf("\n");
剩余37页未读,继续阅读
资源评论
lzx13599381087
- 粉丝: 2
- 资源: 9万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功