雪墨810 2022-11-22 13:31 采纳率: 81.3%
浏览 11
已结题

将C语言转换成java语言

问题遇到的现象和发生背景

将C语言转换成java语言

用代码块功能插入代码,请勿粘贴截图
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
typedef struct {
    int number;            //box的编号
    int password;          //四位密码
    int status;            //box的状态  空为 0  有留存 1
}BOX;
void friuse(BOX* box, int btot)                                //初始化
{
    int i = 0;
    while (btot--) {
        box[i].number = i + 1;
        box[i].status = 0;
        box[i].password = 0;
        i++;
    }
}
void Menu()
{
    printf("1.投硬币(支持币值:壹)\n");
    printf("2.------输密码--------\n");
    printf("0.-------退出---------\n");
    printf("--------请选择:");
}
int YNempty(BOX*box,int btot)                            //box是否为空
{
    for (int i = 0; i < btot; i++) {
        if (box[i].status == 0)
            return i;                                 //返回下标
    }
    return 1399;
}
int backbox(BOX* box,int password,int btot)                //打开一个box
{
    for (int i = 0; i < btot; i++) {
        if (box[i].password == password) {
            printf("%d号寄存箱已打开\n", box[i].number);
            box[i].password = 0;
            box[i].status = 0;
            return 0;
        }
    }
    return printf("密码错误!\n");
}
int  Password(BOX*box ,int btot)                        //返回一个不重复的四位密码
{
    srand((unsigned)time(NULL));
    int x = 0, jude = 1;
    while (jude) {
        x = rand() % 9000 + 1000;
        for (int i = 0; i < btot; i++) {
            if (x != box[i].password)
                jude = 0;
        }
    }
    return x;
}
void Allbox(BOX* box,int btot)                  //列出所有box,并指出重点检查的box
{
    int impt[100];
    int j = 0;
    printf("---寄存箱编号-----状态----\n");
    for (int i = 0; i < btot; i++) {
        if (box[i].status == 0) {
            printf("-----%d------------空-----\n", box[i].number);
        }
        else {
            printf("-----%d-----------有留存---\n", box[i].number);
            impt[j] = box[i].number;
            j++;
        }
    }
    if (j == 0) {
        printf("箱子已经全部打开,无重点检查的箱子\n");
    }
    else {
        printf("箱子已经全部打开,请重点检查");
        for (int i = 0; i < j; i++) {
            printf("编号%d ", impt[i]);
        }
        printf("的箱子是否有物留存。\n");
    }
}
int main()
{
    int btot = 0;
    int input = 122;
    int pword = 0, coin = 0;
    char arr[10]="000086";
    printf(" 寄存箱总数:");
    scanf("%d", &btot);
    BOX box[100];
    friuse(box, btot);
    while (input) {
        Menu();
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            printf("投币值:");
            scanf("%d", &coin);
            if (coin == 1) {
                pword = Password(box, btot);
                int f = YNempty(box, btot);
                if (f != 1399) {
                    box[f].password = pword;
                    box[f].status = 1;
                    printf("寄存箱编号:%d  密码:%d\n", box[f].number, box[f].password);
                }
                else {
                    printf("寄存箱已满!\n");
                }
            }
            else {
                printf("不支持此类硬币\n");
                printf("已退还:%d\n", coin);
            }
            Sleep(2000);
            system("cls");
            break;
        case 2:
            printf("输入密码:");
            scanf("%d", &pword);
            backbox(box, pword, btot);
            Sleep(2000);
            system("cls");
            break;
        case 0:
            break;
        case 5:
            printf("请输入万能密码:");
            scanf("%s", arr);
            if (!strcmp(arr, "000086")) {
                system("cls");
                Allbox(box,btot);
            }
            else {
                printf("密码错误!");
            }
            Sleep(10000);
            system("cls");
            break;
        default:
            printf("输入错误!");
            Sleep(2000);
            system("cls");
            break;
        }
    }
    return 0;
}
 

我想要达到的结果

我要程序代码

  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2022-11-22 13:45
    关注

    代码给你贴出来了,运行没问题,细节自己测试下,有问题抛出来,给你修改。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月22日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?