- void shanchuxingbie()
- {
- // 提示用户需要删除该学生的学姓别
- printf("请输入需要删除该学生的姓别(man或woman)\n");
- char n[10] = {0};
- scanf("%s",n);
- // 找到这个性别对应的数组
- for (int i = 0,count = 0; i<100; i++)
- {
- // 定义一个空的学生变量a
- struct Student a;
- // 如果数组某一个元素的姓名与需要删除的姓名相等
- if (strcmp(str[i].set, n) == 0)
- {
- printf("您要删除的学生姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n如不是很按1(跳过继续查找),返回请按2,删除请按任意键\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- int b = 0;
- scanf("%d",&b);
- if (b==1) {
- continue;
- } else if (b ==2) {
- shanchu();
- } else {
- str[i] = a; // 然后将这个数组元素清空
- --count;
- };
- }
- ++count;
- if (count==99) {
- printf("无此学生\n");
- shanchu();
- }
- }
- }
- void shanchufenshu()
- {
- // 提示用户需要删除该学生的分数
- printf("请输入需要删除多少学生的分数以内的数据用“-”(如:90-100,单个成绩100-100)\n");
- int n = 0,m = 0;
- scanf("%d-%d",&n, &m);
- for (;n <= m;n++)
- {
- // 找到这个学号对应的数组
- for (int i = 0,count = 0; i<100; i++)
- {
- // 定义一个空的学生变量a printf("您要删除的学生是%d-%d将被删除,返回请按2,确认请按任意键\n",n,m);
- struct Student a;
- // 如果数组某一个元素的学号与需要删除的学号相等
- if (str[i].number == n)
- {
- str[i] = a; // 然后将这个数组元素清空
- --count;
- }
- ++count;
- if (count==99) {
- printf("无此学生\n");
- shanchu();
- }
- }
- }
- }
- void shanchusuoyou()
- {
- for (int i = 0; i<100; i++) {
- struct Student a;
- // 如果数组某一个元素的姓名与需要删除的姓名相等
- printf("您将要删除所有学生信息,返回请按1,删除请按任意键\n");
- int b = 0;
- scanf("%d",&b);
- if (b==1) {
- continue;
- } else if (b ==2) {
- shanchu();
- } else {
- str[i] = a; // 然后将这个数组元素清空
- };
- }
- }
- // 查询功能定义
- void chaxun()
- {
- printf("按学号查询请按1\n按姓名查询请按2\n按性别查询请按3\n按分数查询请按4\n查询所有(按录入顺序)请按5\n");
- int a = 0;
- scanf("%d", &a);
- if (a==1) {
- xuehao();
- } else if (a == 2) {
- xingming();
- } else if (a == 3) {
- xingbie();
- } else if (a == 4) {
- fenshu();
- } else if (a == 5) {
- suoyou();
- }
- printf("是否继续查询,查询请按1,返回菜单请按任意键\n");
- int b = 0;
- scanf("%d",&b);
- if (b == 1) {
- chaxun();
- }
- }
- void suoyou()
- {
- printf("从录入顺序\n");
- for (int i = 0; i<=99; i++) {
- printf("第%d个的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",(i+1),str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- }
- }
- void fenshu()
- {
- // 提示用户输入需要查询的学生分数
- printf("请输入需要查询的学生分数\n");
- double n = 0;
- scanf("%lf",&n);
- // 将这个分数找出
- for (int i = 0,count = 0; i<100; i++)
- {
- // 如果数组的某一个元素分数与需要查找的元素分数相等
- if (str[i].score == n)
- {
- // 打印这个学生元素的所有信息
- printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- --count;
- }
- ++count;
- // 遍历每一个分数,如果找不到打印无此学生,退出此功能
- if (count==100)
- {
- printf("无此学生\n");
- break;
- }
- }
- }
- void xingbie()
- {
- // 提示用户输入需要查询的学生姓别
- printf("请输入需要查询的学生姓别\n");
- char n[10] = {0};
- scanf("%s",n);
- // 将这个姓别找出
- for (int i = 0,count = 0; i<100; i++)
- {
- // 如果数组的某一个元素姓别与需要查找的元素姓别相等
- if (strcmp(str[i].set, n) == 0)
- {
- // 打印这个学生元素的所有信息
- printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- --count;
- }
- ++count;
- // 遍历每一个姓别,如果找不到打印无此学生,退出此功能
- if (count == 100)
- {
- printf("无此学生\n");
- break;
- }
- }
- }
- void xingming()
- {
- // 提示用户输入需要查询的学生姓名
- printf("请输入需要查询的学生姓名\n");
- char n[10] = {0};
- scanf("%s",n);
- // 将这个姓名找出
- for (int i = 0, count = 0; i<100; i++)
- {
- // 如果数组的某一个元素姓名与需要查找的元素姓名相等
- if (strcmp(str[i].name, n) == 0)
- {
- // 打印这个学生元素的所有信息
- printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- --count;
- }
- // 遍历每一个姓名,如果找不到打印无此学生,退出此功能
- ++count;
- if (count==100)
- {
- printf("无此学生\n");
- break;
- }
- }
- }
- void xuehao()
- {
- // 提示用户输入需要查询的学生学号
- printf("请输入需要查询的学生学号\n");
- int n = 0;
- scanf("%d",&n);
- // 将这个学号找出
- for (int i = 0; i<100; i++)
- {
- // 如果数组的某一个元素学号与需要查找的元素学号相等
- if (str[i].number == n)
- {
- // 打印这个学生元素的所有信息
- printf("该学生的姓名是%s、年龄是%d、性别是%s、学号是%d、分数是%f\n",str[i].name, str[i].age, str[i].set, str[i].number,str[i].score);
- break;
- }
- // 遍历每一个学号,如果找不到打印无此学生,退出此功能
- else if (i == 99)
- {
- printf("无此学生\n");
- break;
- }
- }
- }
- [/hide]
复制代码 |