好的,下面是一个简单的C语言密码锁程序示例。这个程序包括密码验证、主菜单选择以及修改密码和计算机功能模块。 ```c #include <stdio.h> #include <string.h> #define PASSWORD "1234" // 初始密码 #define MAX_INPUT_SIZE 50 void changePassword(); void computerFunctions(); int authenticate(char *input); void menu(); int main() { char input[MAX_INPUT_SIZE]; while (1) { printf("请输入密码: "); scanf("%s", input); if (authenticate(input)) { menu(); } else { printf("密码错误,请重试。\n"); } } return 0; } int authenticate(char *input) { return strcmp(input, PASSWORD) == 0; } void menu() { int choice; do { printf("\n主菜单:\n"); printf("1. 修改密码\n"); printf("2. 计算机功能\n"); printf("3. 退出程序\n"); printf("请选择一个选项: "); scanf("%d", &choice); switch (choice) { case 1: changePassword(); break; case 2: computerFunctions(); break; case 3: printf("退出程序。\n"); exit(0); default: printf("无效的选择,请重试。\n"); } } while (choice != 3); } void changePassword() { char oldPassword[MAX_INPUT_SIZE]; char newPassword1[MAX_INPUT_SIZE]; char newPassword2[MAX_INPUT_SIZE]; printf("请输入当前密码: "); scanf("%s", oldPassword); if (!authenticate(oldPassword)) { printf("密码错误,无法修改密码。\n"); return; } printf("请输入新密码: "); scanf("%s", newPassword1); printf("请再次输入新密码: "); scanf("%s", newPassword2); if (strcmp(newPassword1, newPassword2) == 0) { strcpy(PASSWORD, newPassword1); printf("密码修改成功。\n"); } else { printf("两次输入的新密码不一致,修改失败。\n"); } } void computerFunctions() { int choice; double num1, num2, result; do { printf("\n计算机功能:\n"); printf("1. 加法\n"); printf("2. 减法\n"); printf("3. 乘法\n"); printf("4. 除法\n"); printf("5. 返回主菜单\n"); printf("请选择一个选项: "); scanf("%d", &choice); switch (choice) { case 1: printf("请输入两个数字: "); scanf("%lf %lf", &num1, &num2); result = num1 + num2; printf("结果: %.2lf\n", result); break; case 2: printf("请输入两个数字: "); scanf("%lf %lf", &num1, &num2); result = num1 - num2; printf("结果: %.2lf\n", result); break; case 3: printf("请输入两个数字: "); scanf("%lf %lf", &num1, &num2); result = num1 * num2; printf("结果: %.2lf\n", result); break; case 4: printf("请输入两个数字: "); scanf("%lf %lf", &num1, &num2); if (num2 != 0) { result = num1 / num2; printf("结果: %.2lf\n", result); } else { printf("除数不能为零。\n"); } break; case 5: printf("返回主菜单。\n"); break; default: printf("无效的选择,请重试。\n"); } } while (choice != 5); } ``` 代码说明: 1. 密码验证:`authenticate`函数用于验证输入的密码是否正确。 2. 主菜单:`menu`函数提供三个选项:修改密码、计算机功能和退出程序。 3. 修改密码:`changePassword`函数允许用户修改密码,需要先输入当前密码,然后输入两次新密码进行确认。 4. 计算机功能:`computerFunctions`函数提供基本的加减乘除运算,用户可以循环进行这些操作,直到选择返回主菜单。 [2024-12-02 17:12:13 | AI写代码神器 | 1214点数解答]