m0_59146108 2021-06-09 09:01 采纳率: 100%
浏览 73
已采纳

大佬们救救孩子吧,我啥也不会,好人一生平安

程序设计基础

课程导学

课程通知

课程作业

在线测试

答疑讨论

学习笔记

调查问卷

学习记录

学习统计

在线预览

程序设计基础大作业

《程序设计基础》课程大作业

学号:

姓名:

年级专业班级:

得分:

题目:用户名和密码验证程序3

假设有3个用户,用户名分别为a,b,c。密码分别为111,222,333。

请编写一个程序,首先输入用户名,如果用户名错误请输出“用户不存在!”,程序结束。如果用户名正确,提示输入对应密码,密码正确输出“欢迎!”,密码错误输出“密码错误!”。

提高:1、 密码有3次输入机会,输入全错输出“密码错误!”

2、用户名有3次输入机会,输入全错输出“用户不存在!”,程序结束,输入正确再去验证密码,密码3次输入机会。

  • 写回答

3条回答 默认 最新

  • qfl_sdu 2021-06-09 10:04
    关注

    如果想要三次机会,把代码中的tmsuser和tmspwd分别初始化为3即可,当前代码中设置为1。代码如下,如有帮助,请采纳一下,谢谢。

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    	char* user[] = {"a","b","c"};
    	char* pwd[] = {"111","222","333"};
    	//tmsuser表示用户名有几次输入机会,如需要3次机会,设为3即可
    	//tmspwd表示密码有几次输入机会,如需要3次机会,设为3即可。
    	int i,tmsuser = 1,tmspwd = 1; 
    	char name[20] = {0};
    	char ps[20] = {0};
    	int flag = 0;
    	while(tmsuser > 0)
    	{
    		flag = 0;
    		printf("请输入用户名:");
    		scanf("%s",name);
    		for(i = 0; i < 3; i++)
    		{
    			if(strcmp(name,user[i])== 0)
    			{
    				flag =1;
    				break;
    			}
    		}
    		if (flag)
    			break;
    		else
    		{
    			//printf("用户不存在\n");
    			tmsuser--;
    		}
    	}
    	if (tmsuser == 0)
    	{
    		printf("用户不存在\n");
    		return 0;
    	}
    
    	while(tmspwd > 0)
    	{
    		flag = 0;
    		printf("请输入密码:");
    		scanf("%s",ps);
    		if(strcmp(ps,pwd[i])== 0)
    		{
    			flag =1;
    			break;
    		}
    		if (flag)
    			break;
    		else
    		{
    			//printf("用户不存在\n");
    			tmspwd--;
    		}
    	}
    	if (tmspwd == 0)
    	{
    		printf("密码错误\n");
    		return 0;
    	}
    	printf("欢迎!\n");
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效