1.16

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
#define N 10
struct student
{
    int number;
    char name[30];
    int age;
    char address[20];
};
struct students
{
    struct student a[N];
    int n;
    
};
struct students s;
void in();
void grow();
void backspace();
void show();
void xiugai();
void find();
int main()
{
    int bianhao;
    s.n=0;
    while(1)
    {
        printf("\t\t1:学生信息的录入\n");
        printf("\t\t2:学生信息的增加\n");
        printf("\t\t3:学生信息的删除\n");
        printf("\t\t4:学生信息的打印\n");
        printf("\t\t5:学生信息的修改\n");
        printf("\t\t6:学生信息的查找\n");
        printf("\t\t0:退出\n");
        printf("请输入你的选择");
        scanf("%d",&bianhao);
        switch(bianhao)
        {
            case 1:in();break;
            case 2:grow();break;
            case 3:backspace();break;
            case 4:show();break;
            case 5:xiugai();break;
            case 6:find();break;
            case 0:exit(0);
            default:printf("你输入的有毛病!\n");
            
            
        }
        
    }
    
    return 0;   
}
void in()
{
    int i;
    for(i=0;i<5;i++)
    {
        printf("第%d个学生的信息是:\n",i+1);
        printf("学生的编号是:");
        scanf("%d",&s.a[i].number);
        printf("学生的姓名是:");
        scanf("%s",s.a[i].name);
        printf("学生的年龄是:");
        scanf("%d",&s.a[i].age);
        printf("学生的籍贯是:");
        scanf("%s",s.a[i].address);
        s.n++;
        
    }
}
void grow()
{
    int w,i;
    printf("请输入你要增加元素的位置");
    scanf("%d",&w);
    if(w<0||w>s.n)
    {
        printf("你插入的位置有毛病!\n");
        return;
    }
    for(i=s.n-1;i>=w;i--)
    {
        s.a[i+1]=s.a[i];
    }
        printf("请输入要插入的学生信息\n");
        printf("学生的编号是:");
        scanf("%d",&s.a[w].number);
        printf("学生的姓名是:");
        scanf("%s",s.a[w].name);
        printf("学生的年龄是:");
        scanf("%d",&s.a[w].age);
        printf("学生的籍贯是:");
        scanf("%s",s.a[w].address);
        s.n++;
        printf("插入成功!\n");
    
}
void backspace()
{
    int w,i;
    printf("请输入你要删除元素的位置");
    scanf("%d",&w);
    if(w<0||w>s.n-1)
    {
        printf("你删除的位置有毛病!\n");
    }
    for(i=w+1;i<=s.n-1;i++)
    {
        s.a[i-1]=s.a[i];
    }
    s.n--;
    printf("删除成功!\n");
}
void show()
{
    int i;
    for(i=0;i<s.n;i++)
    {
        printf("第%d个学生的信息是:\n",i+1);
        
        printf("学生的编号是%d\n",s.a[i].number);
        
        printf("学生的姓名是%s\n",s.a[i].name);
        
        printf("学生的年龄是%d\n",s.a[i].age);
        
        printf("学生的籍贯是%s\n",s.a[i].address);
    }
}
void xiugai()
{
    int w;
    printf("请输入你要修改元素的位置");
    scanf("%d",&w);
    if(w<0||w>s.n-1)
    {
        printf("你输入修改的位置有毛病!\n");
        return;
    }
        printf("请输入要修改的学生信息\n");
        printf("学生的编号是:");
        scanf("%d",&s.a[w].number);
        printf("学生的姓名是:");
        scanf("%s",s.a[w].name);
        printf("学生的年龄是:");
        scanf("%d",&s.a[w].age);
        printf("学生的籍贯是:");
        scanf("%s",s.a[w].address);
    
}
void find()
{
    int w;
    printf("请输入你要查找元素的位置");
    scanf("%d",&w);
    if(w<0||w>s.n-1)
    {
        printf("你输入查找的位置有毛病!\n");
        return;
    }
        printf("学生的编号是%d\n",s.a[w].number);
        
        printf("学生的姓名是%s\n",s.a[w].name);
        
        printf("学生的年龄是%d\n",s.a[w].age);
        
        printf("学生的籍贯是%s\n",s.a[w].address);
    
    
}

猜你喜欢

转载自blog.csdn.net/ly_959/article/details/79078019