前貌似写了一个简单的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语言基本语法与控制结构,其实的话编程是很有乐趣的,前提是你得喜欢这个,但是呢,也不要局限在知识点里面了,编程思维是很重要的,小编就暂时说到这了哈。
联系客服