#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
struct book_type
{
char num[15];
char name[10];
float price;
};
struct book_type book[100];
int book_num=0;
void add(); //添加信息
int display(char str[]);//显示信息
void id_find();//id查找
void name_find();//name查找
void del();
void main()
{
while(1)
{
int choice;
printf("\n 欢迎使用图书管理系统\n");
printf("--------------------------------------------\n");
printf("1.添加新图书信息 2.显示图书信息\n");
printf("3.(书号)查找图书信息 4.(书名)查找图书信息\n");
printf("5.输入要删除的书号 6.退出程序\n");
printf("--------------------------------------------\n");
printf("请选择功能模块,输入数字1-6");
while(1)
{
scanf("%d",&choice);
if(choice>=1 && choice<=6)
break;
else
printf("输入数字不正确,请重输入1-6:");
}
switch(choice)
{
case 1: add(); break;
case 2: display(""); break;
case 3: id_find(); break;
case 4: name_find(); break;
case 5:del(); break;
case 6: exit(0);
}
}
}
//添加信息
void add()
{
int i=book_num;
printf("说明:依次输入图书信息,当输入的书号为0时表示输入结束\n");
while(1)
{
printf("请输入第%d本图书的信息\n",i+1);
printf("请输入书号:");
scanf("%s",book[i].num);
if(strcmp(book[i].num,"0") == 0) break;
printf("请输入书名:");
scanf("%s",book[i].name);
printf("请输入图书价格:");
scanf("%f",&book[i].price);
i++;
}
book_num = i;
printf("总共已输入%d本书的信息\n",book_num);
}
int display(char str[])
{
int i, k=-1;
if(strlen(str) == 0)
{
if(book_num>0)
{
printf("书号\t书名\t价格\t\n");
for(i=0; i<book_num; i++)
printf("%s\t%s\t%.2f\t\n",book[i].num,book[i].name,book[i].price);
}
else
printf("图书信息为空!");
}
else
{
for(i=0; i<book_num; i++)
{
if(strcmp(str,book[i].num) == 0)
{
printf("书号\t书名\t价格\t\n");
printf("%s\t%s\t%.2f\t\n",book[i].num,book[i].name,book[i].price);
k = i;
}
else if(strcmp(str,book[i].name) == 0)
{
printf("书号\t书名\t价格\t\n");
printf("%s\t%s\t%.2f\t\n",book[i].num,book[i].name,book[i].price);
k = i;
}
}
if(k==-1)
printf("没有找到符合条件的图书\n");
}
return k;
}
void id_find()
{
char str[15];
printf("请输入要查找的书号:");
scanf("%s",str);
display(str);
}
void name_find()
{
char str[20];
printf("请输入要查找的书名:");
scanf("%s",str);
display(str);
}
void del()
{
char str[15], m;
int i, j;
printf("请输入要删除的书号:");
scanf("%s",str);
i = display(str);
if(i!=-1)
{
printf("确认要删除该学生的信息吗?(y/n)");
m = getche();
if(m=='y' || m=='Y')
{
book_num--;
for(j=i; j<book_num; j++)
book[j] = book[j+1];
printf("\n记录删除成功!\n");
}
}
}
基于c语言程序设计图书管理系统
猜你喜欢
转载自blog.csdn.net/visual_eagle/article/details/105997137
今日推荐
周排行