Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- //void f1(int *,char *);
- //void f2(int *,char *);
- //int f3(int [5][4],int );
- void f1(int *K,int *sumofkg, int *value);
- void f2(int *K,char *);
- void f3(int *K,int *value);
- void f1(int *K,int *sumofkg, int *value){
- //int *choseX=&K[0];
- //int i,j;
- int i,j,numberX;
- //char *numberX=&name[0];
- printf("選取物件(1~5):");
- //scanf("%s",numberX);
- scanf("%d%*c",&numberX);
- //switch(*numberX){
- switch(numberX){
- //case'1':
- case 1:
- //if(sumofkg>46){
- if(*sumofkg>46){
- printf("拿不動了 😊 _ 😊");
- }
- else {
- //if(*(choseX+3)>0){
- // *(choseX+3)=*(choseX+3)-1;
- // sumofkg=sumofkg+4;
- //}
- //else if(*(choseX+3)==0){
- // printf("已經拿完拉\n");
- //}
- if(K[4*numberX+3]) {
- K[4*numberX+3]-=1;
- *sumofkg+=4;
- }
- else {
- printf("已經拿完拉\n");
- }
- }
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<20;i++){
- // printf("%6d ",*(choseX+i));
- // //if(i==3||i==7||i==11||i==15||i==19){
- // if(i%4 == 3) {
- // printf("\n");
- // }
- //}
- for(i=0;i<5;i++) {
- for(j=0;j<4;j++) {
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- break;
- case'2':
- case 2:
- //if(sumofkg>45){
- if(*sumofkg>45){
- printf("拿不動了 😊 _ 😊");
- }
- else {
- //if(*(choseX+3)>0){
- // *(choseX+3)=*(choseX+3)-1;
- // sumofkg=sumofkg+4;
- //}
- //else if(*(choseX+3)==0){
- // printf("已經拿完拉\n");
- //}
- if(K[4*numberX+3]) {
- K[4*numberX+3]-=1;
- *sumofkg+=4;
- }
- else {
- printf("已經拿完拉\n");
- }
- }
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<20;i++){
- // printf("%6d ",*(choseX+i));
- // //if(i==3||i==7||i==11||i==15||i==19){
- // if(i%4 == 3) {
- // printf("\n");
- // }
- //}
- for(i=0;i<5;i++) {
- for(j=0;j<4;j++) {
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- break;
- //case'3':
- case 3:
- //if(sumofkg>44){
- if(*sumofkg>44){
- printf("拿不動了 😊 _ 😊");
- }
- else {
- //if(*(choseX+3)>0){
- // *(choseX+3)=*(choseX+3)-1;
- // sumofkg=sumofkg+4;
- //}
- //else if(*(choseX+3)==0){
- // printf("已經拿完拉\n");
- //}
- if(K[4*numberX+3]) {
- K[4*numberX+3]-=1;
- *sumofkg+=4;
- }
- else {
- printf("已經拿完拉\n");
- }
- }
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<20;i++){
- // printf("%6d ",*(choseX+i));
- // //if(i==3||i==7||i==11||i==15||i==19){
- // if(i%4 == 3) {
- // printf("\n");
- // }
- //}
- for(i=0;i<5;i++) {
- for(j=0;j<4;j++) {
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- break;
- //case'4':
- case 4:
- //if(sumofkg>43){
- if(*sumofkg>43){
- printf("拿不動了 😊 _ 😊");
- }
- else {
- //if(*(choseX+3)>0){
- // *(choseX+3)=*(choseX+3)-1;
- // sumofkg=sumofkg+4;
- //}
- //else if(*(choseX+3)==0){
- // printf("已經拿完拉\n");
- //}
- if(K[4*numberX+3]) {
- K[4*numberX+3]-=1;
- *sumofkg+=4;
- }
- else {
- printf("已經拿完拉\n");
- }
- }
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<20;i++){
- // printf("%6d ",*(choseX+i));
- // //if(i==3||i==7||i==11||i==15||i==19){
- // if(i%4 == 3) {
- // printf("\n");
- // }
- //}
- for(i=0;i<5;i++) {
- for(j=0;j<4;j++) {
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- break;
- //case'5':
- case 5:
- //if(sumofkg>0){
- if(*sumofkg>0){
- printf("拿不動了 😊 _ 😊");
- }
- else {
- //if(*(choseX+3)>0){
- // *(choseX+3)=*(choseX+3)-1;
- // sumofkg=sumofkg+4;
- //}
- //else if(*(choseX+3)==0){
- // printf("已經拿完拉\n");
- //}
- if(K[4*numberX+3]) {
- K[4*numberX+3]-=1;
- *sumofkg+=4;
- }
- else {
- printf("已經拿完拉\n");
- }
- }
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<20;i++){
- // printf("%6d ",*(choseX+i));
- // //if(i==3||i==7||i==11||i==15||i==19){
- // if(i%4 == 3) {
- // printf("\n");
- // }
- //}
- for(i=0;i<5;i++) {
- for(j=0;j<4;j++) {
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- }
- void f2(int *K,char *name){
- int *choseY=&K[0];
- int i,j;
- char *numberY=&name[0];
- printf("丟棄物件(1~5):");
- scanf("%s",numberY);
- switch(*numberY){
- case'1':
- if(*(choseY+3)==2){
- printf("背包沒有此物品拉\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- else{
- *(choseY+3)=*(choseY+3)+1;
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- break;
- case'2':
- if(*(choseY+7)==4){
- printf("背包沒有此物品拉\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- else{
- *(choseY+7)=*(choseY+7)+1;
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- break;
- case'3':
- if(*(choseY+11)==7){
- printf("背包沒有此物品拉\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- else{
- *(choseY+11)=*(choseY+11)+1;
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- break;
- case'4':
- if(*(choseY+15)==1){
- printf("背包沒有此物品拉\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- else{
- *(choseY+15)=*(choseY+15)+1;
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- break;
- case'5':
- if(*(choseY+19)==2){
- printf("背包沒有此物品拉\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- else{
- *(choseY+19)=*(choseY+19)+1;
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<20;i++){
- printf("%6d ",*(choseY+i));
- if(i==3||i==7||i==11||i==15||i==19){
- printf("\n");
- }
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- }
- }
- }
- //int f3(int K[5][4],int value){
- void f3(int *K,int *value){
- //int clone[5][4];
- int clone[20];
- int i,j,kg;
- for(i=0;i<5;i++){
- for(j=0;j<4;j++){
- //clone[i][j]=K[i][j];
- clone[4*i+j]=K[4*i+j];
- }
- }
- //clone[0][3]=2-clone[0][3];
- //clone[1][3]=4-clone[1][3];
- //clone[2][3]=7-clone[2][3];
- //clone[3][3]=1-clone[3][3];
- //clone[4][3]=2-clone[4][3];
- clone[4*0+3]=2-clone[4*0+3];
- clone[4*1+3]=4-clone[4*1+3];
- clone[4*2+3]=7-clone[4*2+3];
- clone[4*3+3]=1-clone[4*3+3];
- clone[4*4+3]=2-clone[4*4+3];
- printf("背包中的物件:\n");
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<5;i++){
- for(j=0;j<4;j++){
- //printf("%6d ",clone[i][j]);
- printf("%6d ",clone[4*i+j]);
- }
- printf("\n");
- }
- //kg=clone[0][3]*4+clone[1][3]*5+clone[2][3]*6+clone[3][3]*7+clone[4][3]*50;
- //value=clone[0][3]*180+clone[1][3]*130+clone[2][3]*200+clone[3][3]*240+clone[4][3]*1000;
- kg=clone[4*0+3]*4+clone[4*1+3]*5+clone[4*2+3]*6+clone[4*3+3]*7+clone[4*4+3]*50;
- *value=clone[4*0+3]*180+clone[4*1+3]*130+clone[4*2+3]*200+clone[4*3+3]*240+clone[4*4+3]*1000;
- printf("總重量:%d\n",kg);
- //printf("總價值:%d\n",value);
- printf("總價值:%d\n",*value);
- printf(" 物品 價值 重量(kg) 數目\n");
- for(i=0;i<5;i++){
- for(j=0;j<4;j++){
- //printf("%6d ",K[i][j]);
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- //return value;
- }
- int main(){
- //int K[5][4]={1,180,4,2,2,130,5,4,3,200,6,7,4,240,7,1,5,1000,50,2};
- int K[20]={1,180,4,2,2,130,5,4,3,200,6,7,4,240,7,1,5,1000,50,2};
- //int i,j,value;
- int i,j,value=0,sumofkg=0;
- int mode=0;
- char name[5]={'1','2','3','4','5'};
- printf(" 物品 價值 重量(kg) 數目\n");
- //for(i=0;i<5;i++){
- // for(j=0;j<4;j++){
- // printf("%6d ",K[i][j]);
- // }
- // printf("\n");
- //}
- for(i=0;i<5;i++){
- for(j=0;j<4;j++){
- printf("%6d ",K[4*i+j]);
- }
- printf("\n");
- }
- printf("'1'=>拿取物品 '2'=>放回物品 '3'=>查看背包 '4'=>偷完閃人\n");
- printf("選擇動作(1~4):");
- while(scanf("%d%*c",&mode)!=EOF){
- switch(mode){
- case 1:
- //f1(&K,&name);
- f1(K,&sumofkg,&value);
- break;
- case 2:
- f2(&K,&name);
- break;
- case 3:
- //f3(&K,value);
- f3(K,&value);
- break;
- case 4:
- //printf("總價值:%d",f3(&K,value));
- printf("總價值:%d",value);
- }
- }
- }
Add Comment
Please, Sign In to add comment