static int get_root_index (const char *hint, int start_index, int min_filter, int mag_filter) { int i; static BOOL initialized = FALSE; if (!initialized) { for (i = 1; i < CANVAS_ATLAS_MAX_TREES; i++) { roots[i].root_node = NULL; roots[i].hint[0] = 0; } initialized = TRUE; } for (i = start_index; i < CANVAS_ATLAS_MAX_TREES; i++) { if (roots[i].root_node == NULL) { roots[i] = create_new_root(hint, min_filter, mag_filter); return i; } if (!strcmp(roots[i].hint, hint)) return i; } return -1; }
void main_menu() { bool cont = false; root* root = create_new_root(); /* char* test = strdup("Hoppsanhejsna"); free(test); printf("test: %s", test); */ // hur kan detta fungera?? insert_new_ware(Warehouse, "Gurka", "grön", 11, "A11", 11); insert_new_ware(Warehouse, "Lampa", "skäggig", 1, "K8", 1); insert_new_ware(Warehouse, "Häst", "fulsfdkj", 34, "K5", 1); insert_new_ware(Warehouse, "Lars", "grön", 2, "F2", 1); insert_new_ware(Warehouse, "Berg", "högt", 10000, "G34", 3); insert_new_ware(Warehouse, "Igelkott", "högt", 10000, "G33", 3); insert_new_ware(Warehouse, "Danne", "skäggig", 1, "E2", 1); insert_new_ware(Warehouse, "Gös", "skäggig", 1, "E3", 1); insert_new_ware(Warehouse, "Apa", "skäggig", 1, "E4", 1); insert_new_ware(Warehouse, "Iller", "skäggig", 1, "K7", 1); insert_new_ware(Warehouse, "Hej hej", "skäggig", 1, "K9", 1); node* gurka = find_node(Top(Warehouse), "Gurka"); add_shelf(gurka, "A5", 5); add_shelf(gurka, "A3", 3); add_shelf(gurka, "A6", 6); add_shelf(gurka, "A4", 4); add_shelf(gurka, "A5", 5); add_shelf(gurka, "A2", 2); add_shelf(gurka, "A5", 5); /* puts("shelves"); print_shelf_names(gurka, WithoutNumbers); print_line(); gurka = remove_amount(gurka, 11); print_shelf_names(gurka, WithoutNumbers); print_line(); puts("Warehouse now"); printWarehouse(); puts("removes"); remove_node(root, find_node(Top(Warehouse), "Häst")); puts("removed"); puts("New Warehouse"); printWarehouse(); print_line(); */ while (!cont) { print_main_menu(); int answer = ask_int_q("\nWhat would you like to do?", 0, 5); switch (answer) { case 1: add_ware_IO(root); break; case 2: remove_item_IO(root); break; case 3: edit_item_IO(root); break; case 4: show_warehouse_IO(root, Warehouse); break; case 5: add_item_to_cart_IO(root); break; case 0: cont = exit_warehouse(); break; default: puts ("defaaaaauuuuuult"); } } destroy_all(root); }