求助C语言结构体如何删除一组数据?

刚入坑的萌新...作业写一个电脑系列信息的表,删除编号的一组数据不会写...
下面是我代码,我删了其他功能的代码。。。

>
```
#include <stdio.h>
#include <string.h>

//自定义结构体
struct computer
{
int cid; //电脑的编号
char brand[100]; //电脑的品牌
double price; //电脑的价格
int ratio; //电脑的主频
char place[50]; //电脑的产地
char descipt[50]; //电脑的描述
char pubdate[50]; //电脑的生产日期
};

int cnt=0;
struct computer people[100]; //最多一百个编号

//删除
void stu_remove()
{

。。。

}

}
int main()
{
int choice; //菜单输入
while(1)
{
printf("1.增加\t2.打印\t3.统计\t4.修改\t5.删除\t6.保存\t7.加载\t8.查找\t9.排序\t0.退出");
printf("\n输入选项执行结果:");
scanf("%d",&choice);
switch(choice)
{
case 1:stu_add();break;
case 2:stu_show();break;
case 3:stu_stat();break;
case 4:stu_modify();break;
case 5:stu_remove();break;
case 6:stu_save();break; //存文件
case 7:stu_load();break; //从文件载入
case 8:stu_query();break; //查找编号
case 9:stu_sort();break; //按序号排序
case 0:return ; //终止main()
default:printf("输入错误!\n");
}
}
}
```

结构体同样可以看做一个基本数据类型
删除结构体数组中的一个值,就像删除一个普通数组中的值一样的。
普通数组的删除是将后面的数据向前移动,达到覆盖掉的效果
比如:a[4]要删除第二个元素。那么把a[1] = a[2];a[2] = a[3];
最后一个不要动,也最好别去访问它,就相当于把第二个元素删除了。

结构体跟上面类似,但是结构体是你自定义的数据,所以在定义中,你要给它重载赋值符号(也就是=),要不然赋值的过程中会出错追问

就是把要只要把要修改的结构体的后面一位往前覆盖一次吗,比如我这个struct是用户输入编号cid,比如我现在有四个cid编号
101,103,105,107
我输入103后要删除103的所有相关数据,我要令people【n】.cid=输入的103,然后令people【n】.cid=people【n+1】,将我的总数cnt减一就可以了吗

温馨提示:答案为网友推荐,仅供参考
相似回答