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);
}
}
分类:
[18] 数据结构与算法
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统