您的位置:首页 > 财经 > 金融 > 作业7.2

作业7.2

2024/12/24 3:50:21 来源:https://blog.csdn.net/2201_75783063/article/details/140134822  浏览:    关键词:作业7.2

用结构体数组以及函数完成:
录入你要增加的几个学生,之后输出所有的学生信息
删除你要删除的第几个学生,并打印所有的学生信息
修改你要修改的第几个学生,并打印所有的学生信息
查找你要查找的第几个学生,并打印该的学生信息

  1 /*用结构体数组以及函数完成:2   录入你要增加的几个学生,之后输出所有的学生信3   删除你要删除的第几个学生,并打印所有的学生信息4   修改你要修改的第几个学生,并打印所有的学生信息5   查找你要查找的第几个学生,并打印该的学生信息*/6 #include "/home/ubuntu/myheader.h"7 #define MAX_STUDENTS 1008 typedef struct{9     char name[50];10     int age;11     char id[10];12 }Student;13 14 Student students[100]; // 学生数组15 Student* p = students;16 int numStudents = 0; // 当前学生数量17 18 void printAllStudents();19 void inputStudents();20 void deleteStudent();21 void modifyStudent();22 void findStudent();23 24 int main(int argc, const char *argv[])25 {26     int choice;27     while (1) {28         printf("1. 添加学生\n");29         printf("2. 删除学生\n");30         printf("3. 修改学生\n");31         printf("4. 查找学生\n");32         printf("5. 打印所有学生\n");33         printf("6. 退出\n");34         printf("请输入您的选择:");35         scanf("%d", &choice);36         switch (choice){37  case 1:inputStudents();break;38  case 2:deleteStudent();break;39  case 3:modifyStudent();break;40  case 4:findStudent();break;41  case 5:printAllStudents();break;42  case 6:return 0;43  default:printf("无效的选择。请重新尝试。\n");44         }45     }46 }47     // 打印所有学生信息48     void printAllStudents() {49         if(numStudents == 0)50             printf("\n————————暂无学生信息————————\n\n");51         else if(numStudents > 0){52         printf("\n————————所有学生信息:————————\n");53         for (int i = 0; i < numStudents; i++) {54             printf("索引:%d\n", i);55             printf("姓名:%s\n", p->name);56             printf("年龄:%d\n", p->age);57             printf("学号:%s\n", p->id);58             printf("——————————————————\n\n");59         }60     }61     }62     // 录入学生信息63     void inputStudents() {64         printf("\n——————————————————————\n录入学生信息人数:");65         scanf("%d",&numStudents);66         for (int i = 0; i < numStudents; i++) {67             printf("请输入第 %d 个学生的信息:\n", i + 1);68             printf("姓名:");69             scanf("%s", p->name);70             printf("年龄:");71             scanf("%d", &p->age);72             printf("学号:");73             scanf("%s", p->id);74         }75         printf("———————————————————————\n\n");76     }77     // 删除学生信息78     void deleteStudent() {79         int index;80         printf("\n——————————————————————\n请输入要删除的学生索引:");81         scanf("%d", &index);82         if (index < 0 || index >= numStudents) {83             printf("错误:无效的学生索引。\n");84             printf("——————————————————————\n");85             return;86         }87         for (int i = index; i < numStudents - 1; i++) {88             p[i] = p[i + 1];89         }90         numStudents--;91         printf("学生信息删除成功。\n\n");92         printf("——————————————————\n\n");93     }94 95     // 修改学生信息96     void modifyStudent() {97         int index;98         printf("\n——————————————————————\n请输入要修改的学生索引:");99         scanf("%d", &index);
100         if (index < 0 || index >= numStudents) {
101             printf("错误:无效的学生索引。\n\n");
102             printf("——————————————————————\n");
103             return;
104         }
105         printf("请输入新的学生姓名:");
106         scanf("%s", (p+index)->name);
107         printf("请输入新的学生年龄:");
108         scanf("%d", &(p+index)->age);
109         printf("请输入新的学生学号:");
110         scanf("%s", (p+index)->id);
111         printf("学生信息修改成功。\n\n");
112         printf("——————————————————————\n\n");
113     }
114 
115     // 查找学生信息
116     void findStudent() {
117         int index;
118         printf("\n——————————————————————\n请输入要查找的学生索引:");                                                                                                                                                                                                                                                                                                                               
119         scanf("%d", &index);
120         if (index < 0 || index >= numStudents) {
121             printf("错误:无效的学生索引。\n\n");
122             printf("——————————————————————\n");
123             return;
124         }
125         printf("找到的学生信息如下:\n");
126         printf("姓名:%s\n", (p+index)->name);
127         printf("年龄:%d\n", (p+index)->age);
128         printf("学号:%s\n\n", (p+index)->id);
129         printf("——————————————————————\n\n");
130     }

 程序运行如下:


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com