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;
      
defaultbreak;
    }
    xianshicaidan();
    printf(
"Enter a number to choose opreation:\n");
    scanf(
"%d",&menu);

  }
}
posted @ 2008-10-27 16:40  emanlee  阅读(400)  评论(0编辑  收藏  举报