user.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "lista_ord.h"
  2. int imprime_op()
  3. {
  4. int op;
  5. do
  6. {
  7. printf("---------------- Qual a operacao? -----------------\n");
  8. printf("Lista Ordenada...\n");
  9. printf("[1] - Inserir um elemento à lista\n");
  10. printf("[2] - Remover um elemento da lista\n");
  11. printf("[3] - Intercalar elementos\n");
  12. printf("[4] - Remover os elementos pares\n");
  13. printf("[5] - Mostrar o maior elemento da lista\n");
  14. printf("[6] - Mostrar a quantidade de elementos da lista\n");
  15. printf("[7] - Verificar se as listas são iguais\n");
  16. printf("[8] - Imprimir lista atual\n");
  17. printf("[9] - Sair do programa\n");
  18. printf("Operacao: "); setbuf(stdin,NULL);
  19. scanf("%d", &op);
  20. } while(op < 0 || op > 11);
  21. return op;
  22. }
  23. int main(void)
  24. {
  25. int elemento, op = -1;
  26. Lista L1 = cria_lista();
  27. system("clear");
  28. while(op != 10)
  29. {
  30. op = imprime_op();
  31. switch(op)
  32. {
  33. case 1:
  34. printf("Elemento a ser inserido: ");
  35. scanf("%d", &elemento);
  36. if(insere_ord(L1, elemento))
  37. printf("Elemento inserido!\n");
  38. else
  39. printf("Elemento nao inserido!\n");
  40. getchar();
  41. break;
  42. case 2:
  43. printf("Qual elemento sera removido? ");
  44. scanf("%d", &elemento);
  45. if(remove_ord(L1, elemento))
  46. printf("Elemento removido\n");
  47. else
  48. printf("Elemento nao removido\n");
  49. getchar();
  50. break;
  51. case 3:
  52. printf("Intercalando listas...\n");
  53. //scanf("%d", &elemento);
  54. if(intercala_lista(L1, L2))
  55. printf("Elementos intercalaods!\n");
  56. else
  57. printf("Os elementos não foram intercalaods\n");
  58. break;
  59. case 4:
  60. printf("Removendo elementos pares...\n");
  61. if(insere_inicio(L1, elemento))
  62. printf("Os elementos pares foram removidos!\n");
  63. else
  64. printf("Os elementos pares não foram removidos!\n");
  65. break;
  66. case 5:
  67. maior_elem_lista(L1);
  68. break;
  69. case 6:
  70. tamanho_lista(L1);
  71. break;
  72. case 7:
  73. if(is_lista_igual(L1,L2))
  74. printf("As listas são iguais.\n");
  75. else
  76. printf("As listas nao são iguais.\n");
  77. break;
  78. case 8:
  79. system("clear");
  80. imprime_lista(L1);
  81. break;
  82. }
  83. setbuf(stdin,NULL);
  84. if(op == 10)
  85. return 0;
  86. getchar();
  87. system("clear");
  88. }
  89. free(L1);
  90. free(L2);
  91. return 0;
  92. }