题目链表及文件的操作。
甜品管理系统。
目录: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 不能和下图完全一样。二 插入层次结构,参考下图。三 绘图,参...