⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sharon.cpp

📁 用C语言开发的学生管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				printf("\t\t\t  |  学号  |  姓名  |  性别  |\n");
				printf("\t\t\t     %d     %s      %c  ",stu[i].num,stu[i].name,stu[i].sex);
		        printf("\n\t\t=====================================================\n");
			fflush(stdin);
			printf("\n\t              您要修改哪项信息?(name,sex)  ");
			gets(c); //让用户选择修改哪个选项
			fflush(stdin);
			if((strcmp(c,"sex"))==0) //如果用户选择修改学生的性别
			{
				printf("\t\t\t\t输入修改后的值:  ");
			    scanf(" %c",&v);
				stu[i].sex=v; //对性别赋新的值
			}
			else //如果用户选择修改学生的姓名
			{
				printf("\t\t\t\t输入修改后的值:  ");
				gets(d);
				strcpy(stu[i].name,d); //对姓名赋新的值
			}
		   printf("\t\t\t  修改以后的信息为:\n");
		   printf("\t\t\t  |  学号  |  姓名  |  性别  |\n");
		   printf("\t\t\t     %d     %s      %c  ",stu[i].num,stu[i].name,stu[i].sex);
		   printf("\n\t\t=====================================================\n");	
		}
		if(k==0)
			printf("\t\t\t     没有找到该学生信息\n");
		printf("\t\t\t  是否继续修改学生信息Y/N  ");
		fflush(stdin);
		p=getchar();
	}while(p!='n');
}
int delete_record(student stu[],int s)//删除学生记录
{
	int num,i,j,k;
	char c,p;
	do
	{	int x=0;
		system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:丁乐  刘海文\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生信息删除系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t\t  请输入您要删除信息的学生学号: ");
		scanf("%d",&num);
		for(i=0;i<s;i++)
			if(stu[i].num==num) //查找是否有要删除信息的学生学号
			{
				x=1;
				k=i;
				printf("\t\t\t       找到该学生信息如下\n");
				printf("\t\t\t  |  学号  |  姓名  |  性别  |\n");
				printf("\t\t\t     %d     %s      %c  ",stu[i].num,stu[i].name,stu[i].sex);
		        printf("\n\t\t=====================================================\n");
				printf("\t\t\t  确定删除此学生全部信息Y/N");
				fflush(stdin);
				c=getchar();
				if(c=='y') //用户确认要删除该学生的信息
				{
					for(j=k;j<=s;j++) //从当前学生记录开始,记录前移,删除当前记录
					{
						stu[j].num=stu[j+1].num;
						strcpy(stu[j].name,stu[j+1].name);
						stu[j].sex=stu[j+1].sex;
					}
					s--;//删除一条学生记录,则记录数减1
					printf("\t\t\t  删除成功,显示全部学生信息如下:\n");
					printf("\t\t\t  |  学号  |  姓名  |  性别  |\n");
					if(s==0)//s=0,即学生记录为0
						printf("\t\t\t    学生信息已全部删除\n");
					else
					{
						for(j=0;j<s;j++)
						{
							printf("\t\t\t     %d     %s      %c  \n",stu[j].num,stu[j].name,stu[j].sex);
  
						} //输出删除信息后的全部学生信息
					}
				}
			}
			if(x==0)
printf("\t\t\t   没有找到该学生信息.\n");
		printf("\t\t\t   是否继续删除学生信息Y/N");
		fflush(stdin);
		p=getchar();
	}while(p!='n');
	return s;
}
void query_by_name(student stu[],int s)//按姓名查找学生记录
{
	char name[10],c;
	int i;
	do
	{	int k=0;//设置标记
		system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:王培志  金亮\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生信息查询系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t\t  请输入您要查找的学生姓名: ");
		fflush(stdin);
		gets(name); //输入要查找的学生姓名
		for(i=0;i<s;i++)
			{
                if(!(strcmp(stu[i].name,name)))
				{
					k=1;
					printf("\t\t\t       找到该学生信息如下\n");
					printf("\t\t\t  |  学号  |  姓名  |  性别  |\n");
					printf("\t\t\t     %d     %s      %c  ",stu[i].num,stu[i].name,stu[i].sex);
				}
	}
		if(k==0)
			printf("\t\t\t   没有找到您要查找的学生信息.");
					
		printf("\n\t\t=====================================================\n");
		printf("\n\t\t        是否继续查找学生信息?Y/N");
		fflush(stdin);
		c=getchar();
	}while(c!='n');
}
void input_score(student stu[],int s)//输入学生成绩
{
	int i;
	char c;
	do
	{	system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:李仁君 徐熙辉\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生成绩录入系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
	for(i=0;i<s;i++)
	{
		printf("\t\t\t   输入%s的成绩:",stu[i].name);
		fflush(stdin);
		scanf("%f",&stu[i].score);//依次输入学生的成绩
	}
	printf("\t\t\t       学生信息显示如下\n");
	printf("\t\t\t|  学号  |  姓名  |  性别  |  成绩  |\n");
	for(i=0;i<s;i++)
	    printf("\t\t\t     %d     %s      %c    %.1f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].score);
		printf("\t\t=================================================\n");
		printf("\t\t=================================================\n");
		printf("\t\t==========成绩输入完毕.按E退回主菜单=============\n");
		printf("\t\t==================================================\n");
		printf("\t\t==================================================\n");
	fflush(stdin);
	c=getchar();
	}while(c!='e');
}
void modify_score(student stu[],int s)//修改学生成绩
{
	int num,i,score;
	char c;
	do
	{	int k=0;
		system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:李仁君 徐熙辉\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生成绩修改系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t\t  请输入要修改成绩的学生学号:");
		scanf("%d",&num); 
		for(i=0;i<s;i++)
			if(stu[i].num==num)//找到相应学号的学生,并将其成绩修改
			{
				k=1;
				printf("\t\t\t  成绩修改为:");
				scanf("%d",&score);
				stu[i].score=score;
				printf("\t\t\t       修改后学生信息如下\n");
				printf("\t\t\t|  学号  |  姓名  |  性别  |  成绩  |\n");
				for(i=0;i<s;i++)
					printf("\t\t\t     %d     %s      %c    %.1f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].score);				
			}
		if(k==0)
			printf("\t\t\t    没有找到该学生信息.\n");
			printf("\t\t\t   是否继续修改学生成绩Y/N");
			fflush(stdin);
			c=getchar();
	}while(c!='n');
}
void delete_score(student stu[],int s)//删除成绩
{
	int num,i;
	char c;
	do
	{	int k=0;//设置标记
		system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:李仁君 徐熙辉\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生成绩删除系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t\t  请输入要删除成绩的学生学号:");
		scanf("%d",&num);
		for(i=0;i<s;i++)
		{	
			if(stu[i].num==num) //找到了要删除成绩的学生学号
			{
				k=1;
				stu[i].score=0;
				printf("\t\t\t       删除该绩后学生信息如下\n");
				printf("\t\t\t|  学号  |  姓名  |  性别  |  成绩  |\n");
				for(i=0;i<s;i++)
					printf("\t\t\t     %d     %s      %c    %.1f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].score);
			}
		}
		if(k==0)
			printf("\t\t\t    没有找到该学生信息.\n");
				printf("\t\t\t    是否继续删除学生成绩Y/N");
		 fflush(stdin);
		 c=getchar();
	}while(c!='n');
}
void statistic(student stu[],int s)//求最大成绩,最小成绩,总成绩,平均成绩
{
	float sum=0.0,average,temp;
	int i,j;
	char c;
	do
	{
		system("cls");
		printf("                         ╭╮╭╮\n");
		printf("                        ╭★┴┴★╮\n");
		printf("                        │︵  ︵│\n");
		printf("                        ╰○--○╯     制作:刘广宇\n");
		printf("                          ╰○○╯ \n");
		printf("\t\t ************************************************\n");
		printf("\t\t *******'怪杰'一组*******************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ********·················******\n");
		printf("\t\t ********·您正在使用的是学生成绩统计系统·******\n"); 
		printf("\t\t ********·················******\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		printf("\t\t ************************************************\n");
		for(i=0;i<s;i++)
			sum+=stu[i].score; //对成绩求和
 	    average=sum/(s*1.0);  //求平均成绩
		for(i=1;i<s;i++)//对成绩进行排序
			for(j=0;j<s-i;j++)
				if(stu[j].score>stu[j+1].score)
				{
					temp=stu[j].score;
					stu[j].score=stu[j+1].score;
					stu[j+1].score=temp;
				}								
		printf("\t\t\t  按成绩排名后的学生信息如下 :\n");
		printf("\t\t\t|  学号  |  姓名  |  性别  |  成绩  |\n");
		for(i=0;i<s;i++)
				printf("\t\t\t     %d     %s      %c    %.1f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].score);
		printf("\t\t\t   总成绩为: %.1f分  平均成绩为: %.1f分\n",sum,average);
		printf("\t\t=================================================\n");
		printf("\t\t=================================================\n");
		printf("\t\t==========成绩统计完毕.按E退回主菜单=============\n");
		printf("\t\t==================================================\n");
		printf("\t\t==================================================\n");
	fflush(stdin);
	c=getchar();
	}while(c!='e');
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -