猜测大一的同学只要是学习C语言的应该最后都会有课程设计,我们一组当时分配到的题目是写图书馆管理系统。
系统并不是很完善,只是实现功能,望大佬勿喷。
其中程序的主要贡献者是我舍友范同学(Robin),我是负责了其中一部分函数。
为了在课上方便演示,我们把所有的代码全都放到一个源文件里了。
这里把源代码给大家供大家参考。
大家在查看图书信息之前一定要先导入信息(也就是7号功能),不然是读取不到的,导入之前提前在盘符准备好图书 .txt 文件。
结构体
[C] 纯文本查看 复制代码 struct book //定义结构体类型
{
char no[50]; //书号
char name[50]; //书名
char publishday[50]; //出版日期
char chapt[50]; //类别
char writer[50]; //作者
char index[50]; //借阅标记
int repeat; //借阅次数
char add[50]; //备份
} booknum[100];
struct temp
{
char no[50]; //书号
char name[50]; //书名
char publishday[50]; //出版日期
char chapt[50]; //类别
char writer[50]; //作者
char index[50]; //借阅标记
int repeat; //借阅次数
char add[50];
} tempbook;
其中load函数需要注意一下,因为开始的时候你的图书是空的所有需要现导入或插入图书。我们临时设置的路径为D盘下,可自行更改。
[C] 纯文本查看 复制代码 void load()
{
system("cls");
if(i!=0)
i=0;
FILE *fp;
fp=fopen("D:/Book.txt","r");//此处为文件路径
while(!feof(fp))
{
fscanf(fp,"%s ",booknum[i].no);
fscanf(fp,"%s ",booknum[i].name);
fscanf(fp,"%s ",booknum[i].publishday);
fscanf(fp,"%s ",booknum[i].chapt);
fscanf(fp,"%s ",booknum[i].writer);
fscanf(fp,"%s ",booknum[i].index);
fscanf(fp,"%d ",&booknum[i].repeat);
fscanf(fp,"%s ",booknum[i].add);
i++;
}
fclose(fp);
MessageBox(NULL,"图书信息读取完毕","图书信息",MB_OK);
system("cls");
return menu();
}
系统大体界面
希望能帮到一些同学,请不要直接使用源码,那样是提高不了你的编程能力的,老师知道也会很伤心的,更不要将源码用于其他用途!!!
谢谢!
下面奉上源码,里面有已经编译好的exe程序,没有毒和后门的,不放心的同学可以自行查看编译源代码。
图书管管理系统.zip
(20.38 KB, 下载次数: 353)
|