数据结构实验
我是一个小白,才学数据结构。这个程序肯定有很多不足与缺点,甚至可能还有我没有发现的错误。恳请大家斧正。
题目要求:智能家居系统创建一个家居环境参数表,包含“日期、时间、地点、温度、湿度”等信息。程序能够完成如下功能:
(1) 能够逐条输入信息,创建表;
(2) 能够显示表中的所有信息;
(3) 根据时间和地点进行查找,返回相关参数信息;
(4) 给定一条环境参数信息,按照日期和时间顺序插入到表中指定的位置; (5) 删除指定日期的记录;
目录
- 数据结构实验
-
-
- 1.顺序表建立
- 2.信息输入
- 3.信息显示
- 4.信息查找
- 5.信息插入
- 6.信息删除
-
1.顺序表建立
struct Home{
char data[M];
char time[M];
char place[M];
char temperature[M];
char humidity[M];
}home[N],new_home[1],new2_home[1];
2.信息输入
void input()
{
int i;
for(i=0;i<5;i++)
{printf("请输入日期\n");
gets(home[i].data);
printf("请输入时间\n");
gets(home[i].time);
printf("请输入地点\n");
gets(home[i].place);
printf("请输入温度\n");
gets(home[i].temperature);
printf("请输入湿度\n");
gets(home[i].humidity);}
}
3.信息显示
void output()
{
int i;
for(i=0;i<5;i++)
{
printf("日期:%s\n",home[i].data);
printf("时间:%s\n",home[i].time);
printf("地点:%s\n",home[i].place);
printf("温度:%s\n",home[i].temperature);
printf("湿度:%s\n",home[i].humidity);
}
}
4.信息查找
void founddata(char b[M][20],char c[M][20],char q[M][20])
{
int i,k,p,j;
int t=0;
int n=0;
int a=0;
for(i=0;i<5;i++)
{for(j=0;j<2;j++)
{a=strcmp(b[j], home[i].data);
if(a==0)
{printf("found\n");
printf("日期为%s\n",home[i].data);
for(k=0;k<2;k++)
{
n=strcmp(c[k], home[i].time);
if(n==0)
{
printf("found\n");
printf("时间为%s\n",home[i].time);
for(p=0;p<2;p++)
{ t=strcmp(c[k], home[i].place);
if(n==0)
{
printf("found\n");
printf("地点为%s\n",home[i].place);break;
}
}
}
}
}
}
}
}
5.信息插入
void add()
{
void addway(int j);
int k;
int i;
int j;
int h;
int a;
int b;
j=-1;
h=-1;
printf("开始插入\n");
for(i=0;i<5;i++)
{
a=strcmp(home[i].data,new_home[0].data);
if(a<0)
{ j=j+1;}
else if(a==0)
{
for(i=0;i<5;i++)
{b=strcmp(home[i].time,new_home[0].time);
if(b<0)
{h=h+1;}}
}
}
if(h==-1)
addway(j);
else if(h!=-1)
addway(h);
}
6.信息删除
接下篇文章