密码保存在文件中,从文件中读取密码,但是没做容错和异常处理,仅供参考

#include

#include

#define PSDLEN 6

void inputPsd(char *str) /*处理输入*/

{

int i;

for(i = 0; i < PSDLEN; i++)

{

while(1)

{

str[i] = getch();

if(str[i] == '\b') /*处理退格键*/

{

i--;

if(i < 0)

{

i = 0;

}

else

{

printf("\b \b");

}

continue;

}

else if(str[i] == '\r') /*处理回车键*/

{

continue;

}

else

{

printf("*");

break;

}

}

}

str[i] = '\0';

printf("\n");

}

int checkFirst() /*检测是否是第一次使用*/

{

FILE *fp;

if((fp = fopen("psd.dat", "rb")) == NULL)

{

return 1;

}

fclose(fp);

return 0;

}

void firstUse() /*第一次使用 需要输入密码*/

{

FILE *fp;

int i;

char passwd[PSDLEN + 1];

char checkPsd[PSDLEN + 1];

if((fp = fopen("psd.dat", "wb")) == NULL)

{

printf("Creat password error!\n");

exit(1);

}

while(1)

{

printf("Please input password:");

inputPsd(passwd);

printf("\nPlease input password again:");

inputPsd(checkPsd);

if(!strcmp(passwd, checkPsd))

{

break;

}

printf("\ncheck password error! \n");

}

fwrite(passwd, sizeof(char), PSDLEN, fp);

fclose(fp);

}

void login() /*核对密码,并登录*/

{

FILE *fp;

int i, num = 3;

char passwd[PSDLEN + 1];

char checkPsd[PSDLEN + 1];

if((fp = fopen("psd.dat", "rb")) == NULL)

{

puts("Open psd.dat error");

exit(1);

}

fread(passwd, sizeof(char), PSDLEN, fp);

fclose(fp);

passwd[PSDLEN] = '\0';

printf("Please input password to login");

while(num)

{

printf("you have %d chances to cry:\n", num);

inputPsd(checkPsd);

if(!strcmp(passwd, checkPsd))

{

break;

}

puts("\npassword error,Please input again");

num--;

}

if(!num)

{

puts("Press any key to exit...");

getch();

exit(0);

}

else

{

puts("\n--------\nWelcome!\n--------\n");

}

}

void main()

{

if(checkFirst())

{

firstUse();

}

else

login();

getch();

}

取消

评论

vs2013调试c语言,怎么使用VisualStudio2013编写和调试c语言程序相关推荐

  1. 从头学C语言——(1)编写一个简单的C程序

    编写一个简单的C程序 编译器安装完成之后,我们就可以用它来编写代码了. 这里用Dev C++作为示例,我的是5.11的版本(后续版本是其他人开发的分支版本). 1.双击打开软件, 2.点击左上角工具栏 ...

  2. C语言编程练习 2.编写人得票统计程序。设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入)。

    题目完整描述 编写人得票统计程序.设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票人数由程序运行时输入). 这是一道关于 一维数组做函数参数 的 ...

  3. c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...

    如果用C语言输出:Hello,world!,该如何编写程序? **代码如下:** #include//包含标准库的信息 main()//定义名为main的函数,不接受参数值 {//main函数的语句都 ...

  4. c语言大作业菜单管理,C语言大作业:编写菜单控制猜商品价格程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 改写猜价格游戏的程序(见下),实现对这个游戏的一些管理功能,可以根据菜单对商品进行添加.删除.查找.浏览等操作,根据模块间数据传递的方式分析各个模块的函数 ...

  5. c语言大作业菜单,C语言大作业:编写菜单控制猜商品价格程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 改写猜价格游戏的程序(见下),实现对这个游戏的一些管理功能,可以根据菜单对商品进行添加.删除.查找.浏览等操作,根据模块间数据传递的方式分析各个模块的函数 ...

  6. 程序猜价格c语言,C语言大作业:编写菜单控制猜商品价格程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 改写猜价格游戏的程序(见下),实现对这个游戏的一些管理功能,可以根据菜单对商品进行添加.删除.查找.浏览等操作,根据模块间数据传递的方式分析各个模块的函数 ...

  7. 跨网段远程调试vs_使用 VS 2019 跨平台编写和调试 Linux C/C++程序

    Linux下环境配置 Ubuntu16.04下安装环境和SSH g++用来编译,gdb gdbserver用来调试,openssh-server负责远程登陆 sudo apt-get install ...

  8. c语言脚本的软件测试,编写自动测试c语言程序的shell脚本

    [一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? ] 根据这样的要求我编写了一个解决这个问题的程序: #include #in ...

  9. 一个c语言程序的开发环境,C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序...

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

最新文章

  1. 模式识别开发之项目---基于人头检测的人流量监测
  2. Java学习_day009(oop):引用类型数组、继承的意义
  3. c# 文件IO操作 StreamReader StreamWriter Split 使用
  4. 基于MATLAB的波速形成仿真
  5. 图解CSS的padding,margin,border属性
  6. windows服务器apache+PHP+Mysql
  7. 2058. 找出临界点之间的最小和最大距离
  8. web.xml 配置文件 超详细说明!!!
  9. Java多线程编程:变量共享分析(Thread)
  10. 学会了这些技术,你离BAT大厂不远了
  11. 图像处理之图像特征匹配
  12. 微服务集成cas_Spring Cloud(四) Spring Cloud Security集成CAS (单点登录)对微服务认证...
  13. VS CODE离线安装C/C++扩展的方法
  14. iOS中控制器的实践和学习(2)-认识XCode4模版(A1,A3,B2简易图)
  15. Eclipse远程部署
  16. 建立云服务器_中国云游戏元年 顺网科技跻身头号玩家队列
  17. 二维码红包系统源代码
  18. 用74ls90组成二十四进制计数器_尘埃粒子计数器的工作原理和应用分析
  19. 深入了解gorm Scan的使用
  20. 批量删除QQ空间说说

热门文章

  1. JavaScript 语言之随机点名器制作训练
  2. 态度决定命运,将自己的梦想抛向天空,你就能飞翔
  3. Android源码分析之理解Window和WindowManager
  4. Android 中的各种 Drawable 你都知道了吗?
  5. 【元胞自动机】元胞自动机图像处理【含Matlab源码 234期 】
  6. 算法 - 并行排序算法之双调排序(Bitonic_Sort)
  7. Linux 中如何使用 Htop 监控工具?【网络安全】
  8. 济南计算机专业比较好的中专学校,济南公立中专学校排名前十
  9. 计算机网络中常见的传输介质,计算机网络中,常用的传输介质有几种?
  10. javase基础课程练习题(附多种解法答案)