C语言图书管理系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ int i,n; system("cls"); printf("\n 请输入图书信息条数:\n"); scanf("%d",&n);//输入信息数 printf("请输入图书信息:\n"); printf("图书编号 图书名 作者名 出版社 printf("-----------------------------------------------------------\n"); for(i=0;i<n;i++) { scanf("%s",t[i].number);//输入图书编号 scanf("%s",t[i].bname);//输入图书名 scanf("%s",t[i].wname);//输入作者名 scanf("%s",t[i].publish);//输入出版社 scanf("%f",&t[i].price);//输入价格 } getchar(); return n; } void list(BOOKS t[],int n) { int i; system("cls"); printf("\n*************************图书清单************************\n"); printf("图书编号 图书名 作者名 出版社 价格 \n"); printf("-----------------------------------------------------------\n"); for(i=0;i<n;i++) { printf("%-12s%-14s%-12s%-12s%-10f%\n",t[i].number,t[i].bname,t[i].wname,t[i].publish,t[i]. price); if((i+1)%10==0&&n%10>0)//判断输出是否达到 10 条信息 { printf("-----------------------------------------------------------\n"); printf("每页显示 10 条图书信息,按回车键向后翻页...\n"); getchar(); system("cls"); printf("\n************************* ************************\n"); printf(" 图书编号 \n"); printf("-----------------------------------------------------------\n"); } } 图书名 图 作者名 书 出版社 清 单 价格
return; } 四、实验结果
五、实验小结
本次实验系统的总结了自己所学的 C 语言知识,熟悉了各种函数的使用方法
}; int find_wname(BOOKS t[],int n,char*s) { int i; for(i=0;i<n;i++) { if(strcmp(s,t[i].wname)==0) return i; } return i;
} int find_publish(BOOKS t[],int n,char*s) { int i; for(i=0;i<n;i++) { if(strcmp(s,t[i].publish)==0) return i; } return i; } void print(BOOKS temp) { printf("\n*********************************************************\n"); printf("图书编号 图书名 作者名 出版社 printf("-----------------------------------------------------------\n"); 价格 \n");
三、源程序
#include<stdio.h>//I/O 函数 #include<stdlib.h>//标准库函数 #include<string.h>//字符串函数 #include<ctype.h>//字符操作函数 #define M 100//定义常数表示信息数 typedef struct//定义数据结构 { char number[12];//图书编号 char bname[14];//图书名 char wname[12];//作者名 char publish[12];//出版社 float price;//价格 }BOOKS; int menu_select();//主菜单 int enter(BOOKS t[]);//输入图书信息 void list(BOOKS t[],int n);//显示图书信息 void fwname(BOOKS t[],int n); void fpublish(BOOKS t[],int n); void print(BOOKS temp);//显示单条信息 int find_wname(BOOKS t[],int n,char*s);//按作者查询函数 int find_publish(BOOKS t[],int n,char*s);//按出版社查询函数 int menu_select() { char s[80]; int c; printf("**********************主菜单********************\n"); printf("****** 1.添加一本图书 ******\n"); printf("****** 2.显示某本书信息 ******\n"); printf("****** 3.按作者查询 ******\n"); printf("****** 4.按出版社查询 ******\n"); printf("****** 5.退出 ******\n"); printf("***********************************ห้องสมุดไป่ตู้************\n"); do { printf("\n 输入您的菜单选项编号(1-5):");//提示输入选项 scanf("%s",s);//输入选择项 c=atoi(s);//将输入的字符串转化为整形数 getchar(); } while(c<0||c>7);//选择项不在 0~7 之间重输 return c;//返回选择项,主程序根据该数调用相应的函数 } int enter(BOOKS t[])
printf("%-12s%-14s%-12s%-12s%-10f%\n",temp.number,temp.bname,temp.wname,temp.publish, temp.price); printf("-----------------------------------------------------------\n"); }
图书馆图书管理系统
姓名:刘懿 学号:201320060202 一、目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立 完成管理系统设计,并能最终实现本系统的功能要求。 二、功能要求 [题目描述] 图书信息应该包含:编号、书名、坐着姓名、出版社、价格等;本系统应能对这些基本信息 进行管理,并要求具有以下功能: (1)通过键盘输入某本图书的信息; (2)给定图书编号,显示该本图书的信息; (3)给定作者姓名,牺牲你是所有该作者编写的图书信息; (4)给定出版社,显示该出版社的所有图书信息; [题目要求] (1)单项选择希望进行的操作项目; (2)要求以上功能分别用函数实现。并要求用 c 语言的文件操作语句将以上结果保存在文 件 XXX.out。 输入/输出要求: (1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每 个操作后,根据程序的提示输入相应的信息; (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及 结束方式等。 二、流程图
void main() { BOOKS boo[M]; int length; for(;;) { system("cls"); switch(menu_select()) { case 1:length=enter(boo);break; case 2:list(boo,length);break; case 3:fwname(boo,length);break; case 4:fpublish(boo,length);break; case 5:exit(0); } printf("按回车键返回主菜单...\n"); getchar(); }
价格
\n");
printf("-----------------------------------------------------------\n"); } void fwname(BOOKS t[],int n) { char s[50];//保存带查找作者姓名字符串 int i;//保存带查找到结点的序号 system("cls"); printf("请输入查找的作者名:\n"); scanf("%s",s); getchar(); i=find_wname(t,n,s);//调用 find_wname 函数,得到一个整数 if(i>n-1)//如果整数 i 值大于 n-1,说明没找到 printf("没有作者为%s 的图书!\n",s); else print(t[i]);//找到,调用显示函数显示记录 }; void fpublish(BOOKS t[],int n) { char s[50];//保存带查找出版社字符串 int i;//保存带查找到结点的序号 system("cls"); printf("请输入查找的出版社名:\n"); scanf("%s",s); getchar(); i=find_publish(t,n,s);//调用 find_publish 函数,得到一个整数 if(i>n-1)//如果整数 i 值大于 n-1,说明没找到 printf("没有出版社为%s 的图书!\n",s); else print(t[i]);//找到,调用显示函数显示记录