menu参数

menu.add方法的参数:
       第一个int类型的group ID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。
       第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个item ID对应一个menu中的选项。在后面使用菜单的时候,就靠这个item ID来判断你使用的是哪个选项。
       第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的显示顺序来显示。
       第四个String类型的title参数,表示选项中显示的文字。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是对函数的补充: ```c++ #include <stdio.h> #include <stdlib.h> #include <time.h> // 全局变量定义 int disksize; // 辅存空间大小 int word; // 字长 int blocksize; // 块长 int head; // 磁头数 int sector; // 每个磁道扇区数 int sum; // 总块数 int line; // 每行块数 int cylinder; // 柱面数 int *bitmap; // 辅存位示图 // 函数声明 void print(); void allocate(); void recycle(); void init(); int menu(); // 函数定义 void print() { printf("辅存位示图:\n"); for(int i = 0; i < sum; i++) { printf("%d", bitmap[i]); if (i % line == line - 1) printf("\n"); } } void allocate() { printf("请输入作业的序号、块数、字数、位数、柱面号、磁头号、扇区号:"); int job_id, blocks, words, bits, cylinder_num, head_num, sector_num; scanf("%d %d %d %d %d %d %d", &job_id, &blocks, &words, &bits, &cylinder_num, &head_num, &sector_num); int start = -1; for(int i = 0; i < sum; i++) { int flag = 1; for(int j = 0; j < blocks; j++) { if (i + j >= sum || bitmap[i+j] == 1) { flag = 0; break; } } if (flag == 1) { start = i; break; } } if (start == -1) { printf("没有足够的空间!\n"); return; } for(int i = start; i < start + blocks; i++) { bitmap[i] = 1; } printf("作业序号:%d,起始块:%d,块数:%d,字数:%d,位数:%d,柱面号:%d,磁头号:%d,扇区号:%d\n", job_id, start, blocks, words, bits, cylinder_num, head_num, sector_num); } void recycle() { printf("请输入要回收的作业的序号:"); int job_id; scanf("%d", &job_id); for(int i = 0; i < sum; i++) { if (bitmap[i] == job_id) { bitmap[i] = 0; } } printf("回收成功!\n"); } void init() { bitmap = (int*)malloc(sizeof(int) * sum); srand((unsigned)time(NULL)); for(int i = 0; i < sum; i++) { if (rand() % 2 == 0) { bitmap[i] = 0; } else { bitmap[i] = 1; } } print(); } int menu() { printf("\n"); printf("1. 退出\n"); printf("2. 申请空间\n"); printf("3. 回收空间\n"); printf("4. 输出位示图\n"); printf("请选择:"); int c; scanf("%d", &c); switch(c) { case 1: return 1; break; case 2: allocate(); break; case 3: recycle(); break; case 4: print(); break; default: printf("无效选项!\n"); break; } return 0; } int main() { printf("请输入辅存空间的大小(单位:K)和字长(32 or 64)和块长(单位:K):"); scanf("%d %d %d",&disksize,&word,&blocksize); printf("请输入该辅存硬盘的磁道数(磁头数)和每个磁道的扇区数:"); scanf("%d %d",&head,&sector); sum=available=disksize/blocksize; line=sum/word+(sum%word?1:0); cylinder=head*sector; init(); while(1) { int c; c=menu(); if(c==1) { break; } } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值