编写一个用户密码设置程序。程序功能:输入自己的学号和姓名后,提示设定6位登录密码。对输入的密码进行加密处理(加密算法自行设计)并存储。随后提示确认密码并输入密码,对输入的密码与原密码进行比较验证。如果输入的验证密码错误则提示“密码错误”,错误密码的输入次数超过3次则程序结束。输入密码正确则提示“密码正确”,程序结束。
(本题40分)
注意事项:
(1)要求绘制流程图,通过流程图表达自己的设计思想。并对加密算法进行说明。
(2)加密、解密功能要求在自定义函数中实现。
(3)输入、输出信息应简洁美观。
(4)要求用条件语句、循环语句、结构体、函数、指针等方法解决问题。
(5)将流程图、源代码以及程序运行结果(截图)粘贴在下方。
编写一个用户密码设置程序的代码
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 流比 2022-12-25 22:59关注
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_TRIES 3 // 最大尝试次数 #define PASSWORD_LENGTH 6 // 密码长度 // 加密算法(此处仅作示例,请根据需要自行设计) void encrypt(char *password) { for (int i = 0; i < PASSWORD_LENGTH; ++i) { password[i] = (password[i] + 1) % 127; } } int main(int argc, char *argv[]) { // 输入学号和姓名 char id[32]; char name[32]; printf("请输入学号:"); scanf("%s", id); printf("请输入姓名:"); scanf("%s", name); // 输入密码并加密 char password[PASSWORD_LENGTH + 1]; printf("请输入%d位登录密码:", PASSWORD_LENGTH); scanf("%s", password); encrypt(password); // 确认密码 int tries = 0; char confirm[PASSWORD_LENGTH + 1]; do { printf("请再次输入密码确认:"); scanf("%s", confirm); ++tries; } while (strcmp(password, confirm) != 0 && tries < MAX_TRIES); // 验证密码 if (strcmp(password, confirm) == 0) { printf("密码正确\n"); } else { printf("密码错误\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何使用simulink建立一个永磁同步直线电机模型?
- ¥30 天体光谱图的的绘制并得到星表
- ¥15 PointNet++的onnx模型只能使用一次
- ¥20 西南科技大学数字信号处理
- ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
- ¥30 STM32 INMP441无法读取数据
- ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗