C语言 第12章 口令验证模块的改进.pptVIP

C语言 第12章 口令验证模块的改进.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C语言程序设计项目教程第12章口令验证模块的改进本章目录12.1任务说明12.2任务分析12.3任务实施12.4知识点详解12.4.1字符串的存储12.4.2字符串的输入和输出12.4.3常用的字符串处理函数12.5项目训练12.1任务说明为进一步增强学生成绩管理系统的安全性,本章为系统开发一个支持由若干个数字和字符构成的复杂口令验证模块。12.2任务分析口令验证模块的开发思路:(1)接收从键盘输入的口令;(2)将输入的口令与系统的口令进行比较,如果相同,则提示用户登录成功,否则提示用户再次输入;(3)若连续三次输入口令均未成功,则提示用户口令验证失败。需解决的问题:在C语言中如何定义、如何输入,又是如何比较字符串呢?12.2任务分析(续)新知识(1)如何定义字符串C语言中,字符串就是一串用双引号括起来的字符。举例:定义一个字符串存放用户输入的口令。 charpassword[10];用以下语句定义一个字符串存放系统的口令。 charkey[10]=ab12#;12.2任务分析(续)(2)如何输入字符串 利用字符串输入函数gets 举例: gets(password); 当程序运行到这条语句时,屏幕上就会出现闪烁的光标,等待用户输入,当用户输入完一串字符后按回车键,这串字符就会被存储到字符串password中。12.2任务分析(续)(3)如何比较字符串 利用字符串比较函数strcmp 举例: strcmp(password,key); 此函数有三种可能的返回结果:当password小于key时,返回负数;当password等于key时,返回0;当password大于key时,返回正数;12.3任务实施12.3任务实施(续)#includestdio.h#includestring.h//使用字符串处理函数,须包含头文件string.hmain(){ charpassword[8];charkey[8]=ab12#; intcount=0; ints=0;//定义标志变量,1代表验证成功,0代表验证失败 do{ count++; printf(请输入口令:); gets(password); if(strcmp(password,key)==0) {s=1;printf(“口令正确,允许进入本系统!\n);break;} }while(s==0count3);/*如果口令验证未成功并且输入口令的次数不到3次,则让用户继续输入*/ if(s==0)printf(口令错误,不允许进入本系统!\n);}12.4知识点详解12.4.1字符串的存储12.4.2字符串的输入和输出12.4.3常用的字符串处理函数用来存放字符数据的数组称为字符数组.字符数组的定义形式与前面介绍的数值数组相同,字符数组通常作为一个独特的数据结构,存放字符串,因此,它与数值数组许多方面有所不同.1、字符数组的定义:一维:存储类型char数组名[常量表达式]={初值};例:charc[10];定义了长度为10的一维数组c2、字符数组的初始化字符数组有两种初始化方法:1)对数组元素赋初值,同时可以缺省数组长度.charc[3]={‘c’,’a’,’t’};或charc[]={‘c’,’a’,’t’}2)用字符串为字符数组赋初值例:charc[4]=“cat”或chara[]=“cat”;当把一个字符串存入一个数组时,系统在最末一位有效字符后,自动加一个‘\0’作为结束符.用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志‘\0’.上例中,数组a占连续4个字节存储空间。12.4.1字符串的存储举例,口令验证函数中系统口令字符串key的存储注意:’\0’是ASCII值0的转义字符,它是字符串的结束标志。在字符串中,有效字符的个数称为“字符串的长度”,但实际上,字符串在内存中所占的字节数会比字符串的长度多1(因为’\0’要占一个字节)。3、字符数组的引用字符数组元素的引用与一般数值

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档