博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图书管理系统三
阅读量:5339 次
发布时间:2019-06-15

本文共 1600 字,大约阅读时间需要 5 分钟。

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

编程思路:

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

主要添加的代码:

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, '\n');        p->id = s;        getline(infile, s, '\n');        p->book_name = s;        getline(infile, s, '\n');        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;    }}

运行截图:

1092267-20170708164611987-244676915.png

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

1092267-20170708164741753-338130928.png

上图为本地书库

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

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

    目前存在的不足:

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

    体会:

    先说一下0.0,上一篇,阅读量好多,开心了一下。更加充满动力,对这个系统代码进行迭代。发现我以上的写法是很浪费时间的,在每次程序开始结束时都花费好多的时间进行读取。

    然而正在学习网上别人的写法,无意间听到一个学长关于数据库的介绍,感觉又给我开辟了新世界[捂脸]。不过还是要去学习的。在下一篇博客中,我想我应该主要是实现书籍容量,还有借还功能,以及一下代码上的优化。深思:我一开始写代码用面向过程的方法写,感觉我的学习方式有点问题0.0,没有直接用面向对象的方法写。emmmmm等把主要功能实现后在想想转型吧。

转载于:https://www.cnblogs.com/q1076452761/p/7137328.html

你可能感兴趣的文章
【BZOJ-1055】玩具取名 区间DP
查看>>
Bit Twiddling Hacks
查看>>
Windwos中的线程同步
查看>>
LeetCode : Reverse Vowels of a String
查看>>
时间戳与日期的相互转换
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
关于TDD的思考
查看>>
Cocos2d-x学习之windows 7 android环境搭建
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>
零散笔记
查看>>
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
查看>>
MaiN
查看>>
[Python学习] 简单网络爬虫抓取博客文章及思想介绍
查看>>
第四章 解析库的使用 4.2 BeautifulSoup的使用
查看>>
触发器课程SQL Server 知识梳理九 触发器的使用
查看>>
信息浏览器从Android的浏览器中传递cookie数据到App中信息浏览器
查看>>
客户端连接linux虚拟机集群报错
查看>>