Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int *realoca(int *ptr, int *size) {
  5. int add;
  6. printf("Insira quantos números quer alocar:\n");
  7. scanf("%d", &add);
  8.  
  9. ptr = (int *) realloc(ptr, (*size + add) * sizeof(int));
  10.  
  11. if(ptr){
  12. for (int i = 0; i < add; i++) {
  13. printf("Insira os valores desejados:\n");
  14. scanf("%d", &ptr[*size+i]);
  15. }
  16. *size += add;
  17. } else {
  18. printf("Quantidade de memória não compatível\n");
  19. free(ptr);
  20. exit(1);
  21. };
  22. return ptr;
  23. }
  24.  
  25. void exibir(int *ptr, int size) {
  26. printf("\n--------------\n");
  27. for (int i = 0; i < size; i++) {
  28. printf("%d\n", ptr[i]);
  29. }
  30. printf("--------------\n");
  31. }
  32.  
  33. void media(int *ptr, int size) {
  34. float media = 0.0;
  35. printf("A média da soma do seguintes números: ");
  36. for (int i = 0; i < size; i++){
  37. if(i == size-1){
  38. printf("%d ", ptr[i]);
  39. }else{
  40. printf("%d, ", ptr[i]);
  41.  
  42. }
  43. media += ptr[i];
  44. }
  45. printf("é %.1f\n", media);
  46. }
  47.  
  48. int menu() {
  49. int opcao;
  50.  
  51. printf("Insira uma das opções:\n");
  52. printf("0 - Sair\n");
  53. printf("1 - Inserir\n");
  54. printf("2 - Listar\n");
  55. printf("3 - Listar Média\n");
  56. printf("Opção: ");
  57. scanf("%d", &opcao);
  58.  
  59. return opcao;
  60. }
  61.  
  62. int main(void) {
  63.  
  64. int *ptr = NULL, size = 0, opcao=4;
  65.  
  66. while(opcao != 0) {
  67. switch(menu()){
  68. case 0:
  69. opcao=0;
  70. break;
  71.  
  72. case 1:
  73. ptr = realoca(ptr, &size);
  74. break;
  75.  
  76. case 2:
  77. exibir(ptr, size);
  78. break;
  79.  
  80. case 3:
  81. media(ptr,size);
  82. break;
  83.  
  84. default:
  85. printf("Opção inválida!\n");
  86. }
  87. }
  88.  
  89. free(ptr);
  90.  
  91. return 0;
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement