gpt4 book ai didi

c - Domino 程序问题

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:33 25 4
gpt4 key购买 nike

我正努力在类里面快速完成这段代码,因为我已经编写了 10 多个小时,但我就是无法让它工作。从本质上讲,它是一个多米诺骨牌程序,您可以在其中输入多米诺骨牌的第一个数字,第二个数字,然后是一个标志(y 将是标准的 - 当骰子被移除时必须切换到 n)。目前我收到以下错误信息:1. 警告:格式“%c”需要类型为“char ”的参数,但参数 2 的类型为“void() ()”2. 错误:调用的对象'print'不是一个函数3. 错误:'Domino' 之前的预期表达式

我已经坐下来在线研究这个问题几个小时,我知道我遗漏了一些小东西。任何帮助将不胜感激

 #include <stdio.h>
#include <stdlib.h>

int getIndex();
void addDomino();
void removeDomino();
void print();
void quit();

typedef struct Domino{
int * i;
int * x;
int * y;
}Domino;

int main(int argc, char * argv[])
{
int NumDom, DomNum1, DomNum2, DomIndex, Index, input;
char MainMenu;

//Startup
printf("Enter the max number of dominos:");
scanf("%d",&NumDom);
void * add = malloc(size(Domino)*1);
void * remove = malloc(offset(Domino)*1);
void * print = malloc(sizeof(Domino)*10);
//int domino[NumDom][3];
//int dom[0][3] = {Index, DomNum1, DomNum2};

//Main Menu
// printf("Enter (p) to print (a) to add (r) to remove and (q) to quit\n");
// printf(":");
// scanf("%s",&MainMenu);

printf("Enter (p) to print (a) to add (r) to remove and (q) to quit\n");
scanf("%c%c%c%c \n", addDomino, removeDomino, print, quit);
switch(input)
{
case 'a':
addDomino();
break;
case 'r':
removeDomino();
break;
case 'p':
print();
break;
case 'q':
quit();
break;
printf(":\n");
}
}
//Add
void addDomino(DomNum1, DomNum2)
{
printf("Enter number 1\n");
printf(":");
scanf("%d", &DomNum1);
printf("Enter number 2\n");
printf(":");
scanf("%d", &DomNum2);
}

//Print
void printDomino(DomNum1, DomNum2)
{
printf("Printing Dominos\n");
printf("Domino # (%d,%d)\n",DomNum1,DomNum2);
}
//Remove
void removeDomino(DomIndex)
{
printf("Enter the index:%d", DomIndex);
scanf("%d", &DomIndex);
}

//Quit
void quit()
{
printf("All done\n");
}

这是可以运行的原始代码,但我的所有功能问题均已消除

#include <stdio.h>
#include <stdlib.h>

typedef struct Domino{
int * i;
int * x;
int * y;
}Domino;

int main(int argc, const char * argv[])
{
int NumDom, DomNum1, DomNum2, DomIndex, Index;
char MainMenu;

//Startup
printf("Enter the max number of dominos:");
scanf("%d",&NumDom);

//int domino[NumDom][3];
//int dom[0][3] = {Index, DomNum1, DomNum2};

//Main Menu
printf("Enter (p) to print (a) to add (r) to remove and (q) to quit\n");
printf(":");
scanf("%s",&MainMenu);

//Add
printf("Enter number 1\n");
printf(":");
scanf("%d", &DomNum1);
printf("Enter number 2\n");
printf(":");
scanf("%d", &DomNum2);

//Print
printf("Printing Dominos\n");
printf("Domino # (%d,%d)\n", DomNum1, DomNum2);

//Remove
printf("Enter the index:5");
scanf("%d", &DomIndex);

//Quit
printf("All done\n");

}

最佳答案

至于第一个问题 - 您将函数指针传递给不足的函数,我不明白您想要实现什么。只需给它 input 变量就可以了。

关于c - Domino 程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com