int main() { Node *head=NULL; int iRetCode=eFailed; iRetCode = add_begin(&head,11); LOG_CHECK_ERROR(iRetCode); iRetCode = add_begin(&head,22); LOG_CHECK_ERROR(iRetCode); iRetCode = add_begin(&head,33); LOG_CHECK_ERROR(iRetCode); iRetCode = add_end(&head,44); LOG_CHECK_ERROR(iRetCode); print(head); Reverse_list(&head); print(head); Exit0: return 0; }
/* ########## THE MAIN ENTRY POINT - MAIN FUNCTION ########## */ int main(void) { int choice = 1; // to prevent closing the menu after starting /* trying to open databases - if can't then setting up NULL value to their pointers - clean database cases */ Record* rec = Load_list(); Sublist* sublist = Load_sublist(); while(choice){ printf("\n\n\t#-------------------------------------------------#\n"); printf("\t| DZIENNIK OCEN |\n"); printf("\t#-------------------------------------------------#\n"); printf("\n\t# 1. Zarzadzaj wszystkimi uczniami!"); printf("\n\t# 2. Zarzadzaj uczniami z konkretnej grupy!"); printf("\n\t# 3. Zarzadzaj uczniami z konkretnym przedmiotem!"); printf("\n\t# 4. Znajdz ucznia!\n"); printf("\n\t# 5. @@@@@@@ ZAPISZ WSZYSTKIE ZMIANY @@@@@@@\n"); printf("\n\t# 6. Sortuj liste uczniow po nazwiskach!"); printf("\n\t# 7. Sortuj liste uczniow po kolejnosci dodawania (ID)!"); printf("\n\t# 8. Obroc liste uczniow!\n"); printf("\n\t# 9. Dodaj nowego ucznia!"); printf("\n\t#10. Usun wszystkich uczniow!\n"); printf("\n\t#11. Dodaj nowy przedmiot!"); printf("\n\t#12. Edytuj nazwy przedmiotow!"); printf("\n\t#13. Usuwaj przedmioty!\n"); printf("\n\t#14. Pomoc i informacje o programie!"); printf("\n\t# 0. Wyjscie (nie zapomnij zapisac zmian)!"); printf("\n\nWybierz opcje: "); Get_int(&choice, 0, 14); // select an option switch(choice){ case 0: /* EXITING */ break; case 1: Write_students_by_all(&rec, sublist); break; case 2: Write_students_by_group(&rec, sublist); break; case 3: Write_students_by_subject(&rec, sublist); break; case 4: Filter_students_by_txt(&rec, sublist); break; case 5: Save_list(rec); Save_sublist(sublist); break; case 6: Sort_list(&rec, Comp_by_names); break; case 7: Sort_list(&rec, Comp_by_ID); break; case 8: Reverse_list(&rec); break; case 9: New_student(&rec, sublist); break; case 10: Free_memory(&rec); break; case 11: Add_subject_interface(&sublist); break; case 12: Edit_subjects_names(sublist); break; case 13: Delete_subjects_and_connections(rec, &sublist); break; case 14: Show_info_and_help(); break; default: break; } } // cleaning up the environment before program exits Free_memory(&rec); Free_sublist(sublist); // checking the memory leaks (DEBUG mode) _CrtDumpMemoryLeaks(); return 0; }