#include "list.h" /* Reads a sequence of numbers from input file to create a * list of numbers. After that takes input from the keyboard * for different operations. */ int main(int argc, char *argv[]) { List L; int number; char op; // create dummy cell L = (List) malloc(sizeof(Cell)); L->element = 0; // no cell in the list yet L->next = NULL; if (argc > 2) { // wrong command printf("Command format: list []\n"); return 0; } if (argc == 2) { // input file is provided FILE *fp; int n, m; fp = fopen(argv[1], "r"); // open the file if (fp == NULL) { // file does not exist printf("Input file does not exist!\n"); return 0; } fscanf(fp, "%d", &n); // number of numbers in file for (int i = 0; i < n; i++) { // read n numbers fscanf(fp, "%d", &m); // read a number insert_list(m, L); } fclose(fp); } // Now read input from keyboard printf("Please input operations\n"); while (1) { // run indefinitely scanf(" %c", & op); // read the next operation if (op == 'e') // exit return 1; else if (op == 'p') // print the list print_list(L); else if (op == 's') { // search for a number scanf("%d", &number); if (search_list(number, L) != NULL) // number found printf("Number exists in the list\n"); else printf("Number does not exist in the list\n"); } else if (op == 'i') { // insert a number scanf("%d", &number); insert_list(number, L); } else { // delete a number scanf("%d", &number); if (delete_list(number, L) != -1) // number deleted printf("Number removed from the list\n"); else printf("Number does not exist in the list\n"); } } }