• 图书管理系统三


    这几天考试,就没怎么写这个系统了,经过上次一些大佬、老师评论,就写了自己关于储存书籍的想法

    编程思路:

    • 就上上一篇博客中,评论中一样,自己写个初始化函数init()用于读取本地书库
    • 利用ifstream对文件进行读取,然后将书籍编号,书名,作者写在本地文件 ALLBOOK.txt 中
    • 然后再写一个save()函数在程序结束后将其保存到 ALLBOOK.txt中
    • github

    主要添加的代码:

    void init(L * head)
    {
    	L * p,* pre;
    	pre = head;
    	string s;
    	ifstream infile("e://Library//ALLBOOK.txt", ios::in);
    	while (!infile.eof())
    	{
    		p = new L;
    		getline(infile, s, '
    ');
    		p->id = s;
    		getline(infile, s, '
    ');
    		p->book_name = s;
    		getline(infile, s, '
    ');
    		p->author = s;
    		p->next = NULL;
    		pre->next = p;
    		pre = pre->next;
    	}
    }
    
    
    void save(L *head)
    {
    	L * p = head;
    	ofstream outfile("e://Library//ALLBOOK.txt", ios::app);
    	p = head->next;
    	while (p != NULL)
    	{
    		if (p->id != "")
    		{
    		outfile << p->id << endl;
    		outfile << p->book_name << endl;
    		outfile << p->author;
    		if (p->next != NULL) outfile << endl;
    		}
    		
    		p = p->next;
    	}
    }
    
    

    运行截图:

    上图为程序开启时,本地书库

    上图为本地书库

    过程中遇到的问题以及解决方法:

    • 读取文件数据时,困惑文件结束的标志,不过通过百度解决了该问题,利用while(!infile.eof())解决。
    • 在写的时候将 TXT 文件放在debug中调试时出现,在读取文件时出现死循环,后面将其移动到Library文件夹中,用路径方式打开,就没有出现死循环的情况了。
    • 主要还是对于读写文件的方法比较模糊,没有很好的掌握。

    目前存在的不足:

    • 借还功能还没有实现
    • 书库的写法可观性不好
    • 书籍容量还没有实现-这个没有实现,觉得借还功能就更不能实现了。
    • 添加书籍是在书库末尾添加新书籍,如果添加相同编号也会再次添加-因此要设计书籍量
    • 等等一些目前没有想到的不足

    体会:

    先说一下0.0,上一篇,阅读量好多,开心了一下。更加充满动力,对这个系统代码进行迭代。发现我以上的写法是很浪费时间的,在每次程序开始结束时都花费好多的时间进行读取。
    然而正在学习网上别人的写法,无意间听到一个学长关于数据库的介绍,感觉又给我开辟了新世界[捂脸]。不过还是要去学习的。在下一篇博客中,我想我应该主要是实现书籍容量,还有借还功能,以及一下代码上的优化。深思:我一开始写代码用面向过程的方法写,感觉我的学习方式有点问题0.0,没有直接用面向对象的方法写。emmmmm等把主要功能实现后在想想转型吧。

  • 相关阅读:
    BZOJ 3513: [MUTC2013]idiots(fft)
    BZOJ 2194: 快速傅立叶之二(fft)
    BZOJ 3779: 重组病毒(线段树+lct+树剖)
    LUOGU P3723 [AH2017/HNOI2017]礼物 (fft)
    CF 622F (拉格朗日插值)
    LUOGU P4781 【模板】拉格朗日插值
    bzoj 4184 shallot——线段树分治+线性基
    51nod 1673 树有几多愁——虚树+状压DP
    bzoj 3611(洛谷 4103) [Heoi2014]大工程——虚树
    bzoj 2286(洛谷 2495) [Sdoi2011]消耗战——虚树
  • 原文地址:https://www.cnblogs.com/q1076452761/p/7137328.html
Copyright © 2020-2023  润新知