美文网首页c++/c项目C语言程序员
C语言编程学习+图形库写个——简单图书管理系统

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

作者: 小辰带你看世界 | 来源:发表于2018-03-22 16:06 被阅读70次

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/nsoyqftx.html