用结构体数组以及函数完成:
1.录入你要增加的几个学生,之后输出所有的学生信息
2.删除你要删除的第几个学生,并打印所有的学生信息
3.修改你要修改的第几个学生,并打印所有的学生信息
4.查找你要查找的第几个学生,并打印该的学生信息
find.c文件代码
#include "find.h"
void StudentInp(struct student stu[], int n, int len)
{
int j = len;
for(int i = j; i < j + n; i++)
{
printf("请输入第%d个学生的信息",i + 1);
printf("请输入学生的名字:\n");
scanf("%s", stu[i].name);
printf("请输入学生的学号:\n");
scanf("%d", &stu[i].id);
printf("请输入学生的年龄:\n");
scanf("%d", &stu[i].age);
len++;
}
for(int i = 0; i < len; i++)
{
printf("姓名:%s\t学号:%d\t年龄:%d\n",\
stu[i].name, stu[i].id, stu[i].age);
}
}
void StudentDel(struct student stu[], int n, int len)
{
for(int i = n - 1; i < len; i++)
{
strcpy(stu[i].name, stu[i + 1].name);
stu[i].id = stu[i + 1].id;
stu[i].age = stu[i + 1].age;
}
len--;
for(int i = 0; i < len; i++)
{
printf("姓名:%s\t学号:%d\t年龄:%d\n",\
stu[i].name, stu[i].id, stu[i].age);
}
}
void StudentFin(struct student stu[], int n)
{
printf("姓名:%s\t学号:%d\t年龄:%d\n",\
stu[n-1].name, stu[n-1].id, stu[n-1].age);
}
void StudentCha(struct student stu[], int n, int len)
{
printf("请输入修改后的名字:\n");
scanf("%s", stu[n-1].name);
printf("请输入修改后的学号:\n");
scanf("%d", &stu[n-1].id);
printf("请输入修改后的年龄:\n");
scanf("%d", &stu[n-1].age);
for(int i = 0; i < len; i++)
{
printf("姓名:%s\t学号:%d\t年龄:%d\n",\
stu[i].name, stu[i].id, stu[i].age);
}
}
find.h文件代码
#ifndef __FIND_H__
#define __FIND_H__
#include <stdio.h>
#include <string.h>
struct student
{
char name[20];
int id;
int age;
};
struct student stu[20];
void StudentInp(struct student stu[], int n, int len);
void StudentDel(struct student stu[], int n, int len);
void StudentFin(struct student stu[], int n);
void StudentCha(struct student stu[], int n, int len);
#endif
main.c代码
#include "find.h"
int len = 0;
int main(int argc, const char *argv[])
{
void StudentInp();
void StudentDel();
void StudentFin();
void StudentCha();
int n, i;
A:
printf("***请选择你的操作***\n");
printf("***1.增加学生信息***\n");
printf("***2.删除学生信息***\n");
printf("***3.修改学生信息***\n");
printf("***4.查找学生信息***\n");
printf("*****5.退出界面*****\n");
scanf("%d",&i);
switch(i)
{
case 1: printf("请输入增加学生信息的个数");
scanf("%d", &n);
StudentInp(stu, n, len);
goto A;
case 2: printf("请输入删除学生的位数");
scanf("%d", &n);
StudentDel(stu, n, len);
goto A;
case 3: printf("请输入修改学生的位数");
scanf("%d", &n);
StudentCha(stu, n, len);
goto A;
case 4: printf("请输入查找学生的位数");
scanf("%d", &n);
StudentFin(stu, n);
goto A;
default:printf("没有所选功能,请重新选择");
goto A;
case 5: break;
}
return 0;
}