c语言简易成绩管理系统c语言,C语言写的简易成绩管理系统

简单界面,只是功能做好了,打印的样子并不太好

#include

#include

#include

struct Data //数据结构

{

int number;

char name[16];

float kemu1;

float kemu2;

float kemu3;

float kemu4;

float kemu5;

float zongfen;

}data[10];

int id = 0;

int delay() //判断是否继续

{

int choise;

printf("是否继续(1/0)\n");

scanf("%d",&choise);

return choise;

}

void input()

{

while(1)

{

if(id < 10)

{

printf("输入学号:");

scanf("%d",&data[id].number);

printf("输入名字:");

scanf("%s",data[id].name);

printf("输入科目1成绩:");

scanf("%f", &data[id].kemu1 );

printf("输入科目2成绩:");

scanf("%f", &data[id].kemu2 );

printf("输入科目3成绩:");

scanf("%f", &data[id].kemu3 );

printf("输入科目4成绩:");

scanf("%f", &data[id].kemu4 );

printf("输入科目5成绩:");

scanf("%f", &data[id].kemu5 );

data[id].zongfen = (data[id].kemu5+data[id].kemu4+data[id].kemu3+data[id].kemu2+data[id].kemu1);

id++;//每记录一个数据,全局变量增1;

}

else printf("记录已满!\n");

if(delay() == 0)

break;

}

}

void output1()//求出每名学生的平均成绩和总分

{

int i;

double s = 0;

printf(" 学号 名字 科目1 科目2 科目3 科目4 科目5 总分 平均分 \n\n");

for(i = 0;i < id;i++)

{

printf("%5d %s %2.2lf %2.2lf %2.2lf %2.2lf %2.2lf %2.2lf %2.2lf\n\n",

data[i].number,data[i].name,data[i].kemu1,data[i].kemu2,data[i].kemu3,data[i].kemu4,data[i].kemu5,data[i].zongfen,data[i].zongfen/5);

}

}

int cmp1( const void *a ,const void *b)

{

return (*(struct Data *)a).kemu1 > (*(struct Data *)b).kemu1 ? 1 : -1;

}

int cmp2( const void *a ,const void *b)

{

return (*(struct Data *)a).kemu2> (*(struct Data *)b).kemu2 ? 1 : -1;

}

int cmp3( const void *a ,const void *b)

{

return (*(struct Data *)a).kemu3 > (*(struct Data *)b).kemu3 ? 1 : -1;

}

int cmp4( const void *a ,const void *b)

{

return (*(struct Data *)a).kemu4 > (*(struct Data *)b).kemu4 ? 1 : -1;

}

int cmp5( const void *a ,const void *b)

{

return (*(struct Data *)a).kemu5> (*(struct Data *)b).kemu5 ? 1 : -1;

}

void output2()//求每门课程的平均分、及格率、最高成绩和最低成绩

{

int i,j,k=0;

double s1[5] ,s2[5],s3[5],s4[5];

//每门课总分

for(j=0;j<=id;j++)

{

s1[0] = s1[0]+data[j].kemu1;

s1[1] = s1[1]+data[j].kemu2;

s1[2] = s1[2]+data[j].kemu3;

s1[3] = s1[3]+data[j].kemu4;

s1[4] = s1[4]+data[j].kemu5;

}

//每门课不及格数量

for(j=0;j<=id;j++)

{

if(data[j].kemu1 < 60)

s2[0]++;

if(data[j].kemu2 < 60)

s2[1]++;

if(data[j].kemu3 < 60)

s2[2]++;

if(data[j].kemu4 < 60)

s2[3]++;

if(data[j].kemu5 <60)

s1[4]++;

}

qsort(data,id,sizeof(data[0]),cmp1);

s4[0] = data[0].kemu1;

s3[0] = data[id-1].kemu1;

qsort(data,id

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

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

相关文章

Log4Net

<?xml version"1.0" encoding"utf-8" ?> <configuration><configSections><section name"log4net" type"log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections><log4n…

c语言链表内存分配失败,链表的C语言实现之动态内存分配

链表的C语言实现之动态内存分配來源:互聯網 2008-06-01 02:05:07 評論一、为什么用动态内存分配但我们未学习链表的时候&#xff0c;假如要存储数量比较多的同类型或同结构的数据的时候&#xff0c;总是使用一个数组。比如说我们要存储一个班级学生的某科分数&#xff0c;总是…

(转)你真的会写单例模式吗——Java实现

http://www.runoob.com/design-pattern/singleton-pattern.html 单例模式可能是代码最少的模式了&#xff0c;但是少不一定意味着简单&#xff0c;想要用好、用对单例模式&#xff0c;还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结&#xff0c;如有错漏之处&a…

c语言保存后怎么打开文件,保存打开文件之后,怎么也不能在显示函数中出来。。...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼抑郁了。。各位指点一下。。void WritetoText(Person per[],int n){int i0;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf(…

BCGControlBar入门使用手册

BCGControlBar是MFC的一个扩展库&#xff0c;您可以用来构建类似于Microsoft Office 2000/XP/2003/2007/2010、Microsoft Visual Studio&#xff08;打印、用户定制工具栏、菜单等&#xff09;和其他一些知名产品的高级用户界面&#xff0c;例如&#xff1a;日历、网格、编辑和…

将list转为json字符串

//确保JSP和servlet的编码方式一致 resp.setContentType("text/html;charsetGBK"); List<String> jymdList new ArrayList<String>(); PrintWriter out null;try {//从数据库中取得ListjymdList efileViewUiService.getLymd();//简单粗暴,对于Map这句…

android分享图片功能实现原理,Android:简单实现并理解图片三级缓存

学习Android网络开发的过程中&#xff0c;势必会经历很多痛苦的过程&#xff0c;其中一个大坑就是图片缓存&#xff0c;当然现在有很多现成的库非常方便&#xff0c;常常几行代码就可以实现想要的功能&#xff0c;但不懂其中的原理是不行的&#xff0c;所以对于刚开始学习网络编…

android标题栏的属性,android – 属性“titleTextStyle”已经定义?

我已经导入一个Eclipse的android项目到android studio 1.2.2我的项目的gradle&#xff1a;dependencies {compile project(:unifiedPreferenceLib)compile project(:viewPagerIndicatorLib)compile project(:slidingUpFourSquare)compile project(:stylishDialogLib)compile pr…

Linux 之 编译器 gcc/g++参数详解

2016年12月9日16:48:53 ----------------------------- 内容目录&#xff1a; [介绍] gcc and g分别是gnu的c & c编译器 gcc/g在执行编译工作的时候&#xff0c;总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器e…

android 获取phone实例,android – 可以通过sdk来实例化一个telephony.Phone对象吗?

我正在尝试获取一个电话对象,以便我可以在我的应用程序内调用和会议两个数字.我已经尝试使用静态PhoneFactory.makeDefaultPhones((上下文))这个,但没有任何运气.String phoneFactoryName "com.android.internal.telephony.PhoneFactory";String phoneName "c…

连载 3:利用 matlab计算卷积

转载于:https://www.cnblogs.com/WHaoL/p/6155544.html

【Gradle】配置详解(持续更正补充)

1、build.gradle 工程构建文件。 顶级构建文件&#xff0c;为整个项目添加配置 // 声明gradle脚本自身需要使用的资源&#xff0c;包括依赖项、第三方插件、maven仓库地址等。 buildscript {// 声明仓库的源。之前这里用mavenCentral()repositories {jcenter() // jCenter可…

鸿蒙第一款手机,拿下“国内第一手机商”的OPPO,打算弃用华为鸿蒙?

在华为开发鸿蒙系统之前&#xff0c;我国是没有完全属于自己国家的手机系统&#xff0c;国内的操作系统一直被安卓ios系统所占据。尤其是在国产机中最主要的系统就是安卓&#xff0c;而安卓系统的所属方谷歌每年仅凭这一项系统就可以在中国净收数百亿的利益。许多国人也习惯了使…

namespace for c++

namespace中文意思是命名空间或者叫名字空间&#xff0c;传统的C&#xff0b;&#xff0b;只有一个全局的namespace&#xff0c;但是由于现在的程序的规模越来越大&#xff0c;程序的分工越来越细&#xff0c;全局作用域变得越来越拥挤&#xff0c;每个人都可能使用相同的名字来…

html5显示字母的值,使用HTML5 Canvas API控制字体的显示与渲染的方法

今天我们开始征战一个全新的内容——HTML5 Canvas的文本API&#xff01;要知道&#xff0c;艺术家通常同时也是一个书法家&#xff0c;所以我们要学习写字&#xff0c;而且是写出漂亮的字。是不是很有意思&#xff1f;好了&#xff0c;先预告一下Canvas 文本API有哪些。属性描述…

简易商品购物车

<html><head> <title>商品购物车</title><meta charset"utf-8"><style type"text/css"> body{ margin:0; padding:0; font-size:12px; line-height:20px; color:#333; } ul,li,ol,h1,dl,dd{ list-style:none; margin:…

html5 客户端数据缓存机制,深入理解HTML5离线缓存机制

TML5提供了一种离线应用缓存机制&#xff0c;使得网页应用可以离线使用&#xff0c;这种机制在移动端浏览器上支持度非常广&#xff0c;所有版本的android和ios浏览器都能很好的支持。我们可以放心的使用该特性来加速移动端页面的访问速度。开启离线缓存的步骤也非常简单&#…

安卓手机上运行 PC-E500 程序

目录 第1章安卓手机上运行 PC-E500 程序 1 1 PockEmul 1 2 下载 1 3 打包BASIC程序 2 4 配置PC-E500模拟器 5 5 载入e500.pkm 7 6 载入40000.bin 8 7 解包 10 第1章安卓手机上运行 PC-E500 程序 1 PockEmul 安卓手机上运行PC-E500程序&#xff0c;需要…

2021安徽省高考成绩怎么查询系统,2021年安徽省教育招生考试院成绩查询登录入口...

一、2020年安徽高考成绩查询登录入口二、安徽高考成绩查询新闻资讯最新消息!安徽高考预计7月23日划定各批次录取线并公布高考成绩!7月14日上午&#xff0c;记者跟随省人大代表、省政协委员们一同走进安徽省教育招生考试院网评现场。“今年&#xff0c;我省高考的网上评卷工作继…

Java Web之网上购物系统(提交订单、查看我的订单)

作业终于做完了&#xff0c;好开心。。。。。。虽然这一周经历不是那么顺利&#xff0c;但是觉得还是收获了不少&#xff0c;有过想哭的冲动&#xff0c;代码不会写&#xff0c;事情办不好&#xff0c;各种发愁。空间里发小发了带父母出去游玩的照片&#xff0c;瞬间能量值不知…