图书借阅管理系统c语言程序设计,图书管理系统课程设计

c语言图书管理系统附源码是一款由C语言编写的图书管理系统,它是由吾爱论坛网友分享提供的,对于学习C语言的朋友可以借鉴参考学习代码的编写,这也是在大学里初学C语言经常会遇到的课题,欢迎大家下载学习。

3fb0a2cffc473de0b6bb468476a19d8b.png

系统说明

猜测大一的同学只要是学习C语言的应该最后都会有课程设计,我们一组当时分配到的题目是写图书馆管理系统。

系统并不是很完善,只是实现功能,望大佬勿喷。

其中程序的主要贡献者是我舍友范同学(Robin),我是负责了其中一部分函数。

为了在课上方便演示,我们把所有的代码全都放到一个源文件里了。

这里把源代码给大家供大家参考。

大家在查看图书信息之前一定要先导入信息(也就是7号功能),不然是读取不到的,导入之前提前在盘符准备好图书 .txt 文件。

使用说明

管理员账户密码皆为admin(学习C语言的朋友应该都懂)

源码展示

#include

#include

#include

#include

#include

//由506小组编写

struct account

{

char name[10],password[10];

} user[2]= { {"admin","admin"},{"Robin","000000"}};

void gotoxy(int x,int y)

{

COORD pos;

pos.X=x;

pos.Y=y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);

}

int color(int c)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);

return 0;

}

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;

int i=0;

void menu();

void menu2();

void log_in() //输入并验证账户名

{

char a[10]= {0},b[10]= {0};

int j=-1;

reput:

printf("账户名:");

color(11);

scanf("%s",a);

if(strcmp(a,user[0].name)==0)

j=0;

else if(strcmp(a,user[1].name)==0)

j=1;

else

{

color(7);

printf("请重新输入!\n");

goto reput;

}

color(7);

reput2:

printf("密码:");

color(11);

for(int k=0; k<10;)

{

b[k]=getch();

if(b[k]!=13&&b[k]!='\b')

{

printf("*");

k++;

}

else if(b[k]=='\b'&&k>0)

{

printf("\b \b");

k--;

}

else if(k<=0)

printf("\a");

else

{

b[k]='\0';

break;

}

}

if(strcmp(b,user[j].password)!=0)

{

color(7);

printf("\n请重新输入!\n");

goto reput2;

}

TCHAR szMsg[MAX_PATH];

wsprintf(szMsg,("欢迎您,管理员%s"),a);

MessageBox(NULL,szMsg,"登录成功",MB_OK);

}

void enter()

{

system("cls");

if(IDCANCEL==MessageBox(NULL,"您是否想添加新图书信息","新图书信息录入确认",MB_OKCANCEL))

return menu();

color(11);

redo:

system("cls");

printf("请输入新录入的图书数量:");

int n;

if(!scanf("%d",&n))

{

MessageBox(NULL,"输入有误,请重新输入","Error",MB_OK|MB_ICONEXCLAMATION);

fflush(stdin);

goto redo;

}

TCHAR szMsg[MAX_PATH];

wsprintf(szMsg,("您要新录入的图书数量是%d本"),n);

if(IDNO==MessageBox(NULL,szMsg,"录入图书数量确认",MB_YESNO|MB_ICONQUESTION))

goto redo;

system("cls");

int j=1;

while(n--)

{

color(7);

printf("这是您新添加的第%d本书\n",j);

color(15);

printf("图书总数:%d本\n",i);

color(13);

printf("请输入书号:");

scanf("%s",booknum[i].no);

color(12);

printf("请输入书名:");

scanf("%s",booknum[i].name);

color(14);

printf("请输入出版日期:");

scanf("%s",booknum[i].publishday);

color(10);

printf("请输入类别:");

scanf("%s",booknum[i].chapt);

color(11);

printf("请输入作者:");

scanf("%s",booknum[i].writer);

color(3);

printf("请输入借阅标记:");

scanf("%s",booknum[i].index);

color(9);

printf("请输入借阅次数:");

scanf("%d",&booknum[i].repeat);

color(5);

printf("请输入备份:");

scanf("%s",booknum[i].add);

color(15);

printf("您添加的第%d本书的信息为:\n",j++);

printf("书号:%s\n",booknum[i].no);

printf("书名:%s\n",booknum[i].name);

printf("出版日期:%s\n",booknum[i].publishday);

printf("类别:%s\n",booknum[i].chapt);

printf("作者:%s\n",booknum[i].writer);

printf("借阅标记:%s\n",booknum[i].index);

printf("借阅次数:%d\n",booknum[i].repeat);

printf("备注:%s\n\n",booknum[i].add);

i++;

}

getchar();

system("cls");

return menu();

}

void print()

{

system("cls");

if(i==0)

{

MessageBox(NULL,"您的图书信息为空!","系统信息不足",MB_OK|MB_ICONEXCLAMATION);

goto go;

}

for(int j=0,k=-1; j

{

color(15);

gotoxy(0,++k);

printf("这是您添加的第%d本书\n",j+1);

color(13);

gotoxy(0,++k);

printf("书号:%s",booknum[j].no);

color(12);

gotoxy(20,k);

printf("书名:%s",booknum[j].name);

color(14);

gotoxy(0,++k);

printf("出版日期:%s",booknum[j].publishday);

color(10);

gotoxy(20,k);

printf("类别:%s",booknum[j].chapt);

color(11);

gotoxy(0,++k);

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值