大一时写的c现在看不懂了,囧

这是一个C语言学生信息管理,基本的数据类型,输入输出都包含着,没有涉及文件读写,需要的自己加进去,放上也为了自己回顾知识,勿喷,毕竟太菜。适合入门看,没啥含量,应付个作业还是可以得。2333~~

#include <stdio.h>
#include <string.h>
#include <stdlib.h>  //包含头文件
#define N 3          //符号常量

struct xuesheng
{
	int xuehao;
	int chengji;
	char name[10];
};					  //定义结构体“xuesheng”

struct xuesheng stu[N];  //结构体数组stu
int i;
int temp;
int sum = 0;
int zuida, zuixiao;   //全局变量


void main()
{
	void caidan();
	void luru();
	void liulan();
	void fenxi();
	void bukao();
	void chaxun();
	void xiugai();  //函数声明

	int c;
	caidan();
	scanf("%d", &c);
	switch (c)
	{
	case 1:
		luru();
		break;
	case 2:
		liulan();
		break;
	case 3:
		fenxi();
		break;
	case 4:
		bukao();
		break;
	case 5:
		chaxun();
		break;
	case 6:
		xiugai();
		break;
	case 0:
		exit(0);
	default:
		printf("输入错误!\n");
		main();          //返回到主函数

	}
	getchar();
	printf("\n按回车键返回主菜单");
	getchar();
	main();
}

void caidan()          //主菜单
{
	printf("\t\t\t  ★欢迎使用学生信息管理系统★\n");
	printf("\t\t\t\t1.录入学生信息\n");
	printf("\t\t\t\t2.浏览学生信息\n");
	printf("\t\t\t\t3.分析学生成绩\n");
	printf("\t\t\t\t4.输出补考名单\n");
	printf("\t\t\t\t5.查询学生信息\n");
	printf("\t\t\t\t6.修改学生信息\n");
	printf("\t\t\t\t0.退出\n");
	printf("\t\t\t   Copyright?2014 Group Two.\n");

}


void luru()					//录入函数
{
	printf("请输入\n");
	for (i = 0; i < N; i++)
	{
		if (i != 0)
			getchar();     //接收多余回车	
		printf("姓名:");
		scanf("%s", &stu[i].name);
		printf("学号:");
		scanf("%d", &stu[i].xuehao);
		printf("成绩:");
		scanf("%d", &stu[i].chengji);
		printf("您已完成%d名学生的输入\n\n", i + 1);

	}
	printf("\nOK,录入完成\n");
}

void liulan()					//成绩浏览
{
	printf("\n\t姓名\t学号\t成绩\n");
	for (i = 0; i < N; i++)
	{
		printf("\t%s", stu[i].name);
		printf("\t%d", stu[i].xuehao);
		printf("\t%d\n", stu[i].chengji);

	}
}

void fenxi()					// 成绩分析
{
	zuida = stu[0].chengji;     
	zuixiao = stu[0].chengji;
	for (i = 0; i < N; i++)
		sum = sum + stu[i].chengji;
	for (i = 1; i < N; i++)
	{
		if (zuida < stu[i].chengji)
			zuida = stu[i].chengji;
		if (zuixiao > stu[i].chengji)
			zuixiao = stu[i].chengji;
	}
	printf("最高分为:%d\n最低分为:%d", zuida, zuixiao);
	printf("\n平均分:%.1f\n", sum * 1.0 / N);
}

void bukao()          //输出补考
{
	printf("补考学生的姓名:");
	for (i = 0; i < N; i++)
	{
		if (stu[i].chengji < 60)
			printf("%s ", stu[i].name);
	}
}

void chaxun()        //查询成绩
{
	printf("请输入要查询的学号:");
	scanf("%d", &temp);
	for (i = 0; i < N; i++)
	{
		if (stu[i].xuehao == temp)
		{
			printf("\t%s", stu[i].name);
			printf("\t%d", stu[i].xuehao);
			printf("\t%d\n", stu[i].chengji);
		}
	}
}

void xiugai()        //修改成绩
{
	printf("请输入要修改的学号:");
	scanf("%d", &temp);
	for (i = 0; i < N; i++)
	{
		if (stu[i].xuehao == temp)
		{
			printf("请输入新的成绩:");
			scanf("%d", &stu[i].chengji);
		}
	}
}

 

转载请注明出处与链接,如有其他疑问或交流,请加QQ交流群或关注公众号加我微信

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注