Exemplo n.º 1
0
/*mkdisk -size=30 -unit=m -path=/home/clnx/Escritorio/dis.dsk
 rmdisk -path=/home/clnx/Escritorio/dis.dsk
 * rmDisk -path=/home/ghosth_32/Documentos/disk/dis2.dsk
 * fdisk -size=500 -unit=k -path=/home/ghosth_32/Documentos/disk/dis2.dsk -name=linux
 * fdisk -size=500 -unit=k -path=/home/clnx/Escritorio/dis.dsk -name=linux
// * mkfs -path=/home/clnx/Escritorio/dis.dsk -type=full -name=linux1
 * mount -path=/home/clnx/Escritorio/dis.dsk -name=linux
 * unmount -id=vda2
 * rep -name=mbr -path=/home/clnx/Escritorio/mbr.jpg -id=vda1
 * rep -name=disk -path=/home/clnx/Escritorio/disk.jpg -id=vda1
 * rep -name=sb -path=/home/clnx/Escritorio/sb.jpg -id=vda1
 * rep -name=bm_inode -path=/home/clnx/Escritorio/bmInode.jpg -id=vda1
 * rep -name=bm_block -path=/home/clnx/Escritorio/bmBlock.jpg -id=vda1
 */
void main(int argc, char** argv) {
    printf("\n******* PRÁCTICA MANEJO E IMPLEMENTACIÓN DE ARCHIVOS ******* \n");
    iniList(); //inicializo lista de particiones montadas
    while(1){
        waitInst();
    }
}
Exemplo n.º 2
0
void openForDay()
{
    //初始化操作
    totalTime = 0;              //初始化累计时间为0
    customerNum = 0;            //初始化客户数为0

    iniList(ev);                //初始化事件链表位空表

    en.occurTime = 0;           //设定一个客户到达事件
    en.nType = 0;

    orderInsert(ev, en, cmp);   //插入事件表

    for(int i = 0; i < 5; ++i)
    {
        initQueue(q[i]);         //置空队列:
    }
}
Exemplo n.º 3
0
int main(){
  /*
  // Prueba de inilist
  List *lista1 = iniList(1);
  List *lista2 = iniList(3);
  printf("Lista1:\n");
  printList(lista1);
  printf("Lista2:\n");
  printList(lista2);
  printf("Longitud: L1=%d, L2=%d\n", lista1->n, lista2->n);

    ////////////////////////////////////////////////////////////////
   ////////////////////// IMPORTANTE!!!////////////////////////////
  ////////////////////////////////////////////////////////////////

  // Asi se pasa de un nodo a otro
  lista1 = lista1->last;

    ////////////////////////////////////////////////////////////////
   ////////////////////// IMPORTANTE!!!////////////////////////////
  ////////////////////////////////////////////////////////////////
  printf("Lista1:\n");
  printf("Longitud: L1=%d\n", lista1->n);
  printList(lista1);

  // Prueba del método cat
  cat(lista1,lista2);
  printf("Lista1:\n");
  printf("Longitud: L1=%d\n", lista1->n);
  printList(lista1);


  // Prueba del método add to list
  List *lista5 = iniList(0);
  int i;
  for(i = 1; i < 21; i++){
    add(lista5,i);
  }
  printf("Lista5:\n");
  printf("Longitud: L5=%d\n", lista5->n);
  printList(lista5);

  cat(lista1,lista5);
  printf("Lista1:\n");
  printf("Longitud: L1=%d\n", lista1->n);
  printList(lista1);
  */
  /*
  Nodo* Tree = iniNodo(xmin,xmax);
  // Primer Piso
  Tree->left = iniNodo(xmin,xmax/2);
  Tree->right = iniNodo(xmax/2,xmax);
  // Segundo piso
  Tree->left->left = iniNodo(ymin,ymax/2);
  Tree->left->right = iniNodo(ymax/2,ymax);

  Tree->right->left = iniNodo(ymin,ymax/2);
  Tree->right->right = iniNodo(ymax/2,ymax);
  // Tercer Piso
  Tree->left->left->left = iniNodo(zmin,zmax/2);
  Tree->left->left->right = iniNodo(zmax/2,zmax);

  Tree->left->right->left = iniNodo(zmin,zmax/2);
  Tree->left->right->right = iniNodo(zmax/2,zmax);


  Tree->right->left->left = iniNodo(zmin,zmax/2);
  Tree->right>left->right = iniNodo(zmax/2,zmax);

  Tree->right->right->left = iniNodo(zmin,zmax/2);
  Tree->right->right->right = iniNodo(zmax/2,zmax);
  */
  Nodo* Tree = iniTree(3);

  Tree->left->left->left->thdrons = iniList(2);
  Tree->right->left->left->thdrons = iniList(5);

  printf("LLL: %d\n",Tree->left->left->left->thdrons->index);
  printf("RLL: %d\n",Tree->right->left->left->thdrons->index);
  return 0;
}
Exemplo n.º 4
0
int main(int argc, char **argv) {
	dlist *list;
	dlist *list2;
	dlist *list3;
	dlist *list4;
	int choice;
	int i = 0;
	int numData;
	Node *p;
	FILE *fin, *fout;
	int select = 0;
	int startFrom, numSplit; // where to split and the length of splitting list
	char fileName[15]; //file name for output data
	char textName1[20], textName2[20]; // file name for split lists

	char sections [MAX][40] = {"Import from phonebook.dat", "Display (traverse)", "Add new contact (insert before/after)",
	                           "Insert a position" , "Delete a position", "Delete current",
	                           "Delete first", "Search and Update", "Divide and Extract",
	                           "Reverse list", "Save to file", "Count max identical phone numbers", "Exit (free)"
	                          };


	do {
		choice = getMenu(sections, MAX);
		switch (choice) {
		case 1:

			// if ((fin = fopen(argv[1], "r")) == NULL)
			// {
			// 	printf("Can't open file %s\n", argv[1]);
			// 	exit(1);
			// }
			// if ((fout = fopen(argv[2], "wb")) == NULL)
			// {
			// 	printf("Can't open file %s\n", argv[2]);
			// 	exit(1);
			// }

			// numData = importDB(fin, fout);

			// fclose(fin);
			// fclose(fout);

			list = iniList(list);
			list2 = iniList(list2);
			list3 = iniList(list3);
			list4 = iniList(list4);
			if ((fin = fopen(argv[1], "rb")) == NULL)
			{
				printf("Can't open file %s\n", argv[1]);
				exit(1);
			}
			fseek(fin, 0, SEEK_END);
			numData = ftell(fin) / sizeof(element_type);
			rewind(fin);
			result = import(fin, numData);
			for (i = 0; i < result; ++i)
				insertEnd(contact[i], list);
			// printData();
			fclose(fin);
			break;
		case 2:
			traverse(list);
			break;
		case 3:
			printf("Enter 0 to insert before, 1 to insert after: ");
			scanf("%d", &select);
			while (getchar() != '\n');
			if (select == 0)
				insertBefore(list->root, typeHand(), list);
			else
				insertEnd(typeHand(), list);
			break;
		case 4: printf("Position to insert after (1 means root element): ");
			scanf("%d", &select);
			printf("Type in the data to insert\n");
			while (getchar() != '\n');
			if (select < numData)
				insertAfter(locateNode(select, list), typeHand(), list);
			else
				insertEnd(typeHand(), list);
			break;
		case 5: printf("Position to delete: (1 means root element)");
			scanf("%d", &select);
			delNode(locateNode(select, list), list);
			break;
		case 6: delNode(list->cur, list);
			break;
		case 7: delNode(list->root, list);
			break;
		case 8: searchName();
			while (1) {

				printf("Update for position number (type -1 to stop updating): ");
				scanf("%d", &select);
				while (getchar() != '\n');
				if (select == -1)
					break;

				insertAfter(locateNode(select, list), typeHand(), list);
				delNode(locateNode(select, list), list);
				printf("Update success\n");
			}
			break;
		case 9:
			printf("The length of the list is %d\n", listLength(list));
			printf("Type in where to start (range from 1 to end of the list): ");
			scanf("%d", &startFrom);
			printf("Length of spliting: ");
			scanf("%d", &numSplit);
			if (listLength(list) > startFrom + numSplit)
				splitList(startFrom, numSplit, list, list2, list3);
			else
				splitList(startFrom, listLength(list) - startFrom, list, list2, list3);
			while (getchar() != '\n');
			printf("Now type in 2 file name to save the new lists\n");
			printf("File 1: ");
			scanf("%s", textName1);
			printf("File 2: ");
			scanf("%s", textName2);
			checkList(list2, textName1); //result of splitList
			checkList(list3, textName2);
			break;
		case 10:
			reverseList(list);
			break;
		case 11:
			printf("Type in the file name\n");
			scanf("%s", fileName);
			if ((fout = fopen(fileName, "w + t")) == NULL)
			{
				printf("Can't open file %s\n", fileName);
				exit(1);
			}
			savetoFile(fout, list);
			break;
		case 12:
			list4 = countsameNum(list, list4);
			printf("After spliting, the new list with identical numbers: \n");
			p = list4->root;
			while ( p != NULL ) {
				printf("Node with phone number: %s, address %p\n", p->element.tel, p);
				p = p->next;
			}
			break;
		case MAX:
			freeList(list);
			freeList(list2);
			freeList(list3);
			freeList(list4);
			exit(1);
			break;
		default: printf("Invalid choice. It must be from 1 to %d\n", MAX); break;
		}
	} while (choice != MAX);
	return 0;
}