刚入坑的萌新...作业写一个电脑系列信息的表,删除编号的一组数据不会写...
下面是我代码,我删了其他功能的代码。。。
>
```
#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");
}
}
}
```
就是把要只要把要修改的结构体的后面一位往前覆盖一次吗,比如我这个struct是用户输入编号cid,比如我现在有四个cid编号
101,103,105,107
我输入103后要删除103的所有相关数据,我要令people【n】.cid=输入的103,然后令people【n】.cid=people【n+1】,将我的总数cnt减一就可以了吗