目录
一、前言
学完C语言的基础了吧,那我们来做一个简单的图书管理系统把C语言的知识巩固加深一下吧
Linux运行效果如下:
使用软件:CentOS 7
版本号:
windows运行效果如下:
使用软件:VS 2013
里面有6个功能,我就不演示了,源码会在最后给你们,感兴趣的自己去玩一下
二、功能以及相关函数
菜单界面的构建
自定义两个函数 Menu1 和 Menu2 实现菜单界面
void Menu1()
{
printf("\t\t******************************** 欢迎使用小酋图书管理系统 **************************************\n");
}
void Menu2()
{
printf("\t\t\t\t\t\t1.录入图书\n");
printf("\t\t\t\t\t\t2.显示图书\n");
printf("\t\t\t\t\t\t3.查询图书\n");
printf("\t\t\t\t\t\t4.修改图书\n");
printf("\t\t\t\t\t\t5.删除图书\n");
printf("\t\t\t\t\t\t0.退出图书管理系统\n");
printf("\t\t\t\t\t\t请选择您所需要的操作:");
}
录入图书
设置一个 WriteToFile 函数,利用 scanf 函数将数据输入给结构体,利用 fwrite 函数将结构体数据写入"book1.dat" 这个二进制文件中。利用 while 循环可以进行反复录入
void WriteToFile()
{
FILE *fp = 0; // 文件指针
Book book; // 结构体变量
char flag = 'y';
fp = fopen("book1.dat","ab+");//以二进制追加的方式打开文件
if (fp == 0)
{
printf("文件打开失败!\n");
exit(1);//1表示在有错的方式退出程序
}
while ( (flag == 'y'||flag == 'Y') )
{
Menu1();
printf("请输入图书编号:");
scanf("%s",book.id);
printf("请输入书籍名称:");
scanf("%s",book.name);
printf("请输入书籍作者:");
scanf("%s",book.author);
printf("请输入出版社:");
scanf("%s",book.publish);
printf("请输入价格:");
scanf("%lf",&book.price);
fwrite(&book,LEN,1,fp);
fflush(stdin);// 清空输入缓冲区
printf("继续输入吗?继续请输入y或Y: 退出请按任意键");
getc