user.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #include "lista_ord.h"
  2. /*
  3. * =================================================
  4. * Filename: .c
  5. * Description:
  6. * Created: dd/mm/18 hh:mm
  7. * =================================================
  8. */
  9. int imprime_op();
  10. int main(int argc, char **argv)
  11. {
  12. int elemento = 0, op = -1;
  13. int opcao_print, opcao_remove, opcao_insere;
  14. Lista *L1, *L2, *L3;
  15. L1 = cria_lista();
  16. L2 = cria_lista();
  17. L3 = cria_lista();
  18. system("clear");
  19. while(op != 5)
  20. {
  21. op = imprime_op();
  22. switch(op)
  23. {
  24. case 1:
  25. printf("Inserir em qual lista? (1 ou 2): ");
  26. scanf("%d", &opcao_insere);
  27. elemento = 0;
  28. if(opcao_insere == 1)
  29. {
  30. printf("Elemento a ser inserido: ");
  31. scanf("%d", &elemento);
  32. if(insere_ord(L1, elemento))
  33. printf("Elemento inserido!\n");
  34. else
  35. printf("Elemento nao inserido!\n");
  36. }
  37. else if(opcao_insere == 2)
  38. {
  39. printf("Elemento a ser inserido: ");
  40. scanf("%d", &elemento);
  41. if(insere_ord(L2, elemento))
  42. printf("Elemento inserido!\n");
  43. else
  44. printf("Elemento nao inserido!\n");
  45. }
  46. getchar();
  47. break;
  48. case 2:
  49. printf("Inserir em qual lista? (1 ou 2): ");
  50. scanf("%d", &opcao_remove);
  51. if(opcao_remove == 1)
  52. {
  53. printf("Qual elemento sera removido? ");
  54. scanf("%d", &elemento);
  55. if(remove_ord(L1, elemento))
  56. printf("Elemento removido\n");
  57. else
  58. printf("Elemento nao removido\n");
  59. }
  60. if(opcao_remove == 2)
  61. {
  62. printf("Qual elemento sera removido? ");
  63. scanf("%d", &elemento);
  64. if(remove_ord(L1, elemento))
  65. printf("Elemento removido\n");
  66. else
  67. printf("Elemento nao removido\n");
  68. }
  69. getchar();
  70. break;
  71. case 3:
  72. printf("Intercalando...\n");
  73. L3 = intercala_ord(L1,L2);
  74. if(L3)
  75. printf("Elementos intercalados\n");
  76. case 4:
  77. printf("Imprimir qual lista? ");
  78. scanf("%d", &opcao_print);
  79. system("clear");
  80. if(opcao_print == 1)
  81. print_lista(L1);
  82. if(opcao_print == 2)
  83. print_lista(L2);
  84. if(opcao_print == 3)
  85. print_lista(L3);
  86. getchar();
  87. system("clear");
  88. break;
  89. }
  90. }
  91. free_lista(&L1);
  92. free_lista(&L2);
  93. return 0;
  94. }
  95. int imprime_op()
  96. {
  97. int op;
  98. do
  99. {
  100. printf("---------------- Qual a operacao? -----------------\n");
  101. printf("[1] - Inserir um elemeto à uma lista\n");
  102. printf("[2] - Remover um elemento de uma lista\n");
  103. printf("[3] - Intercalar numeros entre as listas\n");
  104. printf("[4] - Imprimir uma lista\n");
  105. printf("[5] - Sair do programa\n");
  106. printf("Operacao: "); setbuf(stdin,NULL);
  107. scanf("%d", &op);
  108. } while(op < 0 || op > 5);
  109. return op;
  110. }