我已经创建了我的节点(汽车)所需的数据。
struct data {
char carReg[10];
char make[20], model[20], colour[20];
int numPrevOwners;
bool reserved;
float reserveAmount;
};
我还为节点创建了模板并声明了全局变量。
struct node {
struct data *element;
struct node *next;
};
struct node *front = NULL;
struct node *last = NULL;
在我的viewSpecific()方法中,我希望用户输入一个唯一的carReg,然后它将找到存储它的节点并显示它。
这是我到目前为止所做的:
void viewSpecific() {
char result[10];
printf("Please enter the registration of the car yiew wish to view.");
scanf("%s", &result);
struct node *current, *previous;
bool notFound = true;
printf("\n");
if (isEmpty())
printf("Error - there are no nodes in the list\n");
else {
我不太确定在此之后该怎么做。
答案 0 :(得分:1)
检查用户输入的carReg是否与当前节点的carReg相同。 如果它没有前进到下一个节点。 如果你到达列表的末尾,那是因为找不到carReg。
/* basically, something like */
current = front;
while (current != NULL) {
if (strcmp(current->element->carReg, userCarReg) == 0) /* found */ break;
current = current->next;
}
if (current == NULL) {
printf("carReg not found\n");
} else {
printf("carReg: %s\n", current->element->carReg);
printf("make: %s\n", current->element->make);
printf("previous owners: %d\n", current->element->numPrevOwners);
}