0
我想準備我的項目,但void insertCourse(CourseNodePtr* cr, char* code);
函數給參數2給語法錯誤;代碼在開關情況下1.任何人有一個想法,爲什麼它不工作?鏈接列表函數調用
struct course{
char code[10];
char name[40];
char instructor[40];
char term[10];
int year;
struct course *coursePtr; /* pointer to next node */
};
typedef struct course Course; /* synonym for struct course */
typedef Course *CourseNodePtr; /* synonym for CourseNodePtr* */
/* Function Prototypes */
void insertCourse(CourseNodePtr* cr, char* code);
char* deleteCourse(CourseNodePtr* cr, CourseNodePtr* inscr, char* code);
void insertStudent(FILE* filePtr, StudentNodePtr* cr, int id);
int deleteStudent(FILE* filePtr, StudentNodePtr* cr, int id);
void displayStudent(FILE* filePtr, int id);
void displayClassNumbers(FILE* filePtr, int id);
void displayRecvCourse (FILE* filePtr, char* code, char* term, int year);
void registration(FILE* filePtr);
void instructions(void);
int main(void)
{
CourseNodePtr startPtr = NULL; /* initially there are no nodes */
StudentNodePtr startPtr1 = NULL; /* initially there are no nodes */
int choice; /* user's choice */
Course code;
Student id;
Course year;
instructions(); /* display the menu */
printf("? ");
scanf("%d", &choice);
while (choice != 9) {
switch (choice) {
case 1:
printf("Pls enter the course code to be inserted.\n");
scanf("%s", code);
insertCourse(&startPtr, char* code);
break;
/*
printf("? ");
scanf("%d", &choice);
printf("End of run.\n");
getch();
return 0; /* indicates successful termination */
} /* end main */
/* Insert course function */
void insertCourse(CourseNodePtr* cr, char* code)
{
CourseNodePtr newPtr; /* New node pointer */
CourseNodePtr previousPtr; /* previous node pointer in list */
CourseNodePtr currentPtr; /* current node pointer in list */
newPtr = malloc(sizeof(Course)); /* memory allocation for new node */
if (newPtr != NULL) {
printf("Pls enter the code number of the course.\n");
scanf("%s", &(newPtr->code));
printf("Pls enter the course name.\n");
scanf("%s", &(newPtr->name));
printf("Pls enter the instructor name.\n");
scanf("%s", &(newPtr->instructor));
printf("Pls enter the term; Spring or Fall.\n");
scanf("%s", &(newPtr->term));
printf("Pls enter the year.\n");
scanf("%s", &(newPtr->year));
newPtr->coursePtr = NULL;
previousPtr = NULL;
currentPtr = *cr;
while ((currentPtr != NULL) && (code > currentPtr->code)) {
previousPtr = currentPtr;
currentPtr = currentPtr->coursePtr;
} /* End While */
if (previousPtr == NULL) {
newPtr->coursePtr = *cr;
*cr = newPtr;
} /* End if */
else {
previousPtr->coursePtr = newPtr;
newPtr->coursePtr = currentPtr;
} /* End else */
} /* End if */
else {
printf(" %c could not be inserted. Memory not enough...\n", code);
} /* End else */
} /* End function insert */
非常感謝Ivaylo ..我有另一個問題;指令功能也給語法錯誤。指令功能如下 – Behzat
空隙指令(無效) { 的printf( 「輸入您的選擇:\ n」 個 「1插入過程\ n」。 「2刪除一個課程\ n」。 「9到端。\ n「); }/*結束函數說明* /我在主要函數中調用指令();但編譯器在輸入結束時說出語法錯誤。 – Behzat
我在此代碼中看不到任何錯誤。抱歉。 –