Advertisement
pierjk

diomerda

Dec 14th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define N 32 // numero prodotti
  5. #define M 64 //lunghezza
  6.  
  7. int insert_product(char lista[][M], float prezzi[], int n, char newproduct[], float newprice);
  8. void print_all(char lista[][M], float prezzi[], int n,float *media, float *max);
  9.  
  10. int main()
  11. {
  12. char lista[N][M], newproduct[M];
  13. int indice, n=0, newprice, i, risultato;
  14. float prezzi[N], *media, *max;
  15. for(i=0;i<N;i++)
  16. prezzi[i]=-2;
  17. printf("Premete : \n1 Per insierire nuovi prodotti e il loro prezzo;\n2 Per un listino prezzi;\n3 Per chiudere il programma.\n");
  18. while(indice!=3)
  19. {
  20. scanf("%d", &indice);
  21. if(indice==1)
  22. {
  23. printf("Inserire nome prodotto: ");
  24. gets(newproduct);
  25. printf("Inserire prezzo: ");
  26. scanf("%d", newprice);
  27. risultato = insert_product(lista, prezzi, n, newproduct, newprice);
  28. if(risultato == 2)
  29. printf("Error 2. Listino prezzi pieno. Selezionare altra opzione: ");
  30. if(risultato == 1)
  31. printf("Prodotto aggiunto con successo. Selezionale altra opzione: ");
  32. if(risultato == 0)
  33. printf("Error 0. Prodotto gia' presente. Selezionare altra opzione: ");
  34. }
  35. if(indice==2)
  36. {
  37. print_all(lista, prezzi, n, &media, &max);
  38. printf("Media prezzi %f", &media);
  39. printf("Prezzo massimo %f\n", &max);
  40. printf("Selezionare altra opzione: ");
  41. }
  42. if(indice==3)
  43. return 0;
  44. }
  45. }
  46.  
  47. int insert_product(char lista[][M], float prezzi[], int n, char newproduct[], float newprice)
  48. {
  49. int i;
  50. if(n>=N-1)
  51. return 2;
  52.  
  53. for(i=0; i<n; i++)
  54. {
  55. if(prezzi[i]!=-2 && strcmp(lista[i], newproduct)== 00)
  56. return 0;
  57. }
  58.  
  59. strcpy(lista[i], newproduct);
  60. prezzi[n]=newprice;
  61. n++;
  62. return 1;
  63. }
  64.  
  65. void print_all(char lista[][M],float prezzi[], int n, float *media, float *max)
  66. {
  67. int somma=0, i, j=0;
  68. for(i=0; i<n; i++)
  69. {
  70. puts(lista[i]);
  71. printf(" %d\n", prezzi[i]);
  72. }
  73.  
  74. for(i=0; i<n; i++)
  75. {
  76. somma+=prezzi[i];
  77. }
  78. *media = somma/n;
  79.  
  80. *max = prezzi[0];
  81. for(i=0; i<n-1; i++)
  82. {
  83. if(*max<prezzi[i])
  84. *max=prezzi[i];
  85. }
  86. return;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement