#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义彩票结构体
typedef struct {
int number;
int price;
int isWinner;
} LotteryTicket;
// 生成随机中奖号码
int generateWinningNumber() {
srand((unsigned int)time(NULL));
return rand() % 100 + 1;
}
// 显示菜单
void showMenu() {
printf(“1. 购买彩票\n”);
printf(“2. 查看中奖号码\n”);
printf(“3. 检查是否中奖\n”);
printf(“4. 退出\n”);
}
// 购买彩票
void buyLotteryTicket(LotteryTicket *tickets, int *numTickets) {
LotteryTicket newTicket;
newTicket.number = generateWinningNumber();
newTicket.price = 5;
newTicket.isWinner = 0;
tickets[*numTickets] = newTicket;
(*numTickets)++;
printf("购买成功,花费 5 元。\n");
}
// 查看中奖号码
void viewWinningNumber() {
int winningNumber = generateWinningNumber();
printf(“本期中奖号码是: %d\n”, winningNumber);
}
// 检查是否中奖
void checkIfWin(LotteryTicket *tickets, int numTickets) {
int ticketNumber;
printf(“请输入您的彩票号码: “);
scanf(”%d”, &ticketNumber);
int found = 0;
for (int i = 0; i < numTickets; i++) {
if (tickets[i].number == ticketNumber) {
found = 1;
if (tickets[i].isWinner) {
printf("恭喜您,中奖了!\n");
} else {
printf("很遗憾,未中奖。\n");
}
break;
}
}
if (!found) {
printf("未找到该彩票号码。\n");
}
}
int main() {
LotteryTicket tickets[100]; // 假设最多存储 100 张彩票
int numTickets = 0;
int choice;
do {
showMenu();
printf("请选择操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
buyLotteryTicket(tickets, &numTickets);
break;
case 2:
viewWinningNumber();
break;
case 3:
checkIfWin(tickets, numTickets);
break;
case 4:
printf("退出程序\n");
break;
default:
printf("无效的选择,请重新输入\n");
}
} while (choice!= 4);
return 0;
}