c语言小程序:学生管理系统

写在前面:源码资源下载地址:

https://mp.csdn.net/mp_download/manage/download/UpDetailed

学生管理系统需求:

基本框架:

重点分析 1、锁机制:

1、先将教师信息读入结构体中

2、循环遍历比较结构体中教师名字和输错3次密码的账户名字

3、类似于将该用户密码直接置为886

4、立即写入到文件中 

5、写入完成

void mis_list()//被锁账户密码重置 
{
	int i; 
	fp = fopen("teacher.txt","r");
	for(i=0;!feof(fp);i++)
	{
		fscanf(fp,"%s",teacher_arr[i].name);
		fscanf(fp,"%s",teacher_arr[i].password);//1、先将教师信息读入结构体中
	} 
	
	fp = fopen("mis_list.txt","a");
	fprintf(fp,"当前被锁账户账号:%s ",NAME_TEST);
	fprintf(fp,"该账号错输的密码:%s\n",PASSWORD_TEST);//将错误的账号和密码存储在教师结构体中 
	
	for(i=0;i<N;i++)
	{
		if(strcmp(teacher_arr[i].name,NAME_TEST) == 0)//2、循环遍历比较结构体中教师名字和输错3次密码的账户名字 
		{
			strcpy(teacher_arr[i].password,"886");//3、类似于将该用户密码直接置为886
			FILE *p;
			p = fopen("teacher.txt","w");//4、立即写入到文件中 
			for(i=0;i<N;i++)
			{
				fprintf(p,"%s ",teacher_arr[i].name);
				fprintf(p,"%s\n",teacher_arr[i].password);//5、写入完成 
			}
			fclose(p);
		}	
	}		
	fclose(fp);
}

分析难点就在于如何将输错3次的名字和密码存储起来?

这个最开始我也没想到,最后定义一个全局的字符型数组,将其存储起来即可。

if(count == 3)
		{
			strcpy(NAME_TEST,name);//将连续3次输入错误密码的人员账号和密码存储起来 
			strcpy(PASSWORD_TEST,password);
#ifdef DEBUG
		printf("******\n");
		printf("被锁账户名字:%s ",NAME_TEST);
		printf("记录输错的密码:%s\n",PASSWORD_TEST);
		printf("******\n");

记录编译日期和编译时间:

void TIME_TEST() 
{
	FILE *p;
	p = fopen("build.txt","a");//打开文件方式为写入
	fprintf(p,"当前调试时间为:%s\n",__DATE__);//将写入的结果打印到指定的文件中进行输出 
	fprintf(p,"当前调试时间为:%s\n",__TIME__);//将写入的结果打印到指定的文件中进行输出
	fclose(p);//关闭文件
}

文件截图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不掉头发的程序猿_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值