Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct{
  6. char codice[30];
  7. int costo;
  8. char stato[30];
  9. char marca[30];
  10. int quantita;
  11. }prodotto;
  12. int numero_prodotti;
  13. prodotto* inserisci_prodotto(prodotto*,prodotto);
  14. void stampa(prodotto * lista);
  15. int ricerca_prodotto(prodotto* lista, char* marca, int trovato);
  16.  
  17. int main()
  18. {
  19. int scelta,trovato;
  20. prodotto p;
  21. prodotto *lista;
  22. char marca[10];
  23. do
  24. {
  25. printf("Gestione prodotti\n");
  26. printf("1:Inserimento prodotto\n");
  27. printf("2:Stampa i prodotti inseriti\n");
  28. printf("3:Quantita' dei prodotti per marca\n");
  29. printf("0:Uscita\n");
  30. printf("Scelta:\n");
  31. scanf("%d",&scelta);
  32.  
  33. switch(scelta)
  34. {
  35. case 1:
  36. printf("Inserisci il codice del prodotto\n");
  37. scanf("%s",p.codice);
  38. printf("Inserisci il costo del prodotto\n");
  39. scanf("%d",&p.costo);
  40. printf("Inserisci lo stato di produzione del prodotto\n");
  41. scanf("%s",p.stato);
  42. printf("Inserisci la marca del prodotto\n");
  43. scanf("%s",p.marca);
  44. printf("Inserisci la quantita' del prodotto\n");
  45. scanf("%s",&p.quantita);
  46. lista = inserisci_prodotto(lista,p);
  47. break;
  48. case 2:
  49. stampa(lista);
  50. break;
  51. case 3:
  52. printf("Inserisci la marca da cercare\n");
  53. scanf("%s",&marca);
  54. trovato=ricerca_prodotto(lista, marca, trovato);
  55. if(trovato==1)
  56. {
  57. printf("La marca cercata e' nella lista\n");
  58. }
  59. else
  60. printf("La marca cercata non e' nella lista\n");
  61. break;
  62. case 0:
  63. break;
  64. }
  65. }
  66. while(scelta!=0);
  67. printf("Arrivederci\n");
  68.  
  69.  
  70. }
  71.  
  72. prodotto * inserisci_prodotto(prodotto* lista,prodotto p)
  73. {
  74. if (numero_prodotti == 0)
  75. {
  76. lista = (prodotto*)malloc(sizeof(prodotto));
  77. }
  78. else
  79. {
  80. lista = (prodotto*)realloc(lista,sizeof(prodotto)*(numero_prodotti+1));
  81. }
  82. lista[numero_prodotti] = p;
  83.  
  84. numero_prodotti++;
  85. return lista;
  86. }
  87.  
  88. void stampa(prodotto* lista)
  89. {
  90. int i;
  91. for(i=0;i<numero_prodotti;i++)
  92. {
  93. printf("codice %s\n",lista[i].codice);
  94. printf("costo %d\n",lista[i].costo);
  95. printf("stato di produzione %s\n",lista[i].stato);
  96. printf("marca %s\n",lista[i].marca);
  97. printf("quantita' %d\n",lista[i].quantita);
  98.  
  99. }
  100. }
  101.  
  102. int ricerca_prodotto(prodotto* lista, char *marca,int trovato)
  103. {
  104. int i;
  105. trovato=0;
  106.  
  107. for(i=0;i<numero_prodotti;i++)
  108. {
  109. if(strcmp(lista[i].marca, marca)==0)
  110. trovato=1;
  111.  
  112. }
  113. return trovato;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement