300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 修改图书信息c语言 图书信息管理系统c语言.doc

修改图书信息c语言 图书信息管理系统c语言.doc

时间:2024-01-27 08:32:39

相关推荐

修改图书信息c语言 图书信息管理系统c语言.doc

图书信息管理系统c语言.doc

沈阳航空航天大学理学院

C语言程序设计课程设计报告

题目: 图书信息管理系统

专 业: 信息与计算科学

班 级:

学 号:

学生姓名:

指导教师:

7月 9日

课程设计成绩评定表

姓 名学 号

绩平时成绩阶段考核课程设计报告总成绩指

(签字)教

(签字)目 录

一、题目简介1

二、概要设计2

1、无文件时的输入:2

2、有原文件时的输入:2

3、删除:2

4、修改:2

5、浏览:2

6、查询:2

7、储存2

8、读取:2

三、详细设计4

1、无文件时的输入:4

2、有原文件时的输入4

3、删除:5

4、修改:5

5、浏览:6

6、查询:7

7、储存:7

8、读取:7

五、解决方案9

1、读取时头指针的指向问题:9

2、菜单无法返回:9

3、自动存储:9

参考文献11

题目简介

1、系统以菜单方式工作

2、图书信息录入功能(图书信息用文件保存)--输入

3、图书信息浏览功能--输出

4、图书信息查询功能—算法,查询方式:按书名、按作者名等查询

5、图书信息的删除与修改

不知道图书的总数和可能的总数,于是使用了链表。题目要求基本可分为三类:对链表的修改、链表的输出和链表的存取。菜单化操作与图书信息文件形式保存都不算太困难,真正的关键还是在链表的使用。输入和输出功能,乃至储存和读取都是对整条链表的全部操作。而查询,删除,修改则需要先找到目标节点,然后只对目标节点进行操作,其中,删除、查询与修改又有所不同,考虑到可能的重号情况(查询里不同书同一作者的情况更加常见),进行删除、查询时就不能单单只找到一个符合条件的节点,而必须将整条链表中所有符合条件的节点全部筛选出来,但是修改若将全部符合条件的全部帅选并替换,则一口气将出现大量重复信息,而且很难处理,于是使用修改时,每次进行修改重号信息只取第一条进行修改。

二、概要设计

1、无文件时的输入:

包含了有原文件但原文件为空时的情况,重点是将头指针清空以便使数据正确输入即可。

2、有原文件时的输入:

包含了无原文件但已经输入数据的情况,直接在原有链表后继续添加数据。

3、删除:

运用搜索找到指定的节点,然后将下一节点直接连接到上一节点,以起到删除该节点的功能。

4、修改:

运用搜索找到指定的节点,直接将该链表节点重新赋值。

5、浏览:

将全体链表全部输出。

6、查询:

按指定条件运用搜索找到指定的链表,只输出该节点的数据。

7、储存:

将链表的信息以文件形式保存。

8、读取:

将链表信息从文件中读取出来。

系统模块图

三、详细设计

1、无文件时的输入:

选项用的整形,修改数据用的结构体。

head=NULL;p1=head;输入p1;p1=p1->next;直到 输入的学号==0

2、有原文件时的输入:

选项用的整形,修改数据用的结构体

p1=head;输入p1;p1=p1->next;直到 输入的学号==0

3、删除:

选项用的整形,修改数据用的结构体

p1=head;学号==输入的学号ynp1=p1->next;学号==输入的学号删除p1;

4、修改:

p1=head;学号==输入的学号ynp1=p1->next;学号==输入的学号修改p1;

5、浏览:

选项用的整形,浏览数据用的结构体

p1=head;输出p1;p1=p1->next;直到p1==NULL;

6、查询:

选项用的整形,浏览数据用的结构体

p1=head;学号==输入的学号ynp1=p1->next;学号==输入的学号浏览p1;

7、储存:

选项用的整形,修改数据用的结构体,存储时使用的文件类型。

p1=head;储存p1;p1=p1->next;直到 要储存的学号==0

8、读取:

选项用的整形,修改数据用的结构体,存储时使用的文件类型。

p1=head;读取p1;p1=p1->next;直到 读取的学号==0

五、解决方案

1、读取时头指针的指向问题:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。