1
파일의 정보를 Car struct "newcar"로 읽는 중입니다. 아래의 "sll_add"함수를 사용하여 "list"라는 Carlist i 유형의 단일 좋아하는 목록에 정보를 추가해야합니다. 나는 그것이 어떻게 시작되는지 이해하는 데 어려움을 겪고 있습니다. 어떤 도움을 주셔서 감사합니다.단일 링크 된 목록에 개체를 추가하는 방법
int main (void)//main function
{
FILE *fp;//file pointer
fp = fopen("car_inventory.txt", "r");//opens the car inventory data within the program.
int num=0;//vairable created to keep track of the information.
int year;//, choice;//variables use for user input.
char str1[100];//string created to ensure the program reads the information from the original file correctly.
Carlist list;//creates a string of type "Car" named file to hold up to 100 cars.
Car newcar;//Car variable to store the info from the file.
list *last=num;
if (fp)
{
{
while(!feof(fp))//takes input from the data file.
{
fgets(str1,50, fp);
sscanf(str1,"%d %s %[^\n]s", &newcar.year, newcar.make, newcar.model);
fgets(str1,50, fp);
sscanf(str1,"%[^\n]s", newcar.style);
fgets(str1,50, fp);
sscanf(str1,"%[^\n]s", newcar.color);
fgets(str1,50, fp);
sscanf(str1,"%s", newcar.mileage);
fgets(str1,50, fp);
sscanf(str1,"%c", &newcar.air_condition);
fgets(str1,50, fp);
sscanf(str1,"%s", newcar.inventory_num);
fgets(str1,50, fp);
sscanf(str1,"%lf", &(newcar).price);
fgets(str1,50, fp);
sscanf(str1,"%[^\n]s", newcar.previous_owner);
fgets(str1,50,fp);
num++;
sll_add(*newcar, &list);
}
}
return 0;
#define MAX_CARS 100
/* Type definitions */
typedef struct car
{
int year;
char make[25];
char model[25];
char style[25];
char color[20];
char mileage[8];
char air_condition;
char inventory_num[16];
double price;
char previous_owner[30];
struct car *next;
} Car;
typedef struct carlist
{
Car *first;
Car *last;
} Carlist;
void sll_init(Carlist *l);
Car *sll_first(Carlist *l);
Car *sll_end(Carlist *l);
Car *sll_next(Car *current, Carlist *l);
Car *sll_retrieve(Car *element, Carlist *l);
void sll_delete(Car *c, Carlist *l);
void sll_delete_year(Carlist *l, int year);
void sll_add(Car *newcar, Carlist *l);
#endif
도움 주셔서 감사합니다. – user2812294