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

利用C语言结构体实现学生成绩录入系统

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

利用C语言结构体实现学生成绩录入系统

利用C语言结构体实现学生成绩录入系统

##功能介绍
密码功能嵌入于主函数中,初始密码为:123456(可根据需要修改)
输入1可以调用add函数对学生的基本信息以及成绩进行输入
输入2则调用print函数打印学生成绩单
输入3可以根据学号匹配学生并对其成绩进行修改
输入4可以对当前所有学生的总成绩进行排序
输入5则可以计算当前学生平均分
输入6可以打印出成绩单中所有存在不及格科目的学生
输入7可以根据学号查找学生成绩
输入8则为退出系统
源码如下:

#include
#include
#include 
void print(); 
char ID[57][13];           //学号为字符串
char name[57][8];          //姓名为字符串 
char sexual[57][3];            //性别为字符型 
char Class[57][25];			  //班级为字符型
char age[57][3];             //年龄为字符型
float average[57];        	//平均成绩为实型 
float cscore[57];			//大学语文
float mscore[57];			//高等数学 
float escore[57];			//英语成绩
char temp[13];				//临时数组
int i=0;
void add()
{
	printf("Score entryn");//成绩录入
	printf("Please enter student ID:");
	scanf("%s",&ID[i]);//输入学号 
	getchar();//消除回车 
	printf("Please enter name:");
	scanf("%s",&name[i]);//输入姓名 
	getchar();//消除回车 
	printf("Please enter class:");
	scanf("%s",&Class[i]);//输入班级 
	getchar();//消除回车 	
	printf("Please enter sexual:");
	scanf("%s",&sexual[i]);//输入性别 
	getchar();//消除回车 
	printf("Please enter age:");
	scanf("%s",&age[i]);//输入年龄 
	getchar();//消除回车 
	printf("Please enter College Chinese score:");
	scanf("%f",&cscore[i]);//输入大学语文成绩 
	getchar();//消除回车
	printf("Please enter Advanced mathematics score:");
	scanf("%f",&mscore[i]);//输入高等数学成绩 
	getchar();//消除回车
	printf("Please enter College English score:");
	scanf("%f",&escore[i]);//输入英语成绩 
	getchar();//消除回车
	average[i]=(cscore[i]+mscore[i]+escore[i])/3;
	i++;
	print();
}
void print() 
{
	int j=0;
	printf("IDttNametClassttGendertAgetChinsetMathtEnglishttAveragen");
	for(;j
	//	printf("%s",ID[j]);
		printf("%st%st%st%st%st%.2ft%.2ft%.2ftt%.2fn",ID[j],name[j],Class[j],sexual[j],age[j],cscore[j],mscore[j],escore[j],average[j]);
	}
}
void Modify()
{
	int j=0;
	printf("Please enter student ID:");
	scanf("%s",&temp);
	getchar();
	for(;j
		if(strcmp(temp,ID[j])==0)
		{
			break;
		}
	}
	if(j==i)
	{
		printf("Enter error!n");
	}
	else
	{  
		printf("Please enter College Chinese score:");
		scanf("%f",&cscore[j]);//输入大学语文成绩 
		getchar();//消除回车
		printf("Please enter Advanced mathematics score:");
		scanf("%f",&mscore[j]);//输入高等数学成绩 
		getchar();//消除回车
		printf("Please enter College English score:");
		scanf("%f",&escore[j]);//输入英语成绩 
		getchar();//消除回车
		average[j]=(cscore[j]+mscore[j]+escore[j])/3;
		print();
	}
	
}
void rank()
{
	int j,k;
	for(j=0;j 
		for(k=0;k
			if(strcmp(ID[k],ID[k+1])>0)
			{
				strcpy(ID[i+1],ID[k]);//交换学号 
				strcpy(ID[k],ID[k+1]);
				strcpy(ID[k+1],ID[i+1]);
				strcpy(name[i+1],name[k]);//交换姓名 
				strcpy(name[k],name[k+1]);
				strcpy(name[k+1],name[i+1]);
				strcpy(Class[i+1],Class[k]);//交换班级 
				strcpy(Class[k],Class[k+1]);
				strcpy(Class[k+1],Class[i+1]);
				strcpy(sexual[i+1],sexual[k]);//交换性别 
				strcpy(sexual[k],sexual[k+1]);
				strcpy(sexual[k+1],sexual[i+1]);
				strcpy(age[i+1],age[k]);//交换年龄 
				strcpy(age[k],age[k+1]);
				strcpy(age[k+1],age[i+1]);
				cscore[i+1]=cscore[k];//交换语文成绩 
				cscore[k]=cscore[k+1];
				cscore[k+1]=cscore[i+1];
				mscore[i+1]=mscore[k];//交换数学成绩 
				mscore[k]=mscore[k+1];
				mscore[k+1]=mscore[i+1];
				escore[i+1]=escore[k];//交换英语成绩 
				escore[k]=escore[k+1];
				escore[k+1]=escore[i+1];
				average[i+1]=average[k];//交换平均分
				average[k]=average[k+1];
				average[k+1]=average[i+1];								
			} 
		}
	}
	print();
}
void Average()
{
	int j;
	float temp;
	for(j=0;j
		temp=temp+average[j];
	}
	temp=temp/i;
	printf("Average score: %.2fn",temp);
}
void Failed()
{
	int j,k;
	int temp;
	k=0;
	int failed[30];
	for(j=0;j
		if(cscore[j]<60||mscore[j]<60||escore[j]<60)
		{
			failed[k]=j;
			++k;
		}
	}
	printf("IDttNametClassttGendertAgetChinsetMathtEnglishttAveragen");
	for(j=0;j
		temp=failed[j];
		printf("%st%st%st%st%st%.2ft%.2ft%.2ftt%.2fn",ID[temp],name[temp],Class[temp],sexual[temp],age[temp],cscore[temp],mscore[temp],escore[temp],average[temp]);
	}
}
void search()
{
	int j=0;
	printf("Please enter student ID:");
	scanf("%s",&temp);
	getchar();
	for(;j
		if(strcmp(temp,ID[j])==0)
		{
			break;
		}
	}
	if(j==i)
	{
		printf("Enter error!n");
	}
	else
	{  
		printf("%st%st%st%st%st%.2ft%.2ft%.2ftt%.2fn",ID[j],name[j],Class[j],sexual[j],age[j],cscore[j],mscore[j],escore[j],average[j]);	
	}
}
int main()  //定义函数 
{   
	int ch,count;
	char password[7];
	char key[6]={'1','2','3','4','5','6'};
	count=0;
	while(ch!=8)
	{
		while(1)
		{
			printf("Please enter password:");
			scanf("%s",&password);
			getchar();
			if(count>2)
			{
				break;
			}
			if(strcmp(password,key)==0)
			{    
				printf("**************************************************n");
			    printf("Performance Management System.n"); //成绩管理系统
			    printf("1、Score entryn");//成绩录入 
			    printf("2、Print transcripn");//打印成绩单 
			    printf("3、Modify gradesn");//修改成绩 
			    printf("4、Grade rankingn");//排序 
			    printf("5、Average scoren");//平均分 
			    printf("6、Failed studentn");//不及格学生 
			    printf("7、Searchn");//不及格学生 
			    printf("8、Quitn");
			    printf("**************************************************n");
				printf("Welcome to use the product inquiry system!n");
				break; 
			}
			else if(strcmp(password,key)!=0) 
			{
				printf("Error!n");	
				count++;
			}
			 			
		}
		if(count>2)
		{
			printf("Illegal login!n");
			break;
		}
		printf("Please enter a number:");
	    scanf("%d",&ch);
    	getchar(); 
		switch(ch) 
	    {  
	        case 1:add();break;//调用add函数添加学生成绩 
	        case 2:print();break;//调用print函数打印成绩单 
	        case 3:Modify();break;//修改成绩 
	        case 4:rank();break;//排序 
	        case 5:Average();break;//平均分 
	        case 6:Failed();break;//不及格学生
			case 7:search();break; //查找学生 
			case 8:printf("Thanks for using! n");break;
	        default:printf("Enter error!n");continue;
		}	
	}
	return 0;
}
### 注意事项:
源码仅供参考!!!请不要照搬,对学习没有帮助!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971503.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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