Ejemplo n.º 1
0
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;	
}
Ejemplo n.º 2
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;
}