作业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 }
程序运行如下:
相关文章:
作业7.2
用结构体数组以及函数完成: 录入你要增加的几个学生,之后输出所有的学生信息 删除你要删除的第几个学生,并打印所有的学生信息 修改你要修改的第几个学生,并打印所有的学生信息 查找你要查找的第几个学生,并打印该的学生信息 1 /*…...
PCL 点云聚类(基于体素连通性)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里的思路很简单,我们通过将点云转换为体素,基于体素的连通性实现对点云的聚类(有点类似于欧式聚类),不过这种方式进行的聚类有些粗糙,但聚类速度相对会快很多,具体的实现效果可以详细阅读代码。 二、实现代…...
python自动化运维--DNS处理模块dnspython
1.dnspython介绍 dnspython是Pyhton实现的一个DNS工具包,他几乎支持所有的记录类型,可以用于查询、传输并动态更新ZONE信息,同事支持TSIG(事物签名)验证消息和EDNS0(扩展DNS)。在系统管理方面&a…...
成人职场商务英语学习柯桥外语学校|邮件中的“备注”用英语怎么说?
在英语中,"备注"通常可以翻译为"Notes" 或 "Remarks"。 这两个词在邮件中都很常用。例如: 1. Notes Notes: 是最通用和最常见的表达,可以用在各种情况下,例如: 提供有关电子邮件内容的附加信息 列…...
AndroidStudio报错macMissing essential plugin
电脑重启后打开studio: Missing essential plugin: org.jetbrains.android Please reinstall Android Studio from scratch. 无法使用 对应Mac下disabled_plugins.txt位于如下目录: /Users/ACB/Library/Application Support/Google/AndroidStudio4.2 …...
doris集群物理部署保姆级教程
doris物理安装 1、安装要求 Linux 操作系统版本需求 查看CentOs版本(>7.1) cat /etc/redhat-release 1)设置系统最大打开文件句柄数 vi /etc/security/limits.conf soft nofile 65536hard nofile 65536 echo ‘’’ soft nofile 655360hard nofile 655…...
探囊取物之多形式登录页面(基于BootStrap4)
基于BootStrap4的登录页面,支持手机验证码登录、账号密码登录、二维码登录、其它统一登录 低配置云服务器,首次加载速度较慢,请耐心等候;演练页面可点击查看源码 预览页面:http://www.daelui.com/#/tigerlair/saas/pr…...
【ONLYOFFICE】| 桌面编辑器从0-1使用初体验
目录 一. 🦁 写在前面二. 🦁 在线使用感受2.1 创建 ONLYOFFICE 账号2.2 编辑pdf文档2.3 pdf直接创建表格 三. 🦁 写在最后 一. 🦁 写在前面 所谓桌面编辑器就是一种用于编辑文本、图像、视频等多种自媒体的软件工具,具…...
20、PHP字符串的排列(含源码)
题目: PHP字符串的排列? 描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可…...
Linux 标准IO的fopen和fclose
getchar(),putchar() ‐‐‐‐ 一个字符 gets(buf),puts(buf) ‐‐‐‐ 一串字符 scanf(),printf() ‐‐‐‐ 一个字符,一串字符都可以 fopen函数的形式 FILE * fopen(constchar *path , cost char *mode) /* * description : 打开一个文件 * param ‐ path…...
一个计算密集小程序在不同CPU下的表现
本文比较了几款CPU对同一测试程序的比较结果,用的是Oracle公有云OCI上的计算实例,均分配的1 OCPU,内存用的默认值,不过内存对此测试程序运行结果不重要。 本文只列结果,不做任何评价。下表中,最后一列为测…...
圈子系统搭建教程,以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP小程序H5
圈子是一款社区与群组的交友工具。你可以在软件内创造一个兴趣的群组从而达到按圈子来交友的效果用户可以根据自己的兴趣爱好。 1. 创建圈子 轻松创建专属圈子,支持付费型社群。 2. 加入圈子 加入不同圈子,设置不同名片,保护隐私。 3. 定…...
递归算法练习
112. 路径总和 package Tree;import java.util.HashMap; import java.util.Map;class TreeNode {int val;TreeNode left;TreeNode right;public TreeNode(int val) {this.val val;} }/*** 求 树的路径和* <p>* 递归 递减* <p>* 询问是否存在从*当前节点 root 到叶…...
WebDriver 类的常用属性和方法
目录 🎍简介 🎊WebDriver 核心概念 🎉WebDriver 常用属性 🎁WebDriver 常用方法 🐷示例代码 🎪注意事项 🎐结语 🧣参考资料 🎍简介 Selenium WebDriver 是一个用…...
基于x86+FPGA+AI轴承缺陷视觉检测系统,摇枕弹簧智能检测系统
一、承缺陷视觉检测系统 应用场景 轴类零件自动检测设备,集光、机、软件、硬件,智能图像处理等先进技术于一体,利用轮廓特征匹配,目标与定位,区域选取,边缘提取,模糊运算等算法实现人工智能高…...
短剧小程序系统cps分销开发搭建
短剧小程序系统CPS分销开发搭建是一个相对复杂但具有广阔商业前景的过程。以下是关于短剧小程序系统CPS分销开发搭建的详细步骤和要点: 需求分析与市场调研: 深入了解市场需求、用户画像和竞品分析,明确产品定位和功能需求。研究目标用户的消…...
代理IP的10大误区:区分事实与虚构
在当今的数字时代,代理已成为在线环境不可或缺的一部分。它们的用途广泛,从增强在线隐私到绕过地理限制。然而,尽管代理无处不在,但仍存在许多围绕代理的误解。在本博客中,我们将探讨和消除一些最常见的代理误解&#…...
数组-长度最小的子数组
M长度最小的子数组(leetcode209) /*** param {number} target* param {number[]} nums* return {number}*/ var minSubArrayLen function(target, nums) {const n nums.length;let ans n 1;let sum 0; // 子数组元素和let left 0; // 子数组…...
深度学习之交叉验证
交叉验证(Cross-Validation)是一种用于评估和验证机器学习模型性能的技术,尤其是在数据量有限的情况下。它通过将数据集分成多个子集,反复训练和测试模型,以更稳定和可靠地估计模型的泛化能力。常见的交叉验证方法有以…...
使用 Python 五年后,我发现学 python 必看这三本书!少走一半弯路
第一本 《Python编程-从入门到实践》 适合零基础的读者 豆瓣评分:9.1 推荐指数:5颗星 推荐理由: 本书是针对所有层次的 Python 读者而作的 Python 入门书。全书分为两部分: 第一部分介绍使用Python 编程所必须了解的…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
