




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、源代码:#include stdio.h/* 头文件 */#include string.h /* 字符串函数 */#include stdlib.h/* 其它说明 */#include malloc.h/* 动态地址分配函数*/typedef struct stu /* 定义结构体数组*/int num;/* 房屋的编号 */char master100; /* 房屋的户主名 */char receiver100; /* 房屋租赁人 */int area; /* 房屋的面积 */char local100; /* 房屋出租的地点*/int money; /* 房屋的出租金额*/struct
2、stu *next; /* 定义指针 */house; /* 自定义的房屋*/*=输出信息=*/void printList(house *Head)/*在屏幕上显示所有信息*/house *p; /* 定义 p 指针 */p=Head; /* 将 p 指针指向头指针*/if(p!=NULL) /*判断 p 是否为空 */do/* 进行输出循环*/printf(%d%s%s%s%d%dn,p-num,p-master,p-local,p-receiver,p-area,p-mony; /* 输出信息 */p=p-next; /* 节点后移 */while(p); /* 循环 */*=插入信息=
3、*/void insert(house *Head) /* 插入信息 */struct stu *p,*s; /* 定义新的指针s */p=Head; /* 将 p 指向头链表 */s=(house *)malloc(sizeof(struct stu); /* 申请 s 的内存空间 */ scanf(%d%s%s%s%d%d,&s-num,s-master,s-local,s-receiver,&s-area,&s-money); /* 输入新的节点信息*/s-next=p-next; /* 将 s 的节点指向p 节点的下一个节点*/p-next=s; /* 将新建的节点添加到p 节点的后面
4、 */printf( 添加成功 !n);printf( 编号户主地点 租赁人面积租金 n);while(p!=NULL) /*当链表不为空*/1 / 6printf(%d%4s%4s%4s%7d%7dn,p-num,p-master,p-local,p-receiver,p-area,p-money); /* 输出信息 */p=p-next; /* 指针后移 */*=查找信息=*/void find(house *Head) /* 查找信息 */int num; /* 输入的编号 */house *p;p=Head; /* 头指针为p*/printf( 请输入要查询的房屋编号n);scanf(
5、%d,&num);while(p-num!=num) /*如果没有找到信息*/p=p-next; /* 指针后移继续查找 */printf( 编号户主地点 租赁人面积租金 n);printf(%d%4s%4s%4s%4d%4dn,p-num,p-master,p-local,p-receiver,p-area,p-money); /* 输出查找的信息*/*=修改信息=*/void change(house *Head) /* 修改信息 */house *p;int num;p=Head; /*p 指向头指针 */printf( 请你输入要修改的房屋编号信息n:);scanf(%d,&num);
6、 /*编号的地址 */if(Head=NULL) /*判断头链表是否是空的*/printf(nError!n);/*若为空则输出错误 */exit(0); /* 退出 */else/*否则 */if(p-num=num) /* 若指针下移找到信息 */2 / 6printf( 请你输入编号:n);scanf(%d,&p-num);getchar();printf( 请你输入新户主:n);scanf(%s,p-master);getchar();printf( 请你输入新的地点:n);scanf(%s,&p-local);getchar();printf( 请你输入新的租赁人:n);scanf(
7、%s,&p-receiver);getchar();printf( 请你输入新的面积:n);scanf(%d,&p-area);printf( 请你输入新的租金:n);scanf(%d,&p-money);printf(n提示 :修改成功 !n);/* 输入修改的信息*/printf( 编号户主地点租赁人面积租金 n);while(p!=NULL) /*如果 p 指针为空 */printf(%d%4s%4s%4s%7d%7dn,p-num,p-master,p-local,p-receiver,p-area,p-money); /* 输出的修改信息*/p=p-next; /* 指针下移 */*
8、=保存信息=*/void input(house *Head) /* 在文件中输入*/FILE *fp=NULL;struct stu *p=Head;fp=fopen(abc.txt,w+);/*打开文件 */while(p!=NULL)fprintf(fp,%d%4s%4s%4s%7d%7dn,p-num,p-master,p-local,p-receiver,p-area,p-money); /* 在文件中写入信息*/p=p-next; /* 指针后移 */fclose(fp); /* 关闭文件 */printf( 已保存在abc,txt 文件中,按enter 键返回 n);/* 提示保
9、存成功*/getchar();getchar();/* 返回 */*=3 / 6打开文件信息=*/void output(house *Head) /* 从文件中 出信息*/FILE *fp=NULL;house *p=Head;system(cls);/* 清屏 */fp=fopen(abc.txt,r);/*打开文件 */if(fp=NULL) /*若 空 */printf(File open error!n);/* 出不能打开文件*/exit(0); /* 退出 */printf( 号 主地点租 人面 租金 n);while(p!=NULL)fscanf(fp,%d%4s%4s%4s%7
10、d%7dn,&p-num,p-master,p-local,p-receiver,&p-area,&p- money); /* 在文件中 入信息 */printf(%d%4s%4s%4s%7d%7dn,p-num,p-master,p-local,p-receiver,p-area,p-money); p=p-next; /* 指 后移 */fclose(fp); /* 关 文件 */printf( 按 enter 返回 n);getchar();getchar();/*=文件信息=*/struct stu *Init()/* 在文件中 取信息*/FILE *fp=NULL;struct st
11、u *p,*q,*Head;printf( 系 正在 找数据文件n);fp=fopen(xlj.txt,r+);/*打开文件 */ p=(house *)malloc(sizeof(struct stu); /*为 p 申 空 */fscanf(fp,%d%s%s%s%d%dn,&p-num,p-master,p-local,p-receiver,&p-area,&p-money ); /* 写入成 */Head=p;while(!feof(fp) /*循 数据直到文件尾 束*/q=(house *)malloc(sizeof(struct stu); /*为 q 申 内存空 */4 / 6f
12、scanf(fp,%d%s%s%s%d%dn,&q-num,q-master,q-local,q-receiver,&q-area,&q-money );p-next=q;/* p 指向的结点之后*/p=q;/* 使 p 指向刚才q 指向的结点 */p-next=NULL;p=Head;return p;/* 返回指针p*/*=主函数界面=*/void main()/* 主函数 */int m;struct stu *Head=Init();/*调用文件中的数据*/doprintf(ttt*房屋租赁管理 *n);printf(ttt1显示所有信息n);printf(ttt2查询信息 n);printf(ttt3添加信息 n);printf(ttt4修改信息 n);printf(ttt5写入文件 n);printf(ttt6打开已保存的文件n);printf(ttt0退出 n);printf( 请选择 0-6:n);scanf(%d,&m);switch(m)case 1: printf( 输出所有房屋信息n);printList(Head);break;case 2:printf( 查询房屋信息n);printf(*n);find(Head);break;case 3:printf(*n);5 / 6printf( 添加房屋新信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论