#include "list.h" #include #include #include struct student { char *name; struct list_elem elem; }; // Read a line from stdin, strip the eventual newline and return a pointer // to the string. Remember to free the pointer. char *read_input() { char *buf = NULL; size_t buf_size = 0; size_t read = getline(&buf, &buf_size, stdin); if (read == -1) { free(buf); buf = NULL; } else if (read >= 1 && buf[read - 1] == '\n') { buf[read - 1] = '\0'; } return buf; } int read_int() { char *buf = read_input(); int res = -1; if (!buf) { printf("Failed to read int from stdin\n"); } else { res = atoi(buf); } free(buf); return res; } void insert (struct list *student_list) { } void delete (struct list *student_list) { } void list (struct list *student_list) { } void quit (struct list *student_list) { } int main() { struct list student_list; list_init (&student_list); int opt; do { printf("Menu:\n"); printf("1 - Insert student\n"); printf("2 - Delete student\n"); printf("3 - List students\n"); printf("4 - Exit\n"); scanf("%d", &opt); switch (opt) { case 1: { insert(&student_list); break; } case 2: { delete(&student_list); break; } case 3: { list(&student_list); break; } case 4: { quit(&student_list); break; } default: { printf("Quit? (1/0):\n"); scanf("%d", &opt); if (opt) quit(&student_list); break; } } } while(1); return 0; }