基于c语言程序设计图书管理系统

#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");
  }
 }
}

猜你喜欢

转载自blog.csdn.net/visual_eagle/article/details/105997137
今日推荐