getchar();
}
void find()//浏览
{
system("cls");
//system("color 7b");
printf("1. 全 部 书 查 询");
printf("2. 书 编 号 查 询");
printf("3. 书 名 字 查 询");
printf("4. 书 作 者 查 询");
int a, i, n = 0, j = 0;
char bname[20];
char bauthor[20];
if ((fp = fopen("图书信息.txt", "r")) == NULL)//打开文件
{
printf("Can not open file!");
return;
}
for (i = 0; fscanf(fp, "%d%s%s%f%s%s", &Book[i].num, Book[i].name, Book[i].author, &Book[i].price, Book[i].state, Book[i].borrower_name) != EOF; i++)
{
n++;//记录当前书数
}
fclose(fp);//关闭文件
if (n == 0)//判断是否已录入图书
{
printf("没 有 图 书 可 查 询!!!!!");
printf("按 任 意 键 退 出!");
getchar();
//system("cls");
getchar();
}
else
{
printf("请输入对应查询方式的编号:");
scanf("%d", &a);//从键盘输入查询方式的编号
if ((fp = fopen("图书信息.txt", "r")) == NULL)//打开文件
{
printf("Can not open file!");
return;
}
switch (a)
{
case 1:
system("cls");
//从图书信息文件读取数据
public book( string image,string name, string author, double price) {。 public book(int bookid, string name, string author, float price,。return "book [id=" + id + ", name=" + name + ", author=" + author。
{
if (i == 0)//在输出第一个图书信息前输出下列信息
{
printf("图书编号图书名字图书作者图书价格存在状态图书借书人");
}
//输出图书信息
fprintf(stdout, "%8d%8s%8s%8.2f%8ss", Book[i].num, Book[i].name, Book[i].author, Book[i].price, Book[i].state, Book[i].borrower_name);
}
printf("查询成功, 按任意键继续......");
getchar();
getchar();
system("cls");
break;
case 2:
system("cls");
printf("请输入图书编号:");
int num1;
scanf("%d", &num1);//从键盘输入图书的编号
//从文件中读取图书信息并与 从键盘输入图书的编号进行比较
for (i = 0; fscanf(fp, "%d%s%s%f%s%s", &Book[i].num, Book[i].name, Book[i].author, &Book[i].price, Book[i].state, Book[i].borrower_name) != EOF; i++)
{
if (num1 == i + 1)
{
printf("图书编号图书名字图书作者图书价格存在状态图书借书人");
//输出图书信息
fprintf(stdout, "%8d%8s%8s%8.2f%8ss", Book[i].num, Book[i].name, Book[i].author, Book[i].price, Book[i].state, Book[i].borrower_name);
printf("查询成功, 按任意键继续......");
getchar();
getchar();
system("cls");
}
}
if (num1 >= i + 1)//判断输入的图书编号是否存在
{
printf("查询结果:你输入的图书编号不存在!!!!!!");
printf("按任意键继续.......");
getchar();
getchar();
}
break;
case 3:
system("cls");
printf("请输入图书的名字:");
getchar();
gets(bname);//输入图书的名字
//从文件中读取图书信息并与 从键盘输入图书的名字进行比较
for (i = 0; fscanf(fp, "%d%s%s%f%s%s", &Book[i].num, Book[i].name, Book[i].author, &Book[i].price, Book[i].state, Book[i].borrower_name) != EOF; i++)
{
if (strcmp(Book[i].name, bname) == 0)//比较
{
j++;
printf("图书编号图书名字图书作者图书价格存在状态图书借书人");
//输出图书信息
fprintf(stdout, "%8d%8s%8s%8.2f%8ss", Book[i].num, Book[i].name, Book[i].author, Book[i].price, Book[i].state, Book[i].borrower_name);
printf("查询成功, 按任意键退出......");
getchar();
system("cls");
}
}
if (j == 0)
{
printf("查询结果:没有此书!!!!!!");
printf("按任意键退出......");
getchar();
system("cls");
}
break;
case 4:
system("cls");
printf("请输入图书的作者:");
getchar();
gets(bauthor);//从键盘输入图书的作者
//getchar();
//fclose(fp);
//fp = fopen("图书信息.txt", "r");
//从文件中读取图书信息并与 从键盘输入图书的的作者进行比较
public book( string image,string name, string author, double price) {。 public book(int bookid, string name, string author, float price,。return "book [id=" + id + ", name=" + name + ", author=" + author。
{
if (strcmp(Book[i].author, bauthor) == 0)
{
j++;
printf("图书编号图书名字图书作者图书价格存在状态图书借书人");
//输出图书信息
fprintf(stdout, "%8d%8s%8s%8.2f%8ss", Book[i].num, Book[i].name, Book[i].author, Book[i].price, Book[i].state, Book[i].borrower_name);
//fclose(fp);
printf("查询成功, 按任意键继续......");
getchar();
system("cls");
}
}
if (j == 0)
{
printf("查询结果:没 有 此 书!!!!!!");
printf("按任意键退出......");
getchar();
}
break;
default:
system("cls");
printf("");
printf("——————————————————————---------------------------------------------------------");
printf("选 择 错 误.......");
printf("——————————————————————---------------------------------------------------------");
printf("按 任 意 键 退 出......");
getchar();
getchar();
system("cls");
break;
}
fclose(fp);//关闭文件
}
}
发一下最终的效果图,可以看一下,可以加下群315732400(群内有各类型的项目资源可以学习)
涉及到的知识点也不是很多,主要知识点 模块化的程序设计图书管理系统借书代码 c语言,C语言数组操作,两个文件的交互,后面的话还有一些点暂时就没发出来了,一般有基础的话自己可以动手去尝试操作一下,去完善一下,可以做出来的,后面涉及到的1、删除图书信息 2、图书修改3、借书注册4、借书手续5、还书手续6、版本信息7、菜单。小编暂时就说到这了图书管理系统借书代码 c语言,是不是比简单的那个感觉瞬间好看多了,希望对大家刚接触的有所帮助吧
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-/a/jisuanjixue/article-114239-1.html