为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
学习任务

2是1道光 的学生作业:

student.h #ifndef __STUDENT_H__ #define __STUDENT_H__ #define MAX 3 #include #include #include //实际学⽣的存储 struct student { char name[20]; int id; int age; }; typedef struct student datatype_t; typedef struct{ datatype_t buf[MAX]; //定义数组记录班级学⽣每个学⽣的信息。 int n; //学⽣实际到来的个数。 }seqlist_t; extern seqlist_t *create_empty_seqlist(); extern int is_full_seqlist(seqlist_t *l); extern void insert_data_seqlist(seqlist_t *l,datatype_t data); extern void printf_data_seqlist(seqlist_t *l); extern int is_empty_seqlist(seqlist_t *seq); extern int delete_data_seqlist(seqlist_t *seq,datatype_t data); #endif student.c #include "student.h" seqlist_t *create_empty_seqlist(){ seqlist_t *l=NULL; l=(seqlist_t *)malloc(sizeof(seqlist_t)); if(NULL==l){ printf("malloc is fail\n"); return NULL; } memset(l,0,sizeof(seqlist_t)); return l; } int is_full_seqlist(seqlist_t *l){ return l->n==MAX ? 1 : 0; } int is_empty_seqlist(seqlist_t *l){ return l->n==0 ? 1 : 0; } int delete_data_seqlist(seqlist_t *l,datatype_t data){ if(is_empty_seqlist(l)){ printf("data is empty\n"); return -1; } int i,j=0; for(i=0;in;i++){ if(data.id != l->buf[i].id){ l->buf[j]=l->buf[i]; j++; } } l->n=j; if(i==j){ printf("target data not exist\n"); return -2; } return 0; } void insert_data_seqlist(seqlist_t *l,datatype_t data){ strcpy(l->buf[l->n].name,data.name); l->buf[l->n].id=data.id; l->buf[l->n].age=data.age; l->n++; return; } void printf_data_seqlist(seqlist_t *l){ int i; printf("name\tid\tage\n"); for(i=0;in;i++){ printf("%s\t%d\t%d\n",l->buf[i].name,l->buf[i].id,l->buf[i].age); } return; } main.c #include "student.h" int main(){ seqlist_t *l=NULL; l=create_empty_seqlist(); datatype_t data; printf("please input %d student info:name,id,age\n",MAX); while(!is_full_seqlist(l)){ scanf("%s%d%d",data.name,&data.id,&data.age); insert_data_seqlist(l,data); } printf_data_seqlist(l); printf("========================\n"); printf("please input you want to delete id\n"); int delete_id; scanf("%d",&delete_id); datatype_t data2; data2.id=delete_id; if(delete_data_seqlist(l,data2)){ printf("seqlist is empty or data is not exist\n"); }else{ printf("delete success\n"); printf_data_seqlist(l); } free(l); l=NULL; return 0; } 【图片】

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号