C语言高手进阿,求指教,很急啊

时间:2022-01-13 18:52:56
C语言高手进阿,求指教,很急啊
C语言高手进阿,求指教,很急啊

http://undergraduate.csse.uwa.edu.au/units/CITS1210/Project1/

/****************************************************************/
/* Global variable definitions */
/* DO NOT ADD ANY ADDITIONAL GLOBAL VARIABLES */

/* The connectivities of the different piece types in their default
   (no-rotation) orientation */
const bool connectivity[NPIECES][NDIRECTIONS] = {
/* ONE: */ {true, false, false, false},
/* TWOSTRAIGHT: */ {true, false, true, false},
/* TWOELBOW: */ {true, true, false, false},
/* THREE: */ {true, true, true, false},
/* FOUR: */ {true, true, true, true}
};

/* The board global variable */
BOARD board;

/****************************************************************/

/*
   isValidBoardEntry(c) returns true iff c is a valid character that
   can appear in a board-file.
*/
static bool isValidBoardEntry(char c)
{
        return false;
}

/*
   isValidSourceEntry(c) returns true iff c is a valid character that
   represents the source cell in a board-file.
*/
static bool isValidSourceEntry(char c)
{
        return false;
}

/*
   trimLine(line) removes any trailing new-line or carriage-return
   characters from the end of line.
*/
static void trimLine(char line[])
{
}

/*
   isValidLocation(loc) returns true iff loc represents a valid/legal
   location within the board (i.e. within the bounds of the board).
*/
static bool isValidLocation(LOCATION loc)
{
return false;
}

/*
   initialiseCell(loc, c) initialises the cell at location loc to the
   corresponding piece denoted by c.  The function terminates the program
   if loc or c are not valid.
*/
static void initialiseCell(LOCATION loc, char c)
{
}

/*
   readBoard(filename) reads the contents of the file named filename as
   a board-file, "filling" the board global variable with information
   read from the file.  The function terminates the program if the file
   is not a valid board-file or if the corresponding board is too large
   to store in the board global variable.
*/
static void readBoard(char filename[])
{
}

/*
   charValue(loc) returns the board-file character that denotes the
   piece at location loc in the board.  The function terminates the
   program if loc is not valid.
*/
static char charValue(LOCATION loc)
{
return 'X';
}

/*
   display(void) displays the contents of the board.
*/
static void display(void)
{
/* Uncomment the following preprocessor directive if you want the
   graphical interface under MacOSX in CSSE Lab 2.01 */
/*
#if defined(__APPLE__)
pipesGUI();
#endif
*/
}

/*
   rotateCell(loc) rotates the piece at location loc in the board
   clockwise by 90 degrees.  The function terminates the program if loc
   is not valid.
*/
static void rotateCell(LOCATION loc)
{
/* Uncomment the following preprocessor directive if you want the
   graphical interface under MacOSX in CSSE Lab 2.01 */
/*
#if defined(__APPLE__)
pipesGUI();
#endif
*/
}

/*
   isValidMovesEntry(c) returns true iff c is a valid character that
   can appear in a moves-file.
*/
static bool isValidMovesEntry(char c)
{
return false;
}

/*
   processMoves(filename) reads the contents of the file named filename
   as a moves-file, rotating each corresponding cell clockwise by 90
   degrees, returning the total number of moves processed.  The function
   terminates the program if the file is not a valid moves-file or any
   location in the moves-file is invalid.
*/
static int processMoves(char filename[])
{
return -1;
}

/*
   isActive(loc) returns true iff the piece at location loc is marked
   as active (i.e. connected to the source cell) within the board global
   variable.  The function terminates the program if loc is not valid.
*/
static bool isActive(LOCATION loc)
{
return false;
}

/*
   isConnected(loc, dir) returns true iff the piece at location loc
   can connect to the adjacent cell in the dir direction (i.e. iff the
   piece has an arm in the dir direction).  The function terminates the
   program if loc is not valid.
*/
static bool isConnected(LOCATION loc, DIRECTION dir)
{
return false;
}

/*
   connectivityFrom(loc) recursively sets all cells connected to the
   cell at location loc as active, returning the total number of cells
   made active during the process.  The function terminates the program
   if loc is not valid.
*/
static int connectivityFrom(LOCATION loc)
{
return -1;
}

/*
   checkConnectivity(void) returns true iff all cells in the board are
   connected to the source cell.
*/
static bool checkConnectivity(void)
{
return false;
}

/****************************************************************/
/* The main program */

int main(int argc, char *argv[])
{
/* Exit with an error if the the number of arguments (including
   the name of the executable) is not 3 */
if(argc != 3)
{
fprintf(stderr, "Usage: %s <board-file> <moves-file>\n",
argv[0]);
exit(EXIT_FAILURE);
}
else
{
/* Read the board from file */
readBoard(argv[1]);

/* Display the contents of the board */
printf("Read board from '%s'.\n", argv[1]);
printf("The initial board is:\n");
display();

/* Process moves, updating board as required */
int nmoves = processMoves(argv[2]);
printf("\nProcessed moves from file '%s'.\n", argv[2]);
printf("Processed %d move", nmoves);
if (nmoves != 1)
{
printf("s");
}
printf(".\n\n");

/* Check the connectivity of the board */
bool connected = checkConnectivity();

/* Redisplay the contents of the board */
printf("The final board is:\n");
display();

/* Print final message */
if (connected)
{
printf("Congratulations, all cells are connected.");
printf("  You have solved the puzzle.\n");
}
else
{
printf("Some cells are not connected.");
printf("  You have not solved the puzzle.\n");
}

/* Uncomment the following preprocessor directive if you want the
   graphical interface under MacOSX in CSSE Lab 2.01 */
/*
#if defined(__APPLE__)
while (true)
{
pipesGUI();
}
#endif
*/

/* Finished successfully! */
exit(EXIT_SUCCESS);
}

/* Note: all of the required functions above are defined as
   static, meaning that they can not be accessed from outside
   of this file.  Because of this, gcc complains if you don't
   actually call each function.  The following "silly" code tricks
   the compiler to think every required function is actually used
   (although they will never actually be executed).  When your
   code eventually calls each required function, remove this code.
*/
if (false)
{
char line[1];
LOCATION l;

isValidBoardEntry('?');
isValidSourceEntry('?');
trimLine(line);
isValidLocation(l);
initialiseCell(l, '?');
charValue(l);
rotateCell(l);
isValidMovesEntry('?');
isActive(l);
isConnected(l, NORTH);
connectivityFrom(l);
}

return 0;
}

这个是我的project, 求高手帮忙做一下, 很急的,这个作业算分,跪求指教,万分感谢!

13 个解决方案

#1


帮顶!!!!!!

#2


不管怎么样,顶一个.

#3


又见作业,又见跪求..唉...
C语言高手进阿,求指教,很急啊

#4


引用 3 楼 walkersfaint 的回复:
又见作业,又见跪求..唉...

我也感觉蛮无聊的啊!

#5


楼主也不大概介绍一下你这个project要实现的功能,还应该说明你目前你遇到的问题,否则让大家慢慢看你的代码,这样不是很好吧。

#6


好长的代码  描述一下吧

#7


澳大利亚来的Undergraudate的学生?不是把,连个Project都要帮忙做?

#8


引用 5 楼 chinesedragon2010 的回复:
楼主也不大概介绍一下你这个project要实现的功能,还应该说明你目前你遇到的问题,否则让大家慢慢看你的代码,这样不是很好吧。


他给project要实现的功能。在他学校的网站上: http://undergraduate.csse.uwa.edu.au/units/CITS1210/Project1/

#9


作业?还是自己做好,不然咋进步。
函数写的这样,说一下这个函数的功能,也方便大家快速的浏览代码。

#10


牛逼!

#11


lz英文不错!

#12


围观..................回复太快,请先休息一下!

#13


其实这个程序挺有意思的
读书的时候我做过类似的

#1


帮顶!!!!!!

#2


不管怎么样,顶一个.

#3


又见作业,又见跪求..唉...
C语言高手进阿,求指教,很急啊

#4


引用 3 楼 walkersfaint 的回复:
又见作业,又见跪求..唉...

我也感觉蛮无聊的啊!

#5


楼主也不大概介绍一下你这个project要实现的功能,还应该说明你目前你遇到的问题,否则让大家慢慢看你的代码,这样不是很好吧。

#6


好长的代码  描述一下吧

#7


澳大利亚来的Undergraudate的学生?不是把,连个Project都要帮忙做?

#8


引用 5 楼 chinesedragon2010 的回复:
楼主也不大概介绍一下你这个project要实现的功能,还应该说明你目前你遇到的问题,否则让大家慢慢看你的代码,这样不是很好吧。


他给project要实现的功能。在他学校的网站上: http://undergraduate.csse.uwa.edu.au/units/CITS1210/Project1/

#9


作业?还是自己做好,不然咋进步。
函数写的这样,说一下这个函数的功能,也方便大家快速的浏览代码。

#10


牛逼!

#11


lz英文不错!

#12


围观..................回复太快,请先休息一下!

#13


其实这个程序挺有意思的
读书的时候我做过类似的