4.7 学生管理系统 题号:110

该程序实现了对学生信息的管理,包括姓名、性别、生日、身高、C语言和微积分成绩。通过输入学生人数及每个学生的信息,程序会计算并输出C语言和微积分的平均分、最高分、最低分,以及获得最高分的学生信息。程序使用结构体存储学生数据,并进行了成绩的最大值、最小值和平均值的计算。
摘要由CSDN通过智能技术生成
编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,2表示女)、
生日(19850101(年月日))、身高(以m为单位),还需要处理C语言、微积分两门课的成绩,请编写程序实现功能:
输入学生的人数和每个学生的信息;输出每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。
需要注意的是某门课程最高分的学生可能不只一人。
输入输出格式要求:
	身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符
例如:
输入:3 zhangsan 1 19910101 1.85 85 90 lisi 1 19920202 1.56 89 88 wangwu 2 19910303 1.6 89 90回车
输出:
C_average:87回车
C_max:89回车
lisi 1 19920202 1.56 89 88回车
wangwu 2 19910303 1.60 89 90回车
C_min:85回车
Calculus_average:89回车
Calculus_max:90回车
zhangsan 1 19910101 1.85 85 90回车
wangwu 2 19910303 1.60 89 90回车
Calculus_min:88回车
#include<stdio.h>
struct stu{
	char name[20];
	int gender;
	int birth;
	float height;
	float C;
	float Calculus;
};
int main() {
	struct stu a[10];
	int i,n,t=0,C_sum=0, C_max,C_min,Calculus_sum=0,Calculus_min, Calculus_max;
	float C_average, Calculus_average;
	scanf("%d", &n);
	for (i = 0;i < n;i++) {
		scanf("%s %d %d %f %f %f", &a[i].name, &a[i].gender, &a[i].birth, &a[i].height, &a[i].C, &a[i].Calculus);
	}
	//求C成绩最大值、最小值
	C_min = a[0].C;
	C_max = a[0].C;
	for (i = 0;i < n-1;i++) {
		if (C_max <= a[i + 1].C)
			C_max = a[i+1].C;
		if (C_min >= a[i + 1].C)
			C_min = a[i + 1].C;
		else continue;
	}
	//求Calculus成绩最大值、最小值
	Calculus_min = a[0].Calculus;
	Calculus_max = a[0].Calculus;
	for (i = 0;i < n - 1;i++) {
		if (Calculus_max <= a[i + 1].Calculus)
			Calculus_max = a[i + 1].Calculus;
		if (Calculus_min >= a[i + 1].Calculus)
			Calculus_min = a[i + 1].Calculus;
		else continue;
	}
	//求C成绩平均值
	for (i = 0;i < n;i++) {
		C_sum += a[i].C;
	}
	C_average = C_sum / n;
	//求Calculus成绩平均值
	for (i = 0;i < n;i++) {
		Calculus_sum += a[i].Calculus;
	}
	Calculus_average = Calculus_sum / n;
	//输出数据
	printf("C_average:%.0f\nC_max:%d\n", C_average,C_max);
	//C最高分学生信息
	for (i = 0;i < n;i++) {
		if (a[i].C == C_max) {
			printf("%s %d %d %.2f %.0f %.0f\n",a[i].name,a[i].gender,a[i].birth,a[i].height,a[i].C,a[i].Calculus);
		}
	}
	printf("C_min:%d\n", C_min);
	printf("Calculus_average:%.0f\nCalculus_max:%d\n", Calculus_average, Calculus_max);
	//Calculus最高分学生信息
	for (i = 0;i < n;i++) {
		if (a[i].Calculus == Calculus_max) {
			printf("%s %d %d %.2f %.0f %.0f\n", a[i].name, a[i].gender, a[i].birth, a[i].height, a[i].C, a[i].Calculus);
		}
	}
	printf("Calculus_min:%d\n", Calculus_min);
	return 0;
}

 码图4.7学生管理系统

结构体的简单应用,建议写注释

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习【数据结构课程】中线性表知识,自己动手做的【学生信息 管理 系统】。 目的:重在功能实现,思考探索。 编程语言:C IDE:VC++6.0 基础功能:增、删、查、改。 【扩展功能: 1.数据的保存、读取; 2.账的登入、登出; 3.对数据敏感操作的日志记录; 4.对查询结果的简单数量统计。】 缺陷:没有排序功能,统计能不够强大,对非法或刁难的数据处理效果微弱。 (感兴趣的朋友可以试着填补上述缺陷) 【水平有限,代码仅作参考。 有不足之处,还望指出,非常感谢。】 附录: 1.学生信息 类型: typedef struct { char id[11]; /*学,12入学年份,34学院,56专业,78班级,90班内数*/ char name[11]; /*姓名,仅考虑由字母组成的名字*/ int sex; /*性别,男1,女0*/ char headTeacher[11]; /*班主任*/ int entranceScore; /*入学成绩*/ char birthday[9]; /*xxxx年xx月xx日*/ char Tel[12]; /*联系电话,11位*/ char homeAddress[21]; /*家庭地址*/ } stuData; 2.文件目录: head.c linklist.c linkqueue.c list.txt log.c logData.txt login.c main.c stu.c stuData.txt user.c userData.txt 基础:C语言知识,特别强调:指针和链表的知识.txt 学生信息系统_流程图_粗糙.png 提示:阅读代码可以从head.c或main.c开始;运行程序从main.c开始,登陆账在userData.txt中设置.txt 效果图1_登陆账.png 效果图2_登陆账2.png 效果图3_功能选择.png 效果图4_浏览学生信息.png 效果图5_查询学生信息.png 效果图6_退出查询学生信息.png 效果图7_退出账.png 效果图8_退出系统.png 【完毕】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值