栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

班级成绩管理系统-增删查改文件读取保存等功能【C语言】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

班级成绩管理系统-增删查改文件读取保存等功能【C语言】

目录

主菜单

1.输入成绩

2.输出成绩

3.按总成绩排序

4.按学号查询成绩

5.修改信息

7.计算各科平均分

8.文件读入

9.保存至文件

other.退出

 总代码


主菜单

10个选项分别为:
1.输入成绩 
2.输出成绩
3.按总成绩排序
4.按学号查询成绩
5.修改信息 
6.删除学生
7.计算各科平均分
8.文件读入
other.退出

		printf("------------------------n");
		printf("------学生成绩管理------n");
		printf("------1.输入成绩  ------n");
		printf("------2.输出成绩  ------n");
		printf("------3.按总成绩排序----n");
		printf("------4.按学号查询成绩--n");
		printf("------5.修改信息  ------n");
		printf("------6.删除学生  ------n");
		printf("------7.计算各科平均分--n");
		printf("------8.文件读入  ------n");
		printf("------9.保存至文件------n");
		printf("------other.退出  ------n");
		printf("------------------------n");
		printf("输入选项:");
		scanf("%d",&option);

1.输入成绩

分别输入姓名学号成绩信息,其中用到了getchar();来消除缓存

void input(struct Stu Class[],int j)
{
	printf("输入第%d位同学姓名:",j+1);
	scanf("%s",Class[j].Name);
	getchar();
	printf("输入第%d位同学学号:",j+1);
	scanf("%d",&Class[j].Number);
	printf("输入第%d位同学语文成绩:",j+1);
	scanf("%d",&Class[j].Language_score);
	printf("输入第%d位同学数学成绩:",j+1);
	scanf("%d",&Class[j].Math_score);
	printf("输入第%d位同学英语成绩:",j+1);
	scanf("%d",&Class[j].English_score);
	printf("输入第%d位同学体育成绩:",j+1);
	scanf("%d",&Class[j].PE_score);
	printf("输入第%d位同学C语言成绩:",j+1);
	scanf("%d",&Class[j].C_score);
	Class[j].Sum_score=Class[j].Language_score+Class[j].Math_score+Class[j].English_score+Class[j].PE_score+Class[j].C_score;
}

2.输出成绩

void output(struct Stu Class[],int n)
{
	printf("---------------------------------------------n");
	printf("姓名  学号  语文  数学  英语  体育  C语言  总分");
	printf("n");
	int j;
	for(j=0; j 

3.按总成绩排序

排序算法是冒泡排序,排序时交换结构体

void Sort(struct Stu Class[],int n)
{
	int j,k;
	struct Stu t;
	for(j=0; j 

4.按学号查询成绩

分为查找成功和查找失败

5.修改信息

可以对指定学号的各项信息进行修改

7.计算各科平均分

8.文件读入

采用了fprintf函数

9.保存至文件

采用了fscanf函数

other.退出

 总代码
#include
#include
#define Max 25
#define obj_num 5
struct Stu
{
	char Name[25];     //姓名
	int Number;        //学号
	int Language_score;//语文成绩
	int Math_score;    //数学成绩
	int English_score; //英语成绩
	int PE_score;      //体育成绩
	int C_score;       //C语言成绩
	int Sum_score;     //总成绩
};
void input(struct Stu Class[],int j)
{
	printf("输入第%d位同学姓名:",j+1);
	scanf("%s",Class[j].Name);
	getchar();
	printf("输入第%d位同学学号:",j+1);
	scanf("%d",&Class[j].Number);
	printf("输入第%d位同学语文成绩:",j+1);
	scanf("%d",&Class[j].Language_score);
	printf("输入第%d位同学数学成绩:",j+1);
	scanf("%d",&Class[j].Math_score);
	printf("输入第%d位同学英语成绩:",j+1);
	scanf("%d",&Class[j].English_score);
	printf("输入第%d位同学体育成绩:",j+1);
	scanf("%d",&Class[j].PE_score);
	printf("输入第%d位同学C语言成绩:",j+1);
	scanf("%d",&Class[j].C_score);
	Class[j].Sum_score=Class[j].Language_score+Class[j].Math_score+Class[j].English_score+Class[j].PE_score+Class[j].C_score;
}
void output(struct Stu Class[],int n)
{
	printf("---------------------------------------------n");
	printf("姓名  学号  语文  数学  英语  体育  C语言  总分");
	printf("n");
	int j;
	for(j=0; j=1)
	{
		printf("------------------------n");
		printf("------学生成绩管理------n");
		printf("------1.输入成绩  ------n");
		printf("------2.输出成绩  ------n");
		printf("------3.按总成绩排序----n");
		printf("------4.按学号查询成绩--n");
		printf("------5.修改信息  ------n");
		printf("------6.删除学生  ------n");
		printf("------7.计算各科平均分--n");
		printf("------8.文件读入  ------n");
		printf("------9.保存至文件------n");
		printf("------other.退出  ------n");
		printf("------------------------n");
		printf("输入选项:");
		scanf("%d",&option);
		switch(option)
		{
			case 1:
			{
				system("cls");
				printf("输入学生的个数(不大于%d):",Max-n);
				scanf("%d",&count);
				while(count--)
				{
					input(Class,n++);
				}
				output(Class,n);
				break;
			}
			case 2:
			{
				system("cls");
				output(Class,n);
				break;
			}
			case 3:
			{
				system("cls");
				Sort(Class,n);
				output(Class,n);
				break;
			}
			case 4:
			{
				system("cls");
				int number;
				printf("输入要查找的学号:");
				scanf("%d",&number);
				int index=search(number,n,Class);
				if(index==-1)
				{
					printf("查找失败n");
				}
				else
				{
					printf("查找成功n");
					outputOne(Class,index);
				}
				break;
			}
			case 5:
			{
				system("cls");
				output(Class,n);
				int number;
				printf("输入要修改成绩的学生对应的学号:");
				scanf("%d",&number);
				modify(number,n,Class);
				output(Class,n);
				break;
			}
			case 6:
			{
				system("cls");
				output(Class,n);
				int number;
				printf("输入要删除的学号:");
				scanf("%d",&number);
				del(number,n,Class);
				n--;
				system("cls");
				output(Class,n);
				break;
			}
			case 7:
			{
				system("cls");
				output(Class,n);
				double ave[obj_num];
				calave(n,Class,ave);
				char str[]="平均分";
				printf("n");
				printf("%5s",str);
				printf("     ");
				printf("%5.2lf",ave[0]);
				printf("%6.2lf",ave[1]);
				printf("%6.2lf",ave[2]);
				printf("%6.2lf",ave[3]);
				printf("%6.2lf",ave[4]);
				printf("n");
				break;
			}
			case 8:
			{
				system("cls");
				n-=n; 
				n+=read(Max,Class);
				break;
			}
			case 9:
			{
				system("cls");
				save(n,Class);
				break;
			}
			default :
			{
				break;
			}
		}
	}
}
int main()
{
	struct Stu Class [Max];
	menu(Class);
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号