|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大神救救小女子、新手上路,表示一脸懵逼
根据书上改编和自己理解走到了这一步。。。
#include<stdio.h>
#include<malloc.h>
#include<Windows.h>
#include<string.h>
#define OK 1
#define error 0
struct getstu
{
char name[20];
int num;
float score;
struct getstu *next;
int last;
}p[5];
struct newstu
{
char a[7];
int num;
float score;
};
int InList(getstu *l,int i,newstu *e)
{
int k;
if((i<1)&&(i>l->last+2))
{
printf("插入i的位置不合法");
return(error);
}
for(k=l->last;k>=i-1;k--)
{
l=l->next;
l->name[7]=e->a[7];
l->num=e->num;
l->score=e->score;
l->last++;
}
return(OK);
};
int destu(getstu *l,int i)
{
int k;
if((i<1)||(i>l->last+1))
{
printf("删除位置不合法!");
return(error);
}
for(k=i;i<=l->last;k++)
l=l->next;
l->last--;
return(OK);
}
int main()
{
struct getstu *q;
struct newstu *p;
int a[50];
int i,c,b;
for(i=0;i<50;i++)
{
printf("请问您是建立学生信息(1)或者插入学生信息(2)亦或是删除学生信息(3):\n");
scanf("%d",&c);
if(c==1)
{
printf("请输入学生的姓名:\n");
scanf("%s",&q->name);
printf("请输入学生的学号:\n");
scanf("%d",&q->num);
printf("请输入学生的分数:\n");
scanf("%f",&q->score);
}
if(c==2)
{
printf("请输入您要插入学生的名字:\n");
scanf("%s",&p->a);
printf("请输入您要插入的学号:\n");
scanf("%d",&p->num);
printf("请输入您要插入的学生的分数 :\n");
scanf("%f",&p->score);
printf("请输入您要插入的位置:\n");
scanf("%d",&b);
int InList(getstu *l,int b,newstu *p);
}
if(c==3)
{
printf("请输入您要删除学生的位置:\n");
scanf("%s",&b);
int destu(getstu *l,int b);
}
}
system("pause");
return 0;
}
|
|