打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C语言 图形库写个——简单图书管理系统

前貌似写了一个简单的ATM系统,那个是肯定的啦,有读者书也真简单,本身也是啦,标题也写的是简单的ATM系统哈,那我今天的话也继续带来一个C语言写的简单的图书管理系统哈,下面的话,我发一下代码,各位也可以去运行一下,今天的话,图书管理弄了个界面,那么就各位记得安装好图形库

#include

#include

#include

#pragma comment(lib,'winmm.lib')

IMAGE BD,TAB;

FILE* fp;

void Image(); //背景

void Save_Data(); //保存

void Delete_Data(); //删除

int n = 0;

typedef struct book

{

char num[4];

char price[4];

char name[10];

} BOOK;

BOOK bk[20];

void Add()

{

fp = fopen('./BOOK.txt', 'a+');

cleardevice();

loadimage(&BD, './2008071502334265.jpg', 640, 480);

putimage(0, 0, &BD);

char ch;

int ih;

int num;

char *ar[] = { '请输入序号:', '请输入书名:', '请输入价格:' };

setbkmode(TRANSPARENT);

settextcolor(RED);

settextstyle(50, 20, '华文彩云');

outtextxy(250, 10, '添加书籍');

setfillcolor(RGB(180, 180, 180));

fillrectangle(100, 60, 580, 450);

settextcolor(BLACK);

settextstyle(20, 0, '楷体');

outtextxy(100, 70, *ar);

int i = 0;

while ((num = getch()) != VK_RETURN)

{

outtextxy(100 + 10 * i, 100,num);

*(bk[n].num + i) = num;

i++;

}

outtextxy(100, 150, *(ar + 1));

i = 0;

while ((ch = getch()) != VK_RETURN)

{

outtextxy(100 + 10 * i, 180, ch);

*(bk[n].name + i) = ch;

i++;

}

outtextxy(100, 230, *(ar + 2));

i = 0;

while ((ih = getch()) != VK_RETURN)

{

outtextxy(100 + 10 * i, 260,ih);

*(bk[n].price + i) = ih;

i++;

}

outtextxy(250, 400, '正在保存...');

Sleep(2000);

fprintf(fp, '%s %s %s ', bk[n].num, bk[n].name, bk[n].price);

n++;

fclose(fp);

cleardevice();

}

void Scan()

{

cleardevice();

loadimage(&BD, './2008071502334265.jpg', 640, 480);

putimage(0, 0, &BD);

setbkmode(TRANSPARENT);

settextcolor(RED);

settextstyle(50, 20, '华文彩云');

outtextxy(250, 10, '浏览书籍');

setfillcolor(RGB(180, 180, 180));

fillrectangle(100, 60, 580, 450);

for (int i = 0; i <= 7;="">

{

line(100, 60 + i * 50, 580, 60 + i * 50);

}

fp = fopen('./BOOK.txt', 'r');

settextcolor(BLACK);

settextstyle(20, 0, '楷体');

for (int i = 0; fscanf(fp, '%s %s %s ', bk[i].num, bk[i].name, bk[i].price)!=EOF; i++,n++)

{

outtextxy(100, 70 + i * 50, bk[i].num);

outtextxy(150, 70 + i * 50, bk[i].name);

outtextxy(200, 70 + i * 50, bk[i].price);

}

fclose(fp);

}

void Delete_Data()

{

int x = 0;

int b;

int arr[4];

fp = fopen('./BOOK.txt','r+');

cleardevice();

loadimage(&BD, './2008071502334265.jpg', 640, 480);

putimage(0, 0, &BD);

setbkmode(TRANSPARENT);

settextcolor(RED);

settextstyle(50, 20, '华文彩云');

outtextxy(250, 10, '删除书籍');

setfillcolor(RGB(180, 180, 180));

fillrectangle(100, 60, 580, 450);

settextstyle(20, 0, '楷体');

outtextxy(100,70,'请输入需要删除书籍的序号:');

for (int i = 0; i <= 7;="">

{

line(100, 60 + i * 50, 580, 60 + i * 50);

}

int a = 0;

while ((b = getch()) != VK_RETURN)

{

outtextxy(100 + 10 * a, 130, b);

*(arr + a) = b;

a++;

}

for (int i = 0; fscanf(fp, '%s %s %s ', bk[i].num, bk[i].name, bk[i].price) != EOF; i++, x++)

;

for (int i = 0; i < x;="">

{

for (int a = 0; a < 4;="">

{

if (bk[i].num[a] == arr[a])

{

for (int v = i; v <= x;="">

{

for (int z = 0; z <>

*(bk[v].num+z) = *(bk[v + 1].num+z);

for (int z = 0; z < 10;="">

*(bk[v].name+z) = *(bk[v + 1].name+z);

for (int z = 0; z < 4;="">

*(bk[v].price+z) = *(bk[v + 1].price+z);

}

break;

}

}

}

x--;

fclose(fp);

fopen('./BOOK.txt', 'w+');

for (int i = 0; i < x;="">

{

fprintf(fp, '%s %s %s ', bk[i].num, bk[i].name, bk[i].price);

}

fclose(fp);

}

void MouseMg()

{

MOUSEMSG m;

while (MouseHit())

{

m = GetMouseMsg();

switch (m.uMsg)

{

case WM_LBUTTONDOWN:

if (m.x >= 220 && m.y >= 100 && m.x <= 440="" &&="" m.y=""><=>

{

Add();

}

else if (m.x >= 220 && m.y >= 180 && m.x <= 440="" &&="" m.y=""><=>

{

Scan();

getch();

}

else if (m.x >= 220 && m.y >= 260 && m.x <= 440="" &&="" m.y=""><=>

{

Delete_Data();

getch();

}

else if (m.x >= 220 && m.y >= 340 && m.x <= 440="" &&="" m.y=""><=>

{

exit(0);

}

break;

}

}

}

void Image()

{

BeginBatchDraw();

loadimage(&BD, './2008071502334265.jpg', 640, 480);

putimage(0, 0, &BD);

loadimage(&TAB,'./258PICg58PICzAJ_1024.jpg',220,40);

putimage(220, 100, &TAB);

loadimage(&TAB, './258PICg58PICzAJ_1024.jpg', 220, 40);

putimage(220, 180, &TAB);

loadimage(&TAB, './258PICg58PICzAJ_1024.jpg', 220, 40);

putimage(220, 260, &TAB);

loadimage(&TAB, './258PICg58PICzAJ_1024.jpg', 220, 40);

putimage(220, 340, &TAB);

setbkmode(TRANSPARENT);

settextcolor(RED);

settextstyle(50, 20, '华文彩云');

outtextxy(200, 10, '图书管理系统');

settextcolor(BLACK);

settextstyle(17, 17, '华文新魏');

outtextxy(250, 115,'添加书籍');

settextstyle(17, 17, '华文新魏');

outtextxy(250, 195, '浏览书籍');

settextstyle(17, 17,'华文新魏');

outtextxy(250, 275, '删除书籍');

settextstyle(17, 17,'华文新魏');

outtextxy(250, 355,'退出系统');

EndBatchDraw();

}

int main()

{

PlaySound('05-夜的钢琴曲(五).wav', NULL, SND_FILENAME | SND_LOOP | SND_ASYNC);

initgraph(640, 480);

while (1)

{

Image();

MouseMg();

}

return 0;

}

弄了一个好看的界面,顺带也加上了音乐也感觉还不错吧,但是也比较基础的呢 可以加下群466572167(群里有资料可以下载学习,也可以交流学习)

主要是就发了三个图片,一个是主要界面以及功能方面,然后就是后面两个图,两个功能一个是添加功能,一个是浏览,暂时就说到这哈。可以加群466572167学习交流提升自己,涉及到的知识点也并不是很多,也就一些基本的C语言知识点哈,1、文件操作 2、graphics.h头文件以及图形界面库函数 3、C语言基本语法与控制结构,其实的话编程是很有乐趣的,前提是你得喜欢这个,但是呢,也不要局限在知识点里面了,编程思维是很重要的,小编就暂时说到这了哈。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言开发如何用130行代码写出超火微信小游戏(需要准备的图片素材作为变量)
基于C语言实现的贪吃蛇游戏完整实例代码
C语言打造——游戏场景里面的人物行走
代码女神编写的C语言版本扫雷游戏,场面失控,速来围观
小白入门——easyx界面版“贪吃蛇”的C语言实现(详细)
谁说程序员不浪漫——给女友放个烟花,安排!安排!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服