2008秋季-计算机软件基础- 线性表顺序存储 - 菜单
/* 2008-10-27 */
/* tod: 删除, 修改, 参考: 教材P63-67*/
# include<stdio.h>
#define N 1
typedef struct student
{
char xuehao[10];
char xingming[10];
int chengji;
} S ;
void xianshicaidan()
{
printf("\n1 - Initialization.\n");
printf("2 - Enter Scores.\n");
printf("3 - Insert Score.\n");
printf("4 - Display Scores.\n");
printf("0 - Exit System.\n");
}
void Initial(S a[], int length)
{
int i;
printf("Please enter XueHao & Xingming (%d students):\n",length);
for(i=0;i<length;i++)
{
scanf("%s%s",a[i].xuehao,a[i].xingming);
a[i].chengji=0;
}
}
void insert(S a[], int *length)
{
int i,location;
S x;
printf("Please enter location:\n");
scanf("%d",&location);
printf("Please enter XueHao & Xingming & Chengji:\n");
scanf("%s%s%d",x.xuehao,x.xingming,
&x.chengji);
for(i=*length;i>=location+1;i--)
a[i]=a[i-1];
a[location]=x;
(*length)++;
}
void xianshi(S a[], int length)
{
int i;
printf("Display Scores:\n");
for(i=0;i<length;i++)
{
printf("%s %s %d\n",a[i].xuehao,a[i].xingming,
a[i].chengji);
}
}
void main()
{
int menu=1, len=N;
S b[10];
xianshicaidan();
printf("Enter a number to choose opreation:\n");
scanf("%d",&menu);
while(menu!=0)
{
switch(menu)
{
case 1: Initial(b,len);break;
case 4: xianshi(b,len); break;
case 3: insert(b,&len);break;
default: break;
}
xianshicaidan();
printf("Enter a number to choose opreation:\n");
scanf("%d",&menu);
}
}
/* tod: 删除, 修改, 参考: 教材P63-67*/
# include<stdio.h>
#define N 1
typedef struct student
{
char xuehao[10];
char xingming[10];
int chengji;
} S ;
void xianshicaidan()
{
printf("\n1 - Initialization.\n");
printf("2 - Enter Scores.\n");
printf("3 - Insert Score.\n");
printf("4 - Display Scores.\n");
printf("0 - Exit System.\n");
}
void Initial(S a[], int length)
{
int i;
printf("Please enter XueHao & Xingming (%d students):\n",length);
for(i=0;i<length;i++)
{
scanf("%s%s",a[i].xuehao,a[i].xingming);
a[i].chengji=0;
}
}
void insert(S a[], int *length)
{
int i,location;
S x;
printf("Please enter location:\n");
scanf("%d",&location);
printf("Please enter XueHao & Xingming & Chengji:\n");
scanf("%s%s%d",x.xuehao,x.xingming,
&x.chengji);
for(i=*length;i>=location+1;i--)
a[i]=a[i-1];
a[location]=x;
(*length)++;
}
void xianshi(S a[], int length)
{
int i;
printf("Display Scores:\n");
for(i=0;i<length;i++)
{
printf("%s %s %d\n",a[i].xuehao,a[i].xingming,
a[i].chengji);
}
}
void main()
{
int menu=1, len=N;
S b[10];
xianshicaidan();
printf("Enter a number to choose opreation:\n");
scanf("%d",&menu);
while(menu!=0)
{
switch(menu)
{
case 1: Initial(b,len);break;
case 4: xianshi(b,len); break;
case 3: insert(b,&len);break;
default: break;
}
xianshicaidan();
printf("Enter a number to choose opreation:\n");
scanf("%d",&menu);
}
}