Homework.h的TypeDef結構在頭文件中定義
#ifdef HOMEWORK_H_
#define HOMEWORK_H_
typedef struct
{
int IDNumber;
char FirstName[30];
char LastName[30];
}Student;
int AddStudent();
#endif
GradeFunctions.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Homework.h"
#define MAX 100
int AddStudent()
{
int i;
int StuNumber = 0;
Student store[MAX];
for(i = 0; i < 0; i++)
{
if(Strlen(store[i].FirstName) > 0)
{
if(Strlen(store[i].LastName) > 0)
{
if(Strlen(store[i].IDNumber) > 0)
{
int StuNumber = i;
break;
}
}
}
}
printf("Please enter the students first name: ");
scanf("%s", store[StuNumber].FirstName);
printf("\n");
printf("Please enter the students last name: ");
scanf("%s", store[StuNumber].LastName);
printf("\n");
printf("Please enter the students ID Number: ");
scanf("%d", &store[StuNumber].IDNumber);
printf("\n");
return 0;
}
我把每一次我嘗試編譯
GradeFunctions.c: In function ‘AddStudent’:
GradeFunctions.c:13:2: error: unknown type name ‘Student’
GradeFunctions.c:17:21: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:19:22: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:21:23: error: request for member ‘IDNumber’ in something not a structure or union
GradeFunctions.c:30:30: error: request for member ‘FirstName’ in something not a structure or union
GradeFunctions.c:33:30: error: request for member ‘LastName’ in something not a structure or union
GradeFunctions.c:36:31: error: request for member ‘IDNumber’ in something not a structure or union
我花了時間收到此錯誤最近幾個小時試圖找到一個原因,這是發生在我的教科書和在線,但沒有AVA金正日。我究竟做錯了什麼?
嵌套'if'太多了。 –
標準庫中沒有'Strlen()'這樣的東西。 – 3442
@KemyLand我認爲這是大寫'S'的原因,因爲他們的老師需要它的實現,而不是使用庫函數。但是,OP應該知道'store [i] .FirstName [0]!='\ 0''與'strlen(store [i] .FirstName)== 0'具有相同的效果。而且,許多'if'嵌套就像這樣會讓你閱讀你的代碼非常不愉快。請改進設計以避免這種情況。例如,使用'continue'。 –