| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:刚写了一个密码,语法没错,但是逻辑好像有点,哪位逻辑好的神帮我看看。。
只看楼主 加入收藏
whc19940817
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2015-3-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
刚写了一个密码,语法没错,但是逻辑好像有点,哪位逻辑好的神帮我看看。。
#include <stdio.h>
#include <windows.h>
int xg(void);
int set();
int test();
int key();
char b[50],a[50];
int main()
{int a=1,b=2,i,h;
printf("欢迎光顾本系统\n");
printf("直接登录请输入1,设密码登录请按2\n");
scanf("%d",&h);
while (h!=a&&h!=b)
{printf("格式错误,请重新输入\n");
scanf("%d",h);
}
h==1?printf("请输入密码启动\n"):key();
printf("密码:");
scanf("%s",a);
printf("*******************\n");
test();
printf("密码正确,程序正在启动\n");
return 0;
}
int key()
{printf("请设置密码\n");
scanf("%s",b);
printf("密码设置成功\n");
xg();
}
int xg()
{char w[50],z[50];
int i;
printf("请确认密码%s\n",b);
printf("确认请按yes,重置请按no\n");
scanf("%s",w);
while (strcmp(w,"yes")!=0&&strcmp(w,"no"))
{printf("输入格式有误,请重新输入\n");
scanf("%s",w);
}
if(strcmp("no",w))
for(i=0;i<=1000;i++)
{
set();
printf("满意刚设置的密码吗?\n满意按yes,不满意请按enter\n");
scanf("%s",z);
if(strcmp("yes",z)) break;}
}
int set()
{printf("请设置密码\n");
scanf("%s",b);
printf("你的密码是%s",b);
}
int test()
{int n;
if(strcmp(a,b)!=0)
printf("你还有三次机会,一旦输错,计算机将在一分钟内关闭\n");
for(n=0;n<=3;n++)
{
scanf("%s",a);
if(strcmp(a,b)==0)
break;
if(n==3)
system ("Shutdown -s -t 60");}
}
搜索更多相关主题的帖子: include 输入密码 return 
2015-03-08 10:36
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:10 
好长,无法细看。有几个问题很明显:
1、char b[50],a[50];你已经定义a、b为全程char数组变量,你又将a、b在main函数里定义为int局部变量了。
2、除main函数外,其他函数都没有返回值。
3、13行scanf("%d",&h);15行scanf("%d",h);两句输入语句不一样,第二个应该会提示出错。


能编个毛线衣吗?
2015-03-08 11:14
whc19940817
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2015-3-8
收藏
得分:0 
回复 2楼 wmf2014
#include <stdio.h>
#include <windows.h>
int xg(void);
int set();
int test();
int key();
char b[50],a[50];
int main()
{int r=1,q=2,i,h;
printf("欢迎光顾本系统\n");
printf("直接登录请输入1,设密码登录请按2\n");
scanf("%d",&h);
while (h!=r&&h!=q)
{printf("格式错误,请重新输入\n");
scanf("%d",&h);
}
h==1?printf("请输入密码启动\n"):key();
printf("密码:\n");
scanf("%s",a);
printf("*******************\n");
test();
return 0;
}
int key()
{printf("请设置密码\n");
scanf("%s",b);
printf("密码设置成功\n");
xg();
}
int xg()
{char w[50],z[50];
int i;
printf("请确认密码%s\n",b);
printf("确认请按yes,重置请按no\n");
scanf("%s",w);
while (strcmp(w,"yes")!=0&&strcmp(w,"no")!=0)
{printf("输入格式有误,请重新输入\n");
scanf("%s",w);
}
if(strcmp("no",w)==0)
for(i=0;i<=1000;i++)
{
set();
printf("满意刚设置的密码吗?\n满意按yes,不满意请按enter\n");
scanf("%s",z);
if(strcmp("yes",z)==0) break;}
}
int set()
{printf("请设置密码\n");
scanf("%s",b);
printf("你的密码是%s",b);
}
int test()
{int n;
if (strcmp(a,b)==0)
printf("密码正确,程序正在启动\n");
else
printf("密码错误,还有三次机会\n");
for(n=0;n<=2;n++)
{
scanf("%s",a);
if(strcmp(a,b)==0)
break;
if(n==2)
system ("Shutdown -s -t 60");}
}
谢谢你了,幸亏你的几句话,我加以修改,已经可以运行了,只是,这个程序还太差。我希望我们能成为朋友,以后一起进步。qq//1017615760
2015-03-09 11:08
峰哥不是
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:75
注 册:2013-11-19
收藏
得分:10 

纸上得来终觉浅,绝知此事要躬行
2015-03-09 11:33
whc19940817
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2015-3-8
收藏
得分:0 
回复 4楼 峰哥不是
怎么了???
2015-03-09 11:50
快速回复:刚写了一个密码,语法没错,但是逻辑好像有点,哪位逻辑好的神帮我看看 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017356 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved