用c语言写代码,实现以下模块功能,功能模块说明: 1、 登录:密码设置为“abc”,共三次输入密码机会,超过三次为登录不成功。 2、 选择项目:列出三个选项,1、猜数字。2、猜大小。3、退出。选择项目后,执行相应内容。 3、 猜数字:随机产生一个[0,99]间的整数,5次猜数字机会,没猜中会提示太大还是太小。 4、 猜大小:随机产生一个[1,6]间的整数,1-3为小,4-6为大,用户猜大小。 注:猜数字和猜大小模块后,回到选择项目模块。具体效果见执行文件。
时间: 2024-03-16 19:45:43 浏览: 43
好的,以下是用C语言实现该程序的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define PASSWORD "abc" // 登录密码
#define MAX_TRY_TIMES 3 // 最大登录尝试次数
#define MAX_GUESS_TIMES 5 // 猜数字最大尝试次数
// 函数声明
void login();
void selectProject();
void guessNumber();
void guessSize();
int main() {
login();
selectProject();
return 0;
}
void login() {
char password[20];
int tryTimes = 0;
printf("请输入密码:");
scanf("%s", password);
while (strcmp(password, PASSWORD) != 0) {
tryTimes++;
if (tryTimes == MAX_TRY_TIMES) {
printf("密码错误次数已达上限,登录失败!\n");
exit(0);
}
printf("密码错误,请重新输入:");
scanf("%s", password);
}
printf("登录成功!\n");
}
void selectProject() {
int choice;
while (1) { // 循环执行选择项目的过程
printf("请选择项目:\n");
printf("1、猜数字\n");
printf("2、猜大小\n");
printf("3、退出\n");
printf("请输入选择的数字:");
scanf("%d", &choice);
switch (choice) {
case 1:
guessNumber();
break;
case 2:
guessSize();
break;
case 3:
printf("程序已退出!\n");
exit(0);
default:
printf("输入错误,请重新选择!\n");
break;
}
}
}
void guessNumber() {
srand((unsigned int) time(NULL)); // 初始化随机数种子
int target = rand() % 100;
int guess, guessTimes = 0;
while (guessTimes < MAX_GUESS_TIMES) { // 循环猜数字
printf("请输入一个0~99之间的整数:");
scanf("%d", &guess);
if (guess == target) {
printf("恭喜你,猜中了!\n");
break;
} else if (guess > target) {
printf("猜大了!\n");
} else {
printf("猜小了!\n");
}
guessTimes++;
}
if (guessTimes == MAX_GUESS_TIMES) {
printf("很遗憾,未能在规定次数内猜中数字,正确答案是:%d\n", target);
}
}
void guessSize() {
srand((unsigned int) time(NULL)); // 初始化随机数种子
int target = rand() % 6 + 1;
int guess;
printf("请选择大小:\n");
printf("1、小\n");
printf("2、大\n");
printf("请输入选择的数字:");
scanf("%d", &guess);
if (guess == 1) {
printf("你猜的是小!\n");
} else if (guess == 2) {
printf("你猜的是大!\n");
} else {
printf("输入错误,请重新选择!\n");
guessSize();
return;
}
if ((target >= 1 && target <= 3 && guess == 1) || (target >= 4 && target <= 6 && guess == 2)) {
printf("恭喜你,猜对了!\n");
} else {
printf("很遗憾,猜错了!正确答案是:%s\n", target <= 3 ? "小" : "大");
}
}
```
以上就是实现该程序的代码,具体实现细节可以看注释。
阅读全文