学生管理系统

用结构体数组以及函数完成:
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("请输入学生的名字:");                      
        scanf("%s", stu[i].name);                            
                                                             
        printf("请输入学生的学号:");                      
        scanf("%d", &stu[i].id);                             
                                                             
        printf("请输入学生的年龄:");                      
        scanf("%d", &stu[i].age);                            
        (*len)++;                                            
    }                                                        
    show_student(len);                                       
}                                                            
                                                             
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)--;                                                
    show_student(len);                                       
}                                                            
                                                             
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("请输入修改后的名字:");                        
    scanf("%s", stu[n-1].name);                              
                                                             
    printf("请输入修改后的学号:");                        
    scanf("%d", &stu[n-1].id);                               
                                                             
    printf("请输入修改后的年龄:");                        
    scanf("%d", &stu[n-1].age);                              
                                                             
    show_student(len);                                       
}                                                            
                                                             
void show_student(int *len)                                  
{                                                            
    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); 
 void show_student(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();
    void show_student();
    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;
}

 实现效果

***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
1
请输入增加学生信息的个数2
请输入第1个学生的信息请输入学生的名字:21
请输入学生的学号:1
请输入学生的年龄:1
请输入第2个学生的信息请输入学生的名字:22
请输入学生的学号:2
请输入学生的年龄:2
姓名:21	学号:1	年龄:1
姓名:22	学号:2	年龄:2
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
2
请输入删除学生的位数1
姓名:22	学号:2	年龄:2
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
1   
请输入增加学生信息的个数2
请输入第2个学生的信息请输入学生的名字:21
请输入学生的学号:1 
请输入学生的年龄:1
请输入第3个学生的信息请输入学生的名字:23
请输入学生的学号:3
请输入学生的年龄:3
姓名:22	学号:2	年龄:2
姓名:21	学号:1	年龄:1
姓名:23	学号:3	年龄:3
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
3   
请输入修改学生的位数2
请输入修改后的名字:22
请输入修改后的学号:2
请输入修改后的年龄:2
姓名:22	学号:2	年龄:2
姓名:22	学号:2	年龄:2
姓名:23	学号:3	年龄:3
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
3   
请输入修改学生的位数1
请输入修改后的名字:21
请输入修改后的学号:1 
请输入修改后的年龄:1
姓名:21	学号:1	年龄:1
姓名:22	学号:2	年龄:2
姓名:23	学号:3	年龄:3
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
2
请输入删除学生的位数2
姓名:21	学号:1	年龄:1
姓名:23	学号:3	年龄:3
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
4
请输入查找学生的位数2
姓名:23	学号:3	年龄:3
***请选择你的操作***
***1.增加学生信息***
***2.删除学生信息***
***3.修改学生信息***
***4.查找学生信息***
*****5.退出界面*****
5
ubuntu@ubuntu:~/vim/student_inf

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MES系统如何帮助企业提高生产效率

万界星空科技推出的制造执行MES系统&#xff0c;通过一系列先进的技术手段和管理理念&#xff0c;显著提高了制造业工厂的生产效率。以下是MES系统帮助提高生产效率的详细分析&#xff1a; 一、实时监控与快速响应 实时监控生产状态&#xff1a;MES系统能够实时采集生产线上的…

java 代码块

Java中的代码块主要有三种类型&#xff1a;普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。 普通代码块&#xff1a;在方法内部定义&#xff0c;使用一对大括号{}包围的代码片段。它的作用域限定在大括号内&#xff0c;每当程序执行到该代码块时就会执行其…

SpringMVC的基本使用

SpringMVC简介 SpringMVC是Spring提供的一套建立在Servlet基础上&#xff0c;基于MVC模式的web解决方案 SpringMVC核心组件 DispatcherServlet&#xff1a;前置控制器&#xff0c;来自客户端的所有请求都经由DispatcherServlet进行处理和分发Handler&#xff1a;处理器&…

linux中如何启动python虚拟环境

找到python虚拟环境所在目录 执行下面的命令即可 source auth_python/bin/activate

linux 下neo4j的安装

一、neo4j简介 Neo4j 是一个高性能的 NoSQL 图形数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j 也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。 neo4j与jdk版本对应 neo4j的版本需要与jdk版本相适配,否则容易出现安装失…

数据库原理之数据库基本概念

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念&#xff0c;帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data&#xff1a;描述事物的符号&#xff0c;数据库中存储的基本对象。 数据库Database&#xff1a;长期存储在计算机…

CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器 前言一、IP地址及主机名称规划1.修改主机名 二、配置rsyslog日志服务器1.安装rsyslog服务2.编辑/etc/rsyslog.conf 文件3.启动并启用rsyslog服务4.验证端口是否侦听 三、在rsyslog日志服务器上配置firewalld防火墙四、配置rsyslog日志客户端1.编…

25考研:今年初试时间比去年更早了?

过去5年考研初试时间安排如下&#xff1a; 24考研&#xff1a;2023年12月23-24日&#xff08;倒数第二个周末&#xff09; 23考研&#xff1a;2022年12月24-25日&#xff08;倒数第二个周末&#xff09; 22考研&#xff1a;2021年12月25-26日&#xff08;最后一个周末&#xf…

opencascade AIS_InteractiveContext源码学习7 debug visualization

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…

数据加密解密和哈希的解析

[S1301]数据的加解密 对提供的原始数据&#xff08;字符串或者二进制数组&#xff09;进行加密是数据保护框架体提供的基本功能&#xff0c;接下来我们利用一个简单的控制台程序来演示一下加解密如何实现。数据的加解密均由IDataProtector对象来完成&#xff0c;而该对象由IDa…

FormLayout布局和FormItem对比

FormLayout布局和FormItem对比 FormLayout布局 package mainimport ("fyne.io/fyne/v2""fyne.io/fyne/v2/app""fyne.io/fyne/v2/container""fyne.io/fyne/v2/layout""fyne.io/fyne/v2/widget" )func main() {myApp : app.…

vulnhub靶场ai-web 2.0

1 信息收集 1.1 主机发现 arp-scan -l 主机地址为192.168.1.4 1.2 服务端口扫描 nmap -sS -sV -A -T5 -p- 192.168.1.4 开放22&#xff0c;80端口 2 访问服务 2.1 80端口访问 http://192.168.1.4:80/ 先尝试admin等其他常见用户名登录无果 然后点击signup发现这是一个注…

【Rust入门教程】hello world程序

文章目录 前言Hello World程序运行总结 前言 对于学习任何一种新的编程语言&#xff0c;我们都会从编写一个简单的Hello World程序开始。这是一个传统&#xff0c;也是一个开始。在这篇文章中&#xff0c;我们将一起学习如何在Rust中编写你的第一个程序&#xff1a;Hello Worl…

重磅发布|WAIC 2024最新活动日程安排完整发布!

WAIC 2024 将于 7 月在上海世博中心和世博展览馆举行&#xff0c;论坛时间为 7 月 4 日至 6 日&#xff0c;展览时间为 7 月 4 日至 7 日。会议涵盖 AI 伦理治理、大模型、具身智能、投融资、教育人才等重点话题&#xff0c;体现 AI 向善等价值导向&#xff0c;9 位大奖得主和 …

免交互简单操作

免交互 交互&#xff1a;我们发出指令控制程序的运行&#xff0c;程序在接收到指令后按照指令的效果作出对应的反应 免交互&#xff1a;间接的&#xff0c;通过第三方的方式把指令传给程序&#xff0c;不用直接下达指令 Here Document免交互 这是命令行格式&#xff0c;也可…

CVE-2024-0603 漏洞复现

CVE-2024-0603 源码&#xff1a;https://gitee.com/dazensun/zhicms 开题&#xff1a; CVE-2024-0603描述&#xff1a;ZhiCms up to 4.0版本的文件app/plug/controller/giftcontroller.php中存在一处未知漏洞。攻击者可以通过篡改参数mylike触发反序列化&#xff0c;从而远程…

Dockerhub无法拉取镜像配置阿里镜像加速器

打开阿里镜像加速地址&#xff1a; https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 根据平台类型按照对应方式进行配置&#xff1a;Dokcer Desktop是在右上角点开配置 找到Docker Engine 进行设置JSON结构&#xff1a; 记得要重启Docker服务才会生效&#xff01…

无偏归一化自适应心电ECG信号降噪方法(MATLAB)

心电信号作为一种生物信号&#xff0c;含有大量的临床应用价值的信息&#xff0c;在现代生命医学研究中占有重要的地位。但心电信号低频、低幅值的特点&#xff0c;使其在采集和传输的过程中经常受到噪声的干扰&#xff0c;使心电波形严重失真&#xff0c;从而影响后续的病情分…

WSO2 products 文件上传漏洞(CVE-2022-29464)

前言 CVE-2022-29464 是一个影响多个 WSO2 产品的严重远程代码执行&#xff08;RCE&#xff09;漏洞。这些产品包括 WSO2 API Manager、WSO2 Identity Server 和 WSO2 Enterprise Integrator 等。由于用户输入验证不当&#xff0c;该漏洞允许未经身份验证的攻击者在服务器上上…

修改Springboot项目名称

修改Springboot项目名称 1. 整体描述2. 具体步骤2.1 修改module名称2.2 修改程序包名2.3 mybatis/mybatis-plus配置修改2.4 logback文件2.5 yml配置2.6 Application启动类2.7 其他 3. 总结 1. 整体描述 开发过程中&#xff0c;经常遇到新来个项目&#xff0c;需要一份初始代码…