作业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     }

 程序运行如下:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/38272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea常用问题记录

文章目录 1.ant构建报错编译错误1.1 解决办法 1.ant构建报错编译错误 Compile failed;xxx 1.1 解决办法

Python系统教程02

巩固 input()输出函数 回顾 1 、 input()函数&#xff1a; 在 input()函数输入时&#xff0c;输入的内容一定为字符串类型。 2 、条件分支语句&#xff1a; 每一个 if 语句可以看成一个个体&#xff0c;elif 和 else 都是一个 if 个体的一部分&#xff0c;每一个 if 个体 运…

51单片机外部中断(按键识别)

欢迎入群共同学习交流 时间记录&#xff1a;2024/7/2 一、电路原理图 51单片机包含INT0、INT1两个外部中断接口 二、知识点介绍 1.中断寄存器位介绍 &#xff08;1&#xff09;TCON定时控制寄存器&#xff0c;位0&#xff08;IT0&#xff09;中断INT0请求信号选择位&#x…

WordPress主题开发进群付费主题v1.1.2 多种引流方式

全新前端UI界面&#xff0c;多种前端交互特效让页面不再单调&#xff0c;进群页面群成员数&#xff0c;群成员头像名称&#xff0c;每次刷新页面随机更新不重复&#xff0c;最下面评论和点赞也是如此随机刷新不重复 进群页面简介&#xff0c;群聊名称&#xff0c;群内展示&…

注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!

我们到底应该在什么情况下探索新事物&#xff0c;什么情况下专注于已有的东西呢&#xff1f;本质上来说&#xff0c;这个问题就是在询问&#xff0c;你究竟应该耗费精力去探索新的信息&#xff0c;还是专注从既有的信息中获取收获&#xff1f; 有人采访了临终的老人&#xff0c…

中国三大平原矢量示意图分享

我们在《中国地势三级阶梯示意图分享》、《中国四大高原矢量示意图分享》和《中国主要山脉矢量示意图分享》等文中&#xff0c;为你分享过中国地势相关的矢量示意图。 现在再为你分享一下我国东北平原、华北平原和长江中下游平原的矢量示意图&#xff0c;这三大平原均位于我国…

随想录总结 Day 77

随想录总结 Day 77 回忆75天的做题时间&#xff0c;差点没坚持下来的有两个时间点&#xff0c;一个是在前20天&#xff0c;很多时候二叉树这种基础题&#xff0c;前中后序列遍历之类的。基础&#xff0c;但真正写一遍&#xff0c;每道题又有多种写法。花了很长时间但是也就是一…

go sync包(七)Sync.Map

Sync.Map 原理 通过 read 和 dirty 两个字段实现数据的读写分离&#xff0c;读的数据存在只读字段 read 上&#xff0c;将最新写入的数据存在 dirty 字段上。读取时会先查询 read&#xff0c;不存在再查询 dirty&#xff0c;写入时则只写入 dirty。读取 read 并不需要加锁&am…

每天一个数据分析题(三百九十九)- 逻辑回归

逻辑回归中&#xff0c;若选0.5作为阈值区分正负样本&#xff0c;其决策平面是&#xff08; &#xff09; A. wxb&#xff1d; 0 B. wxb&#xff1d; 1 C. wxb&#xff1d; -1 D. wxb&#xff1d; 2 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点…

Python实现万花筒效果:创造炫目的动态图案

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制万花筒图案的函数主循环 完整代码 引言 万花筒效果通过反射和旋转图案创造出美丽的对称图案。在这篇博客中&#xff0c;我们将使用Python来实现一个动态的万花筒效果。通过利用Pygame库&#xf…

大数据可视化实验(八):大数据可视化综合实训

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1&#xff09;Python纵向柱状图实训... 1 2&#xff09;Python水平柱状图实训... 3 3&#xff09;Python多数据并列柱状图实训.. 3 4&#xff09;Python折线图实训... 4 5&#xff09;Python直方图实训...…

PAT 1108 Finding Average

原题链接&#xff1a;PAT 1108 Finding Average The basic task is simple: given N real numbers, you are supposed to calculate their average. But what makes it complicated is that some of the input numbers might not be legal. A legal input is a real number in…

Python只读取Excel文件的一部分数据,比如特定范围的行和列?

如何只读取Excel文件的一部分数据&#xff0c;比如特定范围的行和列&#xff1f; 在Python中&#xff0c;如果你只想读取Excel文件的特定范围&#xff0c;可以使用以下方法&#xff1a; pandas: Pandas是一个强大的数据处理库&#xff0c;它有一个内置函数read_excel()用于读…

在不修改.gitignore的情况下,忽略个人文件的提交

Git提供了一个assume-unchanged命令&#xff0c;可以将文件标记为“假设未更改”。这意味着Git将忽略该文件的更改&#xff0c;不会将其提交到仓库中。要使用该命令&#xff0c;只需运行以下命令&#xff1a; git update-index --assume-unchanged <file>其中&#xff0…

边缘网关带来的效益探讨-天拓四方

边缘网关作为连接物理世界与数字世界的桥梁&#xff0c;在智能制造、智慧城市等各个领域中发挥着关键作用。通过收集、处理来自各种传感器和设备的数据&#xff0c;边缘网关为实时决策、优化生产流程以及提高运营效率提供了强有力的支持。下面我们将探讨边缘网关带来的效益。 …

链路全贯通,价值引领数据能力升级|爱分析报告

数据能力已经成为企业的核心竞争力。政策驱动数据产业发展加速&#xff0c;如2023年国家数据局成立&#xff1b;2024年&#xff0c;《“数据要素”三年行动计划&#xff08;2024-2026年&#xff09;》正式发布&#xff1b;并且 2024年起正式将数据资源视为资产纳入财务报表&…

C++——list类用法指南

一、list的介绍 1、list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代 2、list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素 …

yum安装并初始化PG

获取yum源 从官网获取yum源&#xff0c;并安装rpm包 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm安装 yum install -y postgresql14-server启动并初始化 sudo /usr/pgsql-14/bin/postgre…

机器学习-EM算法

目录 一:最大似然估计 二:EM算法 加入隐变量 EM算法推导 1.Jensen不等式 点个赞呗!!! 一:最大似然估计 举个栗子:一个袋子里有很多个球,每次放回的取一个球,取了十次,其中有六次白球,4次黑球。那么就认为袋子里面取到白球的概率为6/10,黑球的概率为4/10。…

pytorch-01

加载mnist数据集 one-hot编码实现 import numpy as np import torch x_train np.load("../dataset/mnist/x_train.npy") # 从网站提前下载数据集&#xff0c;并解压缩 y_train_label np.load("../dataset/mnist/y_train_label.npy") x torch.tensor(y…