C语言编程学习+图形库写个——简单图书管理系统

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

小编推荐一个学C语言/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; i++)

{

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; i++)

{

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; i++)

{

for (int a = 0; a < 4; a++)

{

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

{

for (int v = i; v <= x; v++)

{

for (int z = 0; z < 4;z++)

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

for (int z = 0; z < 10; z++)

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

for (int z = 0; z < 4; z++)

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

}

break;

}

}

}

x--;

fclose(fp);

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

for (int i = 0; i < x; i++)

{

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 <= 140)

{

Add();

}

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

{

Scan();

getch();

}

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

{

Delete_Data();

getch();

}

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

{

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;

}

弄了一个好看的界面,顺带也加上了音乐也感觉还不错吧,但是也比较基础的呢 

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容