美的电压力锅故障维修:请哪位C语言高手帮忙做一下(2)--急啊!!!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 19:53:27
三、自定义函数规范
1.void create(void)
该函数在打开数据库文件并读取记录时动态创建链表,同时初始化表头、表尾,置当前指针指向表头。
2.void add_rcd(STD *sp)
将缓冲区sp添加到链表当前结点后,生成一新记录结点,并置当前指针指向新结点。
3.int find_rcd(char *xh)
从当前结点开始按学号搜索结点,成功返回1,并置当前指针指向该结点,失败返回0,并置当前指针指向尾结点。
void verify_rcd( char *info)
修改当前结点指定字段信息。
void next_rcd(void)
指向当前结点的下一结点,如果当前结点为尾结点,不移动当前结点指针。
void prev_rcd(void)
指向当前结点的前一结点,如果当前结点为头结点,不移动当前结点指针。
void del_rcd(void)
删除当前结点,使当前指针指向下一结点,如果当前结点为尾结点,重置尾结点,使当前指针指向尾结点。如果当前结点为头结点,重置头结点,使当前指针指向头结点。
int save_data(void)
保存结点记录,文件名为students.dat
(在以上的函数操作中,一定要注意头指针、尾指针、当前指针是否改变)
9.STD *put_rcd(void)
提供记录输入界面,将记录输入缓冲区,并返回该缓冲区指针。
[头文件data.h]
#define NULL 0
#define LEN sizof(STD)
typedef struct {
char xh[12]; /*学号*/
char xm[12]; /*姓名*/
char sxcj[5]; /*数学成绩*/
char cxsj[5]; /*程序设计成绩*/
char zf[5]; /*总分*/
struct std *next /*指向下条记录*/
struct std *prev /*指向上条记录*/
}STD;
STD *head=NULL; /*链表头指针,定义为全局变量*/
STD *tail=NULL; /*链表尾指针,定义为全局变量*/
STD *current=NULL; /*链表当前结点指针,定义为全局变量*/
STD *create(void);
void add_rcd(STD *sp);
int find_rcd(char *xh);
void verify_rcd(char *info);
void next_rcd(void);
void prev_rcd(void);
void del_rcd(void);
int save_data(void);
STD *put_rcd(void);
[实验报告的具体格式示范]
[姓名:XXX] [学号:XXXXXXX] [日期:]
[题目X]
1、数据结构:
此部分要求说明用来表示题目中数据的数据结构;
如: int m[MAXNUM];
m数组用来表示一个最多12个人队列;
m[2]:表示第二个人是否在队中,其取值为1表示在队列
中,为0表示已出列,不在队列中;
2、算法描述:
此部分要求写出算法的基本思想以及程序中模块(函数)的划分原则;可选择采用伪代码或流程图的方式来说明各模块(函数)的基本思想和思路。
3、程序清单:
程序清单要求加详细注释;如下例所示:
/*本程序完成1到30的累加求和*/
main()
{int I,sum;/ *I:循环变量;sum:求和结果*/
/*开始求和*/
for(sum=0,I=1;I<=30;I++)
sum+=I;
/*输出结果*/
printf(“SUM=%d\n”,sum);
}