c语言实现学生管理系统,C语言学生管理系统源代码

2023-11-09

《C语言学生管理系统源代码》由会员分享,可在线阅读,更多相关《C语言学生管理系统源代码(12页珍藏版)》请在人人文库网上搜索。

1、C语言学生成绩管理系统源代码,保证能用#include malloc.h#include stdio.h#include stdlib.h#include string.hchar filename30;int n=0,d;FILE *fp;typedef struct studentint num;char name10;int yuwen;int shuxue;int yingyu;int count;float aver;struct student *next; aaa;typedef struct stuint num;char name10;int yuwen,shuxue,yin。

2、gyu;int count;float aver; aaaa;aaa *head;/*浏览*/void liulan(aaa *head)aaa *p;if(head=NULL)printf(n没有任何学生资料!n);elseprintf(ttt考试成绩管理系统n);printf(-n);printf(|学号t|姓名t|语文t|数学t|英语t|总分t|平均分|n);printf(-n);p=head-next;doprintf(|%dt|%st|%dt|%dt|%dt|%dt|%.1ft|n,p-num,p-name,p-yuwen,p-shuxue,p-yingyu,p-yuwen+p-sh。

3、uxue+p-yingyu,p-count/3.0);printf(-n);p=p-next;while(p!=NULL);/*读取*/aaa *duqu ()aaa *s,*head,*p,*q;n=0;if(fp=fopen(filename,rb)=NULL)printf(不能读取文件!n);return NULL;head=malloc(sizeof(aaa);if(head=NULL)printf(内存空间不足,文件读取失败!n);return NULL;head-next=NULL;p=head;q=malloc(sizeof(aaa);if(!feof(fp)fread(q,si。

4、zeof(aaaa),1,fp);q-next=NULL;while(!feof(fp)s=malloc(sizeof(aaa);fread(s,sizeof(aaaa),1,fp);s-next=NULL;p-next=q;p=q;q=s;n+;return head;/*输入函数*/aaa *shuru (aaa *head)aaa *q,*p,*s;aaa newstd;n=0;q=head;doq=head;s=malloc(sizeof(aaa);if(s=NULL)printf(内存不足,添加学生成绩失败!07n);break;printf(请输入学号(输入0退出):);scanf。

5、(%d,&newstd.num);if(newstd.num=0)break;if(newstd.numnext;while(p!=NULL)if(p-num=newstd.num)printf(输入学号重复,请重新输入!n);break;p=p-next;q=q-next;if(p=NULL)printf(姓名:);scanf(%s,newstd.name);printf(语文:);scanf(%d,&newstd.yuwen);printf(数学:);scanf(%d,&newstd.shuxue);printf(英语:);scanf(%d,&newstd.yingyu);strcpy(s。

6、-name,newstd.name);s-num=newstd.num;s-yuwen=newstd.yuwen;s-shuxue=newstd.shuxue;s-yingyu=newstd.yingyu;s-count=s-yuwen+s-shuxue+s-yingyu;s-aver=(float)(s-count/3.0);s-next=NULL;q-next=s;n+;while(1);printf(输入完毕,%d个学生成绩已输入(已插入)n,n);return head;/*保存*/int baocun (aaa *head)aaa *s;s=head-next;if(fp=fopen。

7、(filename,wb)=NULL)printf(不能写入文件!保存失败!n);return 0;while(s!=NULL)fwrite(s,sizeof(aaaa),1,fp);s=s-next;fclose(fp);return 1;/*保存文件*/int save (aaa *head)int i=0;aaa *s;s=head-next;printf(请输入文件路径及文件名:);scanf(%s,filename);if(fp=fopen(filename,wb)=NULL)printf(不能建立文件!n);return 0;while(s!=NULL)fwrite(s,sizeo。

8、f(aaaa),1,fp);s=s-next;i+;fclose(fp);printf(%d名学生成绩记录写入%s中!n,i,filename);printf(文件保存成功!n);return 1;/*打开文件*/aaa *dakai (void)aaa *s,*head,*p,*q;n=0;printf(请输入文件路径及文件名:);scanf(%s,filename);if(fp=fopen(filename,rb)=NULL)printf(不能读取文件!n);return NULL;head=malloc(sizeof(aaa);if(head=NULL)printf(内存空间不足,文件打。

9、开失败!n);return NULL;head-next=NULL;p=head;q=malloc(sizeof(aaa);if(!feof(fp)fread(q,sizeof(aaaa),1,fp);q-next=NULL;while(!feof(fp)s=malloc(sizeof(aaa);fread(s,sizeof(aaaa),1,fp);s-next=NULL;p-next=q;p=q;q=s;n+;liulan(head);printf(-n);printf(文件已打开,%d个记录已读取n,n);d=baocun(head);getchar();return head;/*建立*。

10、/aaa *great()aaa *head;head=malloc(sizeof(aaa);if(head=NULL)printf(内存空间不足,链表建立失败!07n);return NULL;head-next=NULL;head-num=0;head=shuru(head);d=save(head);return head;/*查询*/int chaxun(aaa *head)aaa *q;int i;if(head=NULL)printf(n没有任何的学生资料!n);return 0;printf(需要查询的学号:);scanf(%d,&i);q=head-next;while(q-n。

11、um!=i & q!=NULL)q=q-next;if(q!=NULL)printf(学号t姓名t语文t数学t英语t总分t平均分n);q-count=q-yuwen+q-shuxue+q-yingyu;q-aver=(float)(q-count/3.0);printf(%dt%st%dt%dt%dt%dt%.1fn,q-num,q-name,q-yuwen,q-shuxue,q-yingyu,q-count,q-aver);return 0;elseprintf(查无此人!n);return 0;/*删除*/aaa *shanchu(aaa *head)aaa *s,*q;int m;hea。

12、d=duqu();if(head=NULL)printf(没有任何学生记录!n);exit(0);printf(请输入要删除的学生学号);scanf(%d,&m);if(m=0)return head;s=head;q=s-next;while(q-num!=m & q!=NULL)q=q-next;s=s-next;if(q!=NULL)printf(学号:%d 姓名:%s 语文:%d 数学:%d 英语:%d 总分:%d 平均分:%.1fn,q-num,q-name,q-yuwen,q-shuxue,q-yingyu,q-yingyu+q-shuxue+q-yuwen,q-count/3.0。

13、);s-next=q-next;free(q);printf(删除学号为%d学生记录成功!n,m);elseprintf(查无此人!n);liulan(head);d=baocun(head);return head;/*排序*/aaa *paixu(aaa *head)aaa *p,*max,*q;int i,j,m;char t10;head=duqu();if(head=NULL)printf(n没有任何学生资料!07n);return NULL;exit(0);q=head;printf(按总成绩排序所有学生n);for(i=0;inext;for(j=i+1;jnext;if(max。

14、-countcount)max=p;if(max!=q)m=max-num;max-num=q-num;q-num=m;strcpy(t,max-name);strcpy(max-name,q-name);strcpy(q-name,t);m=max-yuwen;max-yuwen=q-yuwen;q-yuwen=m;m=max-shuxue;max-shuxue=q-shuxue;q-shuxue=m;m=max-yingyu;max-yingyu=q-yingyu;q-yingyu=m;q-count=q-yuwen+q-shuxue+q-yingyu;q-aver=(float)(q-c。

15、ount/3.0);d=baocun(head);return head;/*插入*/aaa *charu(aaa *head)aaa *s,*p;s=p=head;p=shuru(s);p=paixu(p);printf(插入完毕!n);liulan(head);d=baocun(head);return head;/*修改*/aaa *xiugai(aaa *head)aaa *q;int m;if(head=NULL)printf(n没有任何学生记录!n);return NULL;q=head-next;printf(请输入要修改的学生的学号:);scanf(%d,&m);while(q。

16、-num!=m & q!=NULL)q=q-next;if(q=NULL)printf(查无此人!n);printf(学号:%d 姓名:%s 语文:%d 数学:%d 英语:%d 总分:%d 平均分:%.1fn,q-num,q-name,q-yuwen,q-shuxue,q-yingyu,q-yuwen+q-shuxue+q-yingyu,q-count/3.0);printf(请输入修改之后的学号:);scanf(%d,&q-num);printf(请输入修改之后的姓名:);scanf(%s,q-name);printf(请输入修改之后的语文:);scanf(%d,&q-yuwen);prin。

17、tf(请输入修改之后的数学:);scanf(%d,&q-shuxue);printf(请输入修改之后的英语:);scanf(%d,&q-yingyu);printf(修改成功n);q-count=q-yuwen+q-shuxue+q-yingyu;q-aver=(float)(q-count/3.0);printf(学号:%d 姓名:%s 语文:%d 数学:%d 英语:%d 总分:%d 平均分:%.1fn,q-num,q-name,q-yuwen,q-shuxue,q-yingyu,q-count,q-aver);d=baocun(head);head=duqu();head=paixu(he。

18、ad);printf(学号为%d学生数据修改成功!n,m);liulan(head);return head;/*主函数*/main()aaa *head;int m;doprintf(n);printf(t*n);printf(t* = *n);printf(t* 学生成绩管理系统 *n);printf(t* = *n);printf(t* *n);printf(t* 1.输入学生成绩 *n);printf(t* 2.打开记录文件 *n);printf(t* 3.查找学生成绩 *n);printf(t* 4.修改学生信息 *n);printf(t* 5.删除学生信息 *n);printf(t。

19、* 6.插入学生信息 *n);printf(t* 7.学生成绩排序 *n);printf(t* 8.浏览学生信息 *n);printf(t* 9.保存输入数据 *n);printf(t* 0退出 *n);printf(t* *n);printf(t*n);printf(请输入选项(0-9):);scanf(%d,&m);switch(m)case 1:printf(执行输入学生成绩命令!n);head=great();break;case 2:printf(执行打开文件命令!n);head=dakai();break;case 3:printf(执行查找学生信息命令!n);d=chaxun(h。

20、ead);break;case 4:printf(执行修改学生信息命令!n);head=xiugai(head);break;case 5:printf(执行删除学生信息命令!n);head=shanchu(head);break;case 6:printf(执行插入学生信息命令!n);head=charu(head);break;case 7:printf(执行学生成绩排序命令!n);head=paixu(head);printf(已成功排序,输入任意键查看!n);getchar();liulan(head);break;case 8:printf(执行浏览学生信息命令!n);liulan(head);break;case 9:printf(执行保存学生信息命令!n);d=save(head);break;case 0:goto AAAA;default:printf(输入错误!(请输入0-9选项)07n);break;while(1);AAAA:if(head!=NULL)d=baocun(head);getchar(。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言实现学生管理系统,C语言学生管理系统源代码 的相关文章

  • OkHttp的特性优点及爬虫示例

    OkHttp是一个Java和Android应用程序的HTTP客户端库 旨在提高资源加载速度和节省带宽 与其他类似的库相比 它具有以下优点和区别 一 OkHttp的特性和优点 支持HTTP 2协议 可提高效率和速度 支持连接池 减少请求延迟
  • 【剑指offer】面试题39:二叉树的深度

    一 题目描述 输入一棵二叉树 求该树的深度 从根结点到叶结点依次经过的结点 含根 叶结点 形成树的一条路径 最长路径的长度为树的深度 二 解题思路 递归思想 1 如果一棵树只有一个节点 那么深度为1 2 如果根节点只有左子树而没有右子树 那
  • 【python】【leetcode】【算法题目389—Find the Difference】

    一 题目描述 题目原文 Given two strings s and t which consist of only lowercase letters String t is generated by random shuffling
  • 从一道题目学习Nunjucks模板

    Nunjucks简介 Nunjucks 是一个功能丰富 强大的 JavaScript 专用模板引擎 Nunjucks 提供丰富的语言特性和块继承 自动转移 宏和异步控制等等 重点要关注的是 Nunjucks 模板引擎的代码在沙箱环境中运行
  • Matplotlib课程–学习Python数据可视化

    Learn the basics of Matplotlib in this crash course tutorial Matplotlib is an amazing data visualization library for Pyt
  • 详解Java锁对象

    1 Synchronized 1 1 synchronized特性 1 互斥 synchronized会起到互斥效果 某个线程执行到某个对象的synchronized中时 其他线程如果也执行到同一个对象synchronized就会阻塞等待
  • Python项目:学生信息管理系统(完整版)

    本文是基于上一篇 python项目 学生信息管理系统 初版 进行了完善 并添加了新的功能 主要包括有 完善部分 输入错误 无数据查询等异常错误 新的功能 文件的操作 文件的读写 其中重点是对文本字符串的详细解析 关于整个解析拆解和重组详见代
  • Map分类与常见情况

    java为数据结构中的映射定义了一个接口java util Map 它有四个实现类 分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对 根据键得到值 因此不允许键重复 重复了覆盖
  • 计算机网络---流量控制与可靠传输机制

    一 数据链路层的流量控制 较高的发送速度和较低的接收能力的不匹配 会造成传输出错 因此流量控制也是数据链路层的一项重要工作 数据链路层的流量控制是点对点 而传输层的流量控制是端到端的 数据链路层流量控制手段 接收方收不下就不回复确认 传输层
  • Blink 源码编译

    参考 http fetching118 com article 5 html 帮助文档 http fetching118 com blink doc quickstart scala shell quickstart html 1 从Git
  • 由于找不到msvcr120.dll,无法继续执行代码怎么修复,可以使用这个三个方法

    msvcr120 dll是 Microsoft Visual C Redistributable 中的一个文件 是Windows系统非常重要组件 它包含了大量用于 C 程序的函数和类库 这个文件用于一些应用程序或游戏 如果丢失或受损 就可能
  • 【cartographer_ros】四: 发布和订阅里程计odom信息

    上一节介绍了激光雷达Scan传感数据的订阅和发布 本节会介绍里程计Odom数据的发布和订阅 里程计在cartographer中主要用于前端位置预估和后端优化 官方文档 http wiki ros org navigation Tutoria
  • openwrt 编译进阶

    1 编译703 8M固件 1 target linux ar71xx image Makefile eval call SingleProfile TPLINK LZMA fs 64kraw TLWR703 tl wr703n v1 TL
  • 计算机考研复试常问问题 计算机网络篇

    一 计算机网络体系结构 1 OSI TCP IP和五层体系结构 五层协议 分为5层 自上到下分别为 应用层 传输层 网络层 数据链路层 物理层 应用层 为特定应用程序提供数据传输服务 传输单位是报文 传输层 为不同主机的进程提供通信服务 传
  • 五金手册钢材理论重量计算小程序_常用金属重量计算公式,值得收藏

    这是金属加工 mw1950pub 发布的第11525篇文章 编者按 分享常用的一些金属材料重量计算公式 钢管重量计算公式 方钢重量计算公式 钢板重量计算公式 值得收藏 圆钢重量 公斤 0 00617 直径 直径 长度 方钢重量 公斤 0 0
  • RabbitMQ--基础--11.1--持久化,消息的保障机制,生产者确认机制,消费者处理消息的模式

    RabbitMQ 基础 11 1 持久化 消息的保障机制 生产者确认机制 消费者处理消息的模式 1 持久化 交换机的持久化 队列的持久化 消息的持久化 1 1 交换机的持久化 RabbitMQ服务重启 若交换机不设置持久化 交换机的元数据会
  • 使用Resource Hacker 更改exe文件图标(小白注意)

    当需要将已经封装好的exe文件更改其图标时 使用resource Hacker可以实现 1 打开软件 2 将exe文件直接拖拽带软件里 这里以优酷 exe为案例 这就是显示的exe文件的内容 3 更改图标要更改icon Group 文件夹
  • C#中解决ListView更新数据出现闪烁的实例程序

    在使用vs自动控件ListView控件时候 更新里面的部分代码时候出现闪烁的情况 解决办法使用双缓冲 添加新类继承ListView 对其重写 一 双缓冲作用 双缓冲甚至是多缓冲 在许多情况下都很有用 一般需要使用双缓冲区的地方都是由于 生产
  • FinClip小程序中如何对接微信登录?FinClip小程序如何接入APP的授权登录?

    通常来说 真正意义的微信小程序授权登录只能在微信的APP中进行 是指由微信APP授权给微信小程序 而FinClip小程序的授权登录则是通过集成了SDK的第三方APP进行授权 因为一般APP自己就具有账号体系 而在集成FinClip SDK的

随机推荐

  • vue-cli初始化

    1 全局安装vue cli npm install g vue cli 全局安装vue cli vue version 或者 vue V 查看版本 2 创建项目 vue create vue cli demo 常用命令 serve vue
  • bcdedit添加win7启动项

    公司的电脑是日文win7系统 安装在C盘 后来有需求 在E盘安装了中文win7 只是偶尔用用 后来日语系统出了问题 重新格式化C盘 重装了日文系统 中文系统也就进不去了 现在突然要用中文系统了 需要修复一下启动项 用管理员权限执行cmd 然
  • 前端报错。

    一 前端报500 打开网络请求 看响应 1 500错误码的官方解释是 500服务器内部错误 Internal server error 主要是由于IWAM账号的密码错误造成的 该错误说明IIS服务器无法解析ASP代码 访问一个静态页面试试是
  • QT笔记——使用重载的信号多种方法

    使用重载的信号 的 多种写法 接下来我们将使用QComboBox 的信号来举例 我们发现currentIndexChanged 这个信号是重载的 我们在正常写是编译不通过的 ui comboBox gt addItem QStringLit
  • CCF/CSP 201604-2 俄罗斯方块(满分题解Java版)

    此题 猛滴一看确实非常容易让人懵懵的 主要是题目描述的非常不清晰 很难让人能够透彻的理解 如果连题目都看不懂 那就不谈写出代码了 题目描述 官方题目描述 题目地址 题目解读 关键的是要理解题目 Java题解 import java util
  • JPA @Query时,无法使用limit函数原因及解决方案

    前言 使用ssh时 我加入了springdata jpa去查询sql 在 query中使用limit函数时 报错 后来分析原因才知道 springdata jpa的 query中写的sql叫JPQL jpql是不支持limit函数的 而原生
  • ubuntu vsocde 配置 pcl头文件库

    vscode 配置 pcl头文件库 ctrl shift p 输入Edit configuretion 在includePath种添加 usr include pcl 1 8 如果还是没有提示 那么要开启提示 将复选框取消就行 还可以修改提
  • 剑指offer 学习笔记 把字符串转换成整数

    面试题67 把字符串转换成整数 类似atoi函数 把一个字符串转换成一个整数 当输入非法时返回0 为了区分是由于输入0而返回0还是输入非法而返回0 而声明了一个全局变量g nStatus 为了防止溢出 可先将结果存入long long类型中
  • 安装FISCO-BCOS的那些坑

    首先从官网下载源码 git clone https github com FISCO BCOS FISCO BCOS git要是内网的时候可以将源码下载后放到服务器进行解压unzip filename zip 执行build 如果没有安装过
  • vscode使用ssh远程连接服务器时出现timeout情况的解决方法汇总

    背景 mobaxterm通过ssh能正常连接服务器 而在vscode里远程连接服务器时则提示连接超时 解决方法一 win R打开运行命令框 输入cmd打开命令提示符 在下图红圈位置右键然后选择属性 选择取消 使用旧控制台 U 解决方法二 右
  • Visual Studio 2022 include和lib路径问题

    最近安装了Visual Studio 2022 想试下opengl 首先是用cmake尝试编译 结果编译不过 一直报错 LINK fatal error LNK1104 无法打开文件 ucrtd lib 然后我新建了一个工程 导入了glfw
  • Xshell 6安装和使用教程

    作者 翁松秀 Xshell 6安装和使用教程 工欲善其事必先利其器 Xshell 6安装和使用教程 一 XShell 6的安装 二 XShell 6的使用 创建链接 快捷键 主题 三 XFTP的下载和安装 一 XShell 6的安装 到官网
  • 数据挖掘---分类算法之支持向量机SVM

    上篇已经简单的说了下支持向量机的理论 里面有不少公式 需要肯学习的你一步步的推导试一试 说实在的还是挺能考验数学能力的 当年俺老孙就是一步步的推导过 只有这样你才能对这个过程有清晰的认识 才能对这个算法有所体会 下面来举个例子 说说用支持向
  • call、apply和bind的区别

    首先说说call apply和bind的作用吧 它们的作用都是相同的 都是动态的修改当前函数内部环境对象this的指向 call apply和bind区别 相同点 作用相同 都是动态修改this指向 都不会修改原先函数的this指向 异同点
  • 使用学生邮箱注册jetbrains

    1 到 https www jetbrains com zh student 点击申请按钮开始申请 2 在表单上方选择申请方式填写相关信息后提交申请 使用校园邮箱 就是广外邮箱 格式是学号加 gdufs edu cn 例如201810023
  • 二分查找 递归

    碎碎念念 假设我们要在一个升序排序的整型数组中查找某个特定的整数 如果找到了 返回该整数在数组中的索引号 如果没有找到 则返回 1 我们首先看要找的数和数组中间的数的大小关系 如果相等 那么说明找到了 如果要找的数小于数组中间的数 那么我们
  • 由集成运放构成的基本运算电路

    一 比例运算放大器 1 同相比例运算放大器 2 反相比例运算放大器 二 相加器 1 反向相加器 2 同向相加器 3 相减器 根据叠加原理 如上相减器可拆分为如下两个相加器 第一图 第二图 三 积分器 1 简单积分器 2 差动积分器 四 微分
  • 模拟上传文件至服务器(解决socket中read阻塞问题)

    客户端 package cn dali4 code03ex import java io FileInputStream import java io IOException import java io InputStream impor
  • python一行写不下,变多行

    python里一行写不下 拆成多行 和 两种方法 在一行末尾 加上 也就是空格加上 a sdfaf test 注意两个对象都要独立 字符串必须都用双引号引起 如果是if and 后加 其实用括号也可以 比如 a sdfaf test 或者
  • c语言实现学生管理系统,C语言学生管理系统源代码

    C语言学生管理系统源代码 由会员分享 可在线阅读 更多相关 C语言学生管理系统源代码 12页珍藏版 请在人人文库网上搜索 1 C语言学生成绩管理系统源代码 保证能用 include malloc h include stdio h incl