C语言学生运动员信息管理系统

C语言学生运动员信息管理系统

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<time.h>

#define load sizeof(student)
#define N 1000
void read();
void save();
void open(FILE*);
int count_line(FILE* f);
void find();
int size = 0;
int temp_count;
int line_count;
struct student
{
	char num[10];
	char name[20];
	int scorem, scoreq, scoreg, scorey;
	char ximing[20];
}stu[N], temp;

//计算文件行数,返回文件行数
int count_line(FILE* f)
{
	int count = 0;
	while (!feof(f))
	{

		int flag;
		flag = fgetc(f);
		if (flag == '\n')
			count++;
	}
	fseek(f, 0, SEEK_SET);//将文件指针重新指向文件开头
	return count;//返回行数
}

void input()	//输入原始数据
{
	char ch2;
	int i=0;
	line_count = size;
	system("cls");
	printf("\t*********************输入界面***********************\n");
	
	do {
		printf("请输入运动员号码,姓名,100成绩,铅球成绩,跳高趁机,跳远成绩,系名:\n");
		scanf("%s%s%d%d%d%d%s", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		i++;
		size++;
		printf("继续添加请输入y\n");
		getchar();
		scanf("%c", &ch2);
		//ch2=_getch();
	} while (ch2 == 'y' || ch2 == 'Y');
	/*
	for (int i = 0; i < size; i++)
	{
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	*/
	//save();
}
void  open(FILE* fp)
{
	//FILE* fp;//定义指向文件的指针
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}

}
//读取文件数据,并打印
void read()
{
	FILE* fp = NULL;
	//FILE* fp;//定义指向文件的指针
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	for (int i = 0; i < size; i++)
	{
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	fclose(fp);	//关闭文件
}

void find()//查找函数
{
	system("cls");
	printf("**************查找界面***************\n");
	char fs[20];
	int file_row, count = 0;
	char flag;
	//read();
	FILE* fp;//定义指向文件的指针
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	//统计文件行数 

	file_row = count_line(fp);
	fseek(fp, 0, SEEK_SET);
	printf("输入你要查找运动员的号码或姓名:");
	scanf("%s", &fs);
	getchar();
	int i;
	for ( i = 0; i < file_row; i++)
	{
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		if (strcmp(stu[i].num, fs) == 0)
		{
			printf("你要找的运动员已找到:\n");
			printf("该生的号码,姓名,100米成绩,千秋成绩,跳高成绩,跳远成绩,系名:\n");
			printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
			break;
		}
		else if (strcmp(stu[i].name, fs) == 0)
		{
			printf("你要找的运动员已找到:\n");
			printf("该生的号码,姓名,100米成绩,千秋成绩,跳高成绩,跳远成绩,系名:\n");
			printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
			break;
		}
		else
		{
			
			
		}
	}
	if (i == file_row)
	{
		printf("你要找的运动员未找到:\n");
		printf("运动员缺赛或不存在!");
	}


	//break;
	fclose(fp);
}

void Sort()//sort function
{
	int line;
	FILE* fp;//定义指向文件的指针
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}

	//fscanf(fp, "运动员号码,姓名,100成绩,铅球成绩,跳高成绩,跳远成绩,系名;\n");
	line = count_line(fp);
	for (int i = 0; i < line; i++)
	{
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		//printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	system("cls");
	printf("**************排序界面****************\n");
	printf("对100米的成绩排序:\n");
	for (int i = 0; i < line; i++)
	{
		for (int j = i + 1; j < line; j++)
		{
			if (stu[i].scorem < stu[j].scorem)
			{
				temp = stu[i];
				stu[i] = stu[j];
				stu[j] = temp;
			}
		}
	}
	printf("排序后:\n");
	for (int i = 0; i < line; i++)
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	getchar();
	fclose(fp);
}


void modify()//modify function
{
	system("cls");
	printf("\t***************修改界面******************\n");
	char ch2[20];
	int c;
	int line;
	char num[10], name[20];
	int scorem, scoreq, scoreg, scorey, i;
	char ximing[20];

	FILE* fp = NULL;//定义指向文件的指针
	FILE* fp1;
	FILE* fpw=NULL;
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	fp1 = fp;
	
	printf("原始数据\n");
	size = count_line(fp);
	//fseek(fp, 0, SEEK_SET);
	for(int i=0;i<size;i++)
		fscanf(fp1, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);

	if ((fpw = fopen("F:\\xiao.txt", "w")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}


	//open();
	/*
	for (int i = 0; i < size; i++)
	{
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	*/
	read();
	printf("输入你要修改运动员的姓名:");
	scanf("%s", ch2);
	getchar();
	for (int i = 0; i < size; i++)
	{
		if (strcmp(stu[i].name, ch2) == 0)
		{
			printf("1.修改号码\n2.修改姓名\n3.修改100米成绩\n4.修改铅球成绩\n5。修改跳高成绩\n6.修改跳远成绩\n7.修改系名\n");
			scanf("%d", &c);
			switch (c)
			{
			case 1:
			{
				printf("请输入你要修改的运动员号码");
				scanf("%s", &num);
				strcpy(stu[i].num, num);
				break;
			}
			case 2:
			{
				printf("输入你修改的运动员姓名:\n");
				scanf("%s", &name);
				strcpy(stu[i].name, name);
				break;
			}
			case 3:
			{
				printf("输入你修改的运动员100米成绩");
				scanf("%d", &scorem);
				stu[i].scorem = scorem;
				break;
			}
			case 5:
			{
				printf("输入你修改运动员跳高成绩:");
				scanf("%d", &scoreg);
				stu[i].scoreg = scoreg;
				break;
			}
			case 6:
			{
				printf("输入你修改运动员跳远成绩:");
				scanf("%s", &scorey);
				stu[i].scorey = scorey;
				break;
			}
			case 7:
			{
				printf("输入你修改运动员系名:");
				scanf("%s", &ximing);
				strcpy(stu[i].ximing, ximing);
				break;
			}
			default:
				printf("你的输入有误:\n");
			}
			//fseek(fp, i, SEEK_SET);
			//fprintf(fp, "\n");
			//fprintf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
			printf("修改后的运动员数据:\n");
			for (int j = 0; j < size; j++)
				fprintf(fpw,"%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[j].num, stu[j].name, stu[j].scorem, stu[j].scoreq, stu[j].scoreg, stu[j].scorey, stu[j].ximing);
		}
	}
	//save();
	//exit(0);
	//return;
	getchar();
	fclose(fp);
	fclose(fpw);
}

void mark()//得分函数
{
	system("cls");
	printf("\t********得分界面*********\n");

	int x, y, z, w, o, p, q, i;
	char ch1[20] = "sl", ch2[20] = "jj", ch3[20] = "wy";
	printf("原始数据;\n");

	read();
	printf("各系的得分总排序:\n");
	for (i = 0; i < size; i++)
	{
		if (stu[i].scorem == 1)
			x = 3;
		else if (stu[i].scorem == 2)
			x = 2;
		else if (stu[i].scorem == 3)
			x = 1;
		else x = 0;

		if (stu[i].scoreq == 1)y = 3;
		else if (stu[i].scoreq == 2)y = 2;
		else if (stu[i].scoreq == 3)y = 1;
		else y = 0;

		if (stu[i].scoreg == 1)z = 3;
		else if (stu[i].scoreg == 2)z = 2;
		else if (stu[i].scoreg == 3)z = 1;
		else z = 0;

		if (stu[i].scorey == 1)w = 3;
		else if (stu[i].scorey == 2)w = 2;
		else if (stu[i].scorey == 3)w = 1;
		else w = 0;

	}

	for (int i = 0; i < size; i++)
	{
		if (strcmp(stu[i].ximing, ch1) == 0)
		{
			printf("水利系总得分为:%d\n", x + y + z + w);
		}
		else if (strcmp(stu[i].ximing, ch2) == 0)
		{
			printf("外语系系总得分为:%d\n", x + y + z + w);
		}
		else if (strcmp(stu[i].ximing, ch3) == 0)
		{
			printf("机交系总得分为:%d\n", x + y + z + w);
		}
	}
}

void shanchu()//删除函数
{
	system("cls");
	printf("**************删除界面***************\n");
	char ch1[20];
	printf("原始数据:\n");
	int i;
	FILE* fpw;
	if ((fpw = fopen("F:\\xiao.txt", "r+")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}

	for (int i = 0; i < size; i++)
	{
		fscanf(fpw, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	printf("输入你要删除的运动员的姓名;\n");
	scanf("%s", &ch1);
	for (i = 0; i < size; i++)
	{
		if (strcmp(stu[i].name, ch1) == 0)
		{
			for (int j = i; j < size; j++)
				stu[j] = stu[j + 1];
			size--;
		}
	}
	
	printf("删除后的运动员数据;\n");
	for (int i = 0; i < size; i++)
	{
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	}
	
	save();
}

void charu()//插入函数
{

	system("cls");
	int a;
	char ch;
	printf("\t******插入界面*******\n");
	/*
	printf("请输入要插入的运动员的人数:\n");
	scanf("%d", &a);
	*/
	FILE* fp, * fpw;//定义指向文件的指针
	
	if ((fp = fopen("F:\\xiao.txt", "r+")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	/*
	for (int i = 0; i < size; i++)
	{
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);

	}
	*/
	
	size = count_line(fp);
	for(int i=0;i<size;i++)
		fscanf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", &stu[i].num, &stu[i].name, &stu[i].scorem, &stu[i].scoreq, &stu[i].scoreg, &stu[i].scorey, &stu[i].ximing);
	size--;
	do
	{
		fseek(fp, 0, SEEK_END);
		printf("输入要插入的运动员数据:\n");
		printf("号码");
		scanf("%s", &stu[size].num);
		printf("姓名");
		scanf("%s", &stu[size].name);
		printf("100米成绩");
		scanf("%d", &stu[size].scorem);
		printf("铅球成绩");
		scanf("%d", &stu[size].scoreq);
		printf("跳高成绩");
		scanf("%d", &stu[size].scoreg);
		printf("跳远成绩");
		scanf("%d", &stu[size].scorey);
		printf("系名");
		scanf("%s", &stu[size].ximing);
		fprintf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[size].num, stu[size].name, stu[size].scorem, stu[size].scoreq, stu[size].scoreg, stu[size].scorey, stu[size].ximing);
		size++;
		//fseek(fpw, 0, SEEK_END);
		getchar();
		printf("想要继续操作请按y\n");
		scanf("%c",&ch);
	} while (ch == 'y' || ch == 'Y');

		
		/*
				for(int i=0;i<size;i++)
					for(int j=i+1;j<size+1;j++)
						if (stu[i].scorem < stu[j].scorem)
						{
							temp = stu[i];
							stu[i] = stu[j];
							stu[j] = temp;
						}
						*/


	printf("插入后运动员数据:\n");

	for (int i = 0; i < size; i++)
		printf("%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);
	//save();
	getchar();
}

void save()//保存数据到文件函数
{
	FILE* fp;
	if ((fp = fopen("F:\\xiao.txt", "w")) == NULL)//为输出打开一个二进制文件,为只写模式
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	//fseek(fp, line_count, SEEK_SET);
	printf("\n保存中...。。。\n");
	for (int i =0; i < size; i++)
		fprintf(fp, "%s\t%s\t%d\t%d\t%d\t%d\t%s\n", stu[i].num, stu[i].name, stu[i].scorem, stu[i].scoreq, stu[i].scoreg, stu[i].scorey, stu[i].ximing);

	fclose(fp);
	printf("保存成功....\n");
}



int login(char psw[])//密码校对函数
{
	static char key[10] = "12345";
	if (strcmp(psw, key) == 0)
		return 1;
	else
		return 0;
}

void Logon()
{
	char a;
	printf("\n");
	printf("*************欢迎进入校运动会管理界面**********************\n");
	printf("*********************************************************\n");
	printf("*******************登录请按回车键*************************\n");
	printf("*********************************************************\n");

	printf("\n");
	scanf("%c", &a);
	if (a == '\n')
	{
		FILE* fp;
		char psw[10];
		int count = 0, s;
		printf("您有三次输入机会!\n\n");
		printf("请输入密码:\n");
		scanf("%s", psw);
		s = login(psw);
		if (s == 1)
		{
			fp = fopen("F:\\password.txt", "w");
			fprintf(fp, "%s", psw);
			fclose(fp);
			system("CLS");
			printf("密码正确!\n");
			printf("*********************************************************\n");
			printf("***********************欢迎进入**************************\n");
			printf("*********************************************************\n\n\n");

		}

		if (s == 0)
		{
			count++;
			while (count != 3)
			{
				printf("请再次输入密码:\n");
				scanf("%s", psw);
				s = login(psw);
				if (s == 1)
				{
					fp = fopen("F:\\password.txt", "w");
					fprintf(fp, "%s", psw);
					fclose(fp);
					system("CLS");
					printf("密码正确!\n");
					printf("*********************************************************\n");
					printf("***********************欢迎进入**************************\n");
					printf("*********************************************************\n\n\n");
					return;
				}
				if (s == 0)
					count++;
			}
			if (count == 3)
			{
				printf("你已经错误输入3次,系统退出!\n");
				exit(0);
			}
		}
	}
	else
		exit(1);
}

void menu()
{
	int ch1;
	char ch2;
	struct tm* pt;
	time_t t;
	t = time(NULL);
	pt = localtime(&t);			//读取系统日期并把它放到结构体中

	do {
		printf("\t\t当前的系统日期:%d-%d-%d\n", pt->tm_year + 1900, pt->tm_mon + 1, pt->tm_mday);//显示当前系统日期
		printf("=======================菜单=========================\n");
		printf("1.输入					2.查找			\n");
		printf("3.排序					4.修改			\n");
		printf("5.得分					6.删除			\n");
		printf("7.插入					8.保存			\n");
		printf("9.显示					0.退出\n");
		printf("===================================================\n");
		printf("请选择功能<1-8>:[ ]\b\b");
		scanf("%d", &ch1);
		switch (ch1)
		{
		case 1:
			input();
			break;
		case 2:
			find();
			break;
		case 3:
			Sort();
			break;
		case 4:
			modify();
			break;
		case 5:
			mark();
			break;
		case 6:
			shanchu();
			break;
		case 7:
			charu();
			break;
		case 8:
			save();
			break;
		case 9:
			read();
			break;
		case 0:
			exit(0);
		default:
			printf("未进行任何操作!");
		}
		printf("\n");
		printf("想要继续操作请按y\n");
		//while(getchar()!='\n')
			//continue;
		 //getchar();
		scanf("\n%2c", &ch2);

	} while (ch2 == 'y' || ch2 == 'Y');//条件判断
	exit(0);
}

void main()
{
	FILE* fp;//定义指向文件的指针
	if ((fp = fopen("F:\\xiao.txt", "r")) == NULL)
	{
		printf("打不开文件\n");
		return;					//若打不开则返回菜单
	}
	size = count_line(fp);//读取文件行数
	fclose(fp);
	system("color 3f");
	//Logon();
	menu();
}



  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
课程设计任务书 题目:运动会成绩管理系统 一、课程设计时间 共计1周,20学时。 二、课程设计内容 用C语言编写软件完成以下任务: 1 录入运动员信息; 2 按项目查询运动员成绩; 3 按系排名(参照运动员的总成绩)。 三、课程设计要求 1. 程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括"运动员信息录入"、"按项目查询运动员信息"、" 按系排名"、"退出"4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。 2. 课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见 提供的模板。 四、指导教师和学生签字 指导教师:________ 学生签名:________ 五、说明书成绩 目 录 一、需求分析 1 二、程序流程图 2 三、核心技术的实现说明及相应程序段 5 四、课设总结 9 五、参考文献 9 六、源程序 10 一、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为3个模块,每一个模 块对应一个函数。在这些函数当中,添加学生数据函数,按系排名(参照学生总成绩) 函数,按项目查询学生成绩函数的实现严格按照题目的要求。主函数及菜单函数控制程 序的整体运行。 1. 添加学生数据函数 主要实现程序最初运行时学生数据的录入以及其后的运行中学生数据的追加功能; 2. 按系排名(参照学生总成绩)函数 按照题目的具体要求实现的是参照不同院系的学生的总成绩给出院系的排名; 3. 按项目查询函数 允许按照项目名称对学生的各项成绩进行查询; 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执 行所有的功能,并根据需要终止程序的执行。 每一个学生记录都包含学号、姓名、系别,以及赛跑比赛、跳远比赛、跳高比赛三 门成绩,在程序当中,将学生记录类型定义为结构体类型,添加以及追加的学生信息直 接写入定义的结构体中,其它函数每次对学生记录的访问,其数据来源都是该结构体, 这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次 运行程序都可以采用原来的数据。 二、程序流程图 1. 程序总体结构图 图1程序总体结构图 2. 具体功能框图 (1)添加学生数据函数add 图2 添加学生数据函数 (2)按系排名(参照学生总成绩)函数sort 图3按系别排名 (3)按项目查询函数query 三、核心技术的实现说明及相应程序段 本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其 它函数来实现要求的所有功能。在这些函数当中,添加学生数据函数、按系排名函数和 按项目查询函数是程序中较为核心的部分,下面分别进行说明。 1. 添加数据函数 当执行学生成绩录入功能时,所录入的数据被储存程序开头所定义的结构体中,并 且各种数据被保存其中,方便以后其他的功能函数调用。具体的程序段如下: int n,i; printf("请输入要添加的学生数量,按回车键确认:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf("\n请输入第%d个学生的学号、姓名,系别,用空格分开,并按回车键确认:\n" ,i); scanf("%s%s%s",stu[i].num,stu[i].name,stu[i].xibie); printf("\n请输入第%d个学生的赛跑比赛、跳远比赛、跳高比赛,用空格分开,并按回 车键确认:\n",i); scanf("%f%f%f",&stu[i].race,&stu[i].jump,&stu[i].high); printf("%s %s %s %f %f %f \n",stu[i].num,stu[i].name,stu[i].xibie,stu[i].race,stu[i].jump,stu[i].high) ; } 2. 按系排名函数(参照学生总成绩) 对于按系的排名采用的排序算法是冒泡法排序,其中总成绩的求得是在排序的过程 中实现的,整个排序过程在结构体数组stu中实现,由于排序算法涉及到两个数组元素的 信息交换,因此还需要定义一个中间变量来协助。排序函数使学生数据的排列顺序发生 了变化,因此也需要对结构体进行更新。此外,对于系别排序后名次的确定,仅在结果 输出时予以显示。具体的程序段如下: int i,j; printf("*********************按系成绩排序结果如下*************************** *******\n\n"); printf(" 名次 系别 总成绩 \n"); printf("*******************************************************

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值