链表的应用大作业

发布 2022-09-24 10:52:28 阅读 5001

题目链表及文件的操作。

甜品管理系统。

目录:1.题目分析与系统简述。

2.档案结构说明。

3.主函数解析。

4.子函数解析。

5.程序执行范例。

6.完整程序以及批注。

1、题目分析及系统简述:

这是一个小型的甜品的管理系统。具有甜品数据的简单管理功能。在这里面有增加、删除、修改、查找甜品数据的功能,并且写了一个排序函数,可以以任意编号顺序输入,都可以按编号顺序从小到大的输出。

(扩张功能,也可以添加甜品的品质,以性价比(品质/**)作为排序的根据,输出)。

2、档案结构说明:

分析甜品的属性,我们可知甜品最常见的属性有名称和**两个,为了方便管理数据,我们给每一个甜品一个编号,则可知每个甜品的属性有编号,名称,**三个。所以可以建立结构体分别为。

● 编号 int型 num;

● 名称 string型 name;

● ** int型 price;

3、数据执行举例:

cherry

yappley

orange

n前导界面。

主屏幕(main)

插入数据(函数:add())

查找(find())

打印数据(show())

修改数据(edit())

删除数据。导出数据。

五、主函数解析:

主函数main

功能:根据使用者的选择而执行相应的操作。

流程图:图一程序流程图。

4、子函数分析:

子函数列表:

1)des *createnode创建节点。

struct des *p;

p = des*)malloc(len分配内存。

p->next = null; /清空内存中的数据。

return p;

2)反向冒泡法排序。

void sort

des *tail = null, *s, *p, *q;//tail是排序去区与非排序去的分界,前面为排序。

while (tail !=head->next)

tail = q; /分界区向前移动。

3)void del删除数据。

sort();

int pos;

des *p = head, *l;

l = p->next; /目标节点。

int i=1;

printf("请输入要删除的甜品数据的编号:")

scanf("%d", pos);

while (l!= null)

p = p->next; /步移。

l = p->next;

printf("成功删除该甜品数据!")

4)销毁链表逐一释放掉节点。

void destroy(des *cur)

if (cur->next !=null)

destroy(cur->next);

if (cur !=null)

free(cur);

5) 打开文件。

void read()

if (!file = fopen("d:\b"))查找这个位置的文件。

des *n;

if (head->next !=null) /创建链表。

while (true)

fclose(file); 关闭流。

void write(des *p)

if (!file = fopen(""wb"))如果打开这个文件失败的话就创建一个。

if (p ==null) /链表为空的打印为空。

while (true)

fclose(file);

void add输入数据。

des *h;

char s;

printf("请输入甜品信息 ");

do while (s ==y' |s ==y');

write(head->next); 将现有数据写进二进制文件。

8)void edit修改甜品数据。

int i, pos;

des *p;

printf("请输入要修改的甜品数据的编号");

scanf("%d", pos);

p = head;

while (p->next)

if (p->next ==null) /查找到最后也没有相应的节点。

printf("查找数据失败,请验证!")else

9)//输出数据到文件。

void fprintf()

if (!file = fopen(""w"))没有这个文件就创建一个。

des *p = head->next;

fprintf(filen");

fprintf(file," 编号名称** ");

fprintf(filen");

while (1)

fclose(file);

printf("收支数据已输出到请查看,按任意键继续!")

system("notepad ")

五、完整程序:

#include<>

#include<>

#include

using namespace std;

#define len sizeof(struct des)

struct des{

int num;

int price;

char name[22];

struct des *next;

int n; /节点个数。

int menu菜单。

int s;

char ch;

printf欢迎进入甜点选择系统 o(≧ωon");

printf(" o1 ||增加甜点的信息");

printf2 ||查找已输入的甜点信息");

《应用写作》大作业

大连理工大学 应用写作 大作业。学习中心 浙江见职业技术学院奥鹏学习中心 姓名 学号 121213126046 题目 根据自身经历,撰写一份竞争xx职位的演讲词。各位领导 各位同事 我首先感谢领导 同志们的信任和支持,给了我这个机会来参加竞职演讲。我叫张志敏,现年37岁,大学专科行政管理专业。现在大...

EDA应用大作业

eda应用 课程大作业。班级 电子09 1 学期 2011 2012 1 课题1 数字时钟的设计。要求 在实验箱上完成一个可以计时的数字时钟,其显示时间范围是00 00 00 23 59 59,且该时钟具有暂停计时和清零功能。课题2 硬件电子琴的设计。要求 在实验箱上实现一个简易电子琴。按下key1...

《Office高级应用》大作业

特别提示 用电脑完成以下操作,不能互相抄袭 复制,否则没有成绩。下面给出的 只是一个样式,同学们要做出自己的特色,和样式完全一样的不得分。要求打印出来 订上,第15周交给老师。一 编辑如下公式 要求更换其中的一些字母,例如把 x 换成 y 不能和下图完全一样。二 插入层次结构,参考下图。三 绘图,参...