C语言 学生信息管理系统(密码登录功能)

废话不多说

上图:

----------------------------------------------------------------------------------------------------------------------------------------------------------

​​​
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
struct students
{
	int id;
	int age;
	char name[10];
	char xin[10];
	int yu,shu,yin,com,sum;
}stu[100];
int i=0,j=0;     //i循环添加信息变量  j显示全部信息循环变量 
int menu(void)    //主界面 
{
	int a;
	printf("\t***   ╭□════■□■□══╮ ***\n");
	printf("\t*    │ 学生信息管理系统       │  *\n");
	printf("\t*    ╰═■□■□══════■╯  *\n");
	printf("\t*    ┌───────────┐    *\n");
	printf("\t*    │1.添加信息  2.修改信息│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │3.查询信息  4.删除信息│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │5.数据排序  6.保存读取│    *\n");
	printf("\t*    │                      │    *\n");
	printf("\t*    │7.退出系统            │    *\n");
	printf("\t*    └───────────┘    *\n");
	printf("\t************************************\n");
	printf("\t请输入你的选择(1~7):");
	scanf("%d", &a);
	while (a<1 || a>7)
	{
		printf("\t输入范围为1~7:");
		scanf("%d", &a);
	}
	if (a == 1)
		ID();
	if (a == 2)
		xiugai();
	if (a == 3)
		chaxun();
	if (a == 4)
		shanchu();
	if (a == 5)
		paixu();
	if (a == 6)
		menufile();
	if (a == 7)
		printf("\n\t\t\t\t退出系统中...");
	Sleep(3000);
	exit(0);
	return 0;
}
//**********************
//**********************
//**********************
int ID(void)     //添加信息 
{
	int a,k,j,x,one;
	do
	{
		printf("\n----------------------------------------------------\n");
		printf("\t      ———添加信息———\n\n");
		fflush(stdin);
		printf("学号:");
		scanf("%d", &x);
		while ( x<1 || x>100)
		{
			printf("输入范围为1~100:");
			scanf("%d", &x);
		}
		one=0;
		for(j=0;j<i;j++)
		{
			if(x==stu[j].id)
			{
				one=1;
				printf("\n记录中已有此人!不得重复添加...");
				getch();
				system("cls");
				menu();
			}
		}
		if(one==0)
		{
			stu[i].id=x;
		}
		printf("姓名:");
		getchar();
		gets(stu[i].name);
		printf("性别:");
		gets(stu[i].xin);
		while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
		{
			printf("性别只限男女:");
			gets(stu[i].xin);
		}
		printf("年龄:");
		scanf("%d", &stu[i].age);
		while (stu[i].age <= 0 || stu[i].age>100)
		{
			printf("年龄只限1~100:");
			scanf("%d", &stu[i].age);
		}
		printf("语文:");
		scanf("%d", &stu[i].yu);
		while (stu[i].yu<0 || stu[i].yu>100)
		{
			printf("输入只限0~100:");
			scanf("%d", &stu[i].yu);
		}
		printf("数学:");
		scanf("%d", &stu[i].shu);
		while (stu[i].shu<0 || stu[i].shu>100)
		{
			printf("输入只限0~100:");
			scanf("%d", &stu[i].shu);
		}
		printf("英语:");
		scanf("%d", &stu[i].yin);
		while (stu[i].yin<0 || stu[i].yin>100)
		{
			printf("输入只限0~100:");
			scanf("%d", &stu[i].yin);
		}
		printf("专业:");
		scanf("%d", &stu[i].com);
		while (stu[i].com<0 || stu[i].com>100)
		{
			printf("输入只限1~100:");
			scanf("%d", &stu[i].com);
		}
		stu[i].sum=0;
		stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
		i++;
		printf("\n添加完毕!  目前共有%d名学生!\n按1回到主界面!按2继续添加信息!按其他键退出程序!  ",i);
		scanf("%d", &a);
	}while(a==2);
	if (a == 1)
	{
		system("cls");
		menu();
	}
	if (a != 1)
	{
		printf("\n退出系统中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//*********************
//*********************
//*********************
int xiugai(void)      //修改信息 
{
	int a;
	printf("\n----------------------------------------------------\n");
	printf("\t      ───修改信息───\n\n");
	printf("\t        ┌──────┐\n");
	printf("\t        │1.按学号修改│\n");
	printf("\t        │            │\n");
	printf("\t        │2.按姓名修改│\n");
	printf("\t        │            │\n");
	printf("\t        │3.返回      │\n");
	printf("\t        └──────┘\n");
	printf("\t  请选择修改方式:");
	scanf("%d", &a);
	while (a<1 || a>3)
	{
		printf("输入错误~请重新输入:");
		scanf("%d", &a);
	}
	if (a == 1)
	{
		idxiugai();   //按学号方式修改 
	}
	if (a == 2)
	{
		namexiugai();   //按姓名方式修改 
	}
	if (a == 3)
	{
		system("cls");   
		menu();
	}
	return 0;
}
//**************************
//**************************
//**************************
int chaxun(void)   //查询信息
{
	int a;
	printf("----------------------------------------------------\n");
	printf("\t      ───查询信息───\n");
	printf("\t  ┌─────────────┐ \n");
	printf("\t  │1.按学号查询  2.按姓名查询│ \n");
	printf("\t  │                          │ \n");
	printf("\t  │3.全部显示    4.返回      │ \n");
	printf("\t  └─────────────┘ \n");
	printf("\t  请输入你的选择:");
	scanf("%d", &a);
	while(a<1||a>3)
	{
		printf("\t  请输入你的选择:");
		scanf("%d",&a);
	} 
	if (a == 1)
	{
		idchaxun();    //按学号方式查询 
	}
	if (a == 2)
	{
		namechaxun();  //按姓名方式查询 
	}
	if (a == 3)
	{
		quanbuxianshi();  //全部显示 
	}
	if (a == 4)
	{
		system("cls");
		menu();
	}
}
//******************************
//******************************
//******************************
int idchaxun(void)    //按学号查询
{
	int i,j,a;
	printf("\t  请输入需要查询的学号:");
	scanf("%d",&a);
	j=0;
	for(i=0;i<100;i++)
	{
		if(stu[i].id==a)
		{
			j=1;        //节点 
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
			stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
			printf("\n\n   输入1返回主界面,按其他键退出程序! ");
			break; 
		}
	}
	if(j==0)   //节点没变说明没有查询到结果 
	{
		printf("\t  对不起,记录中没有此人!\n");
		printf("\n\n   输入1返回主界面,按其他键退出程序! ");
	}
	scanf("%d",&a);
	if(a==1)
	{
		system("cls");
		menu();
	}
	if(a!=1)
	{
		printf("\n\t\t\t\t退出系统中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//******************************
//******************************
//******************************
int namechaxun(void)  //按姓名查询
{
	char num[10];
	int i,j,a;
	printf("\t  请输入需要查询的姓名:");
	scanf("%s",num);
	j=0;
	for(i=0;i<10;i++)
	{
		if(strcmp(num,stu[i].name)==0)
		{
			j=1;
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
			printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
			stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
			printf("\n\n   输入1返回主界面,按其他键退出程序! ");
			break;
		}
	}
	if(j==0)
	{
		printf("\t  对不起,记录中没有此人!");
		printf("\n\n  输入1返回主界面,按其他键退出程序!  ");
	}
	scanf("%d",&a);
	if(a!=1)
	{
		printf("\n\t\t\t\t退出程序中...");
		Sleep(3000);
		exit(0);
	}
	if(a==1)
	{
		system("cls");
		menu();
	}
	return 0;
}
//******************************
//******************************
//******************************
int quanbuxianshi(void)  //全部显示
{
	int a;
	printf("\n");
	printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
	printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
	printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
	for(j=0;j<i;j++)
	{
		printf("  %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[j].id, stu[j].name, stu[j].xin, stu[j].age,
		stu[j].yu, stu[j].shu, stu[j].yin, stu[j].com, stu[j].sum);
	}
	printf("\n\n   输入1返回主界面,按其他键退出程序! ");
	scanf("%d", &a);
	if (a == 1)
	{
		system("cls");
		menu();
	}
	if (a != 1)
	{
		printf("\n\t\t\t\t\t退出程序中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//**************************
//**************************
//**************************
int idxiugai(void)  //按学号修改
{
	int i,a,j;
	printf("\t  请输入需要修改的学号信息:");
	scanf("%d",&a);
	while(a>100&&a<1)
	{
		printf("\t  输入范围为1~100:");
		scanf("%d",&a);
	}
	j=0;
	for(i=0;i<100;i++)
	{
		if(a==stu[i].id)
		{
			j=1;
			printf("请输入修改后新的信息:\n");
			printf("学号:");
			scanf("%d", &stu[i].id);
			while (stu[i].id<1 || stu[i].id>100)
			{
				printf("输入范围为1~100:");
				scanf("%d", &stu[i].id);
			}
			printf("姓名:");
			getchar();
			gets(stu[i].name);
			printf("性别:");
			gets(stu[i].xin);
			while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
			{
				printf("性别只限男女:");
				gets(stu[i].xin);
			}
			printf("年龄:");
			scanf("%d", &stu[i].age);
			while (stu[i].age <= 0 || stu[i].age>100)
			{
				printf("年龄只限1~100:");
				scanf("%d", &stu[i].age);
			}
			printf("语文:");
			scanf("%d", &stu[i].yu);
			while (stu[i].yu<0 || stu[i].yu>100)
			{
				printf("输入只限0~100:");
				scanf("%d", &stu[i].yu);
			}
			printf("数学:");
			scanf("%d", &stu[i].shu);
			while (stu[i].shu<0 || stu[i].shu>100)
			{
				printf("输入只限0~100:");
				scanf("%d", &stu[i].shu);
			}
			printf("英语:");
			scanf("%d", &stu[i].yin);
			while (stu[i].yin<0 || stu[i].yin>100)
			{
				printf("输入只限0~100:");
				scanf("%d", &stu[i].yin);
			}
			printf("专业:");
			scanf("%d", &stu[i].com);
			while (stu[i].com<0 || stu[i].com>100)
			{
				printf("输入只限1~100:");
				scanf("%d", &stu[i].com);
			}
			stu[i].sum=0;
			stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
			printf("\n修改完毕!\n\n按1返回主界面,按其他键退出程序!  ");
		}
	}
	if(j==0)
	{
		printf("\t  对不起,记录中没有此人!");
		printf("\n\n按1返回主界面,按其他键退出程序!  ");
	}
	scanf("%d",&a);
	if(a==1)
	{
		system("cls");
		menu();
	}
	if(a!=1)
	{
		printf("\n\t\t\t\t退出程序中...");
		Sleep(3000);
		exit(0);
	}
	return 0;
}
//**************************
//**************************
//**************************
int namexiugai(void)  //按姓名修改
{
	int a,i,j;
	char num[10];
	printf("\t  请输入需要修改的名称信息:");
	scanf("%s",num);
	j=0;
	for(i=0;i<100;i++)
	{
		if(strcmp(num,stu[i].name)==0)
		{
			j=1;
			printf("请输入修改后新的信息:\n");
			printf("学号:");
			scanf("%d", &stu[i].id);

	。。。。。。。。
    。。。。。。。。
    。。。。。。。。
​

需要全部代码请扫描下方二维码,关注公众号:“绿粥不coding”,后台回复“c语言学生管理系统”即可获得。

更多干货

【干货分享】自学编程的小伙伴可以前往我的 Github 仓库(持续更新中...):

📕【Java学习指南】从java基础、计算机基础到后端常用框架的教程,涵盖后端大部分必备知识(学习指南 + 技术文章 + 资源分享)

Github仓库地址(来个Star吧~):https://github.com/MujieJava/JavaStudy


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值