Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<conio.h>
  3. #include<stdio.h>
  4. #include<string.h>
  5. #define MAX 20
  6.  
  7. typedef struct fru
  8. {
  9. char nume[MAX], tara[MAX], judet[MAX], categorie[MAX];
  10. unsigned pret, valabilitate, cantitate;
  11. struct fru *urm;
  12. }fructe;
  13.  
  14. fructe *adauga(fructe *prim)
  15. {
  16. fructe *x, *y;
  17. x = malloc(sizeof(fructe));
  18. printf("\nNume: ");
  19. scanf("%s", x->nume);
  20. printf("\npret: ");
  21. scanf("%u", &x->pret);
  22. printf("\nNumarul de zile pana cand expira: ");
  23. scanf("%u", &x->valabilitate);
  24. printf("\nCantitatea: ");
  25. scanf("%u", &x->cantitate);
  26. printf("\nCategoria dintre autohton sau import: ");
  27. scanf("%s", x->categorie);
  28. x->urm = NULL;
  29.  
  30. if (strcmp(x->categorie, "autohton") == 0)
  31. {
  32. printf("\nJudetul: ");
  33. scanf("%s", x->judet);
  34. }
  35. else if (strcmp(x->categorie, "import") == 0)
  36. {
  37. printf("\nTara: ");
  38. scanf("%s", x->tara);
  39. }
  40. if (prim == NULL)
  41. {
  42. return x;
  43. }
  44. else if (strcmp(x->categorie, "autohton") == 0)
  45. {
  46. x = x->urm;
  47. return x;
  48. }
  49. else
  50. {
  51. y = prim;
  52. while (y->urm != NULL && strcmp(y->categorie, "import") == 0)
  53. {
  54. y = y->urm;
  55. }
  56. x->urm = y->urm;
  57. y->urm = x;
  58. return prim;
  59. }
  60. }
  61.  
  62. fructe *afisare(fructe *prim)
  63. {
  64. fructe *x;
  65. x = prim;
  66. while (x != NULL)
  67. {
  68. printf("\nNume: %s .\n", x->nume);
  69. printf("\npret: %u .\n", x->pret);
  70. printf("\nNumarul de zile pana cand expira: %u .\n", x->valabilitate);
  71. printf("\nCantitatea: %u .\n", x->cantitate);
  72. printf("\nCategoria dintre autohton sau import: %s .\n", x->categorie);
  73. if (strcmp(x->categorie, "autohton") == 0)
  74. {
  75. printf("\nJudetul: %s .\n", x->judet);
  76. }
  77. else if (strcmp(x->categorie, "import") == 0)
  78. {
  79. printf("\nTara: %s .\n", x->tara);
  80. }
  81. x = x->urm;
  82. }
  83. }
  84.  
  85. fructe *produs(fructe *prim)
  86. {
  87. int produs = 1;
  88. char name[MAX];
  89. fructe *x;
  90. printf("Fructul: ");
  91. scanf("%s", name);
  92. for (x = prim; x; x = x->urm)
  93. {
  94. if (strcmp(x->nume, name) == 0)
  95. {
  96. produs = x->pret * x->cantitate;
  97. }
  98. }
  99. printf("Produsul este: %d ", produs);
  100. }
  101.  
  102. fructe *cautare(fructe *prim)
  103. {
  104. char judet[MAX];
  105. fructe *x;
  106. printf("\nJudetul: ");
  107. scanf("%s", judet);
  108. for (x = prim; x; x = x->urm)
  109. {
  110. if (strcmp(x->judet, judet) == 0)
  111. {
  112. printf("\nNume: %s .\n", x->nume);
  113. printf("\npret: %u .\n", x->pret);
  114. printf("\nNumarul de zile pana cand expira: %u .\n", x->valabilitate);
  115. printf("\nCantitatea: %u .\n", x->cantitate);
  116. printf("\nCategoria dintre autohton sau import: %s .\n", x->categorie);
  117. }
  118. }
  119. }
  120.  
  121. int main()
  122. {
  123. fructe *prim;
  124. int optiune;
  125. char name[MAX];
  126. prim = NULL;
  127. do
  128. {
  129. system("cls");
  130. printf("\n1.Adaugarea unui fruct!");
  131. printf("\n2.Afisarea fructelor din magazin!");
  132. printf("\n3.Pretul total pe un anumit fruct!");
  133. printf("\n4.Cautarea unui fruct dupa judet!");
  134. printf("\n5.IESIRE!");
  135. printf("\n\nAlegeti optiunea! ");
  136. scanf("%d", &optiune);
  137. switch (optiune)
  138. {
  139. case 1:
  140. prim = adauga(prim);
  141. break;
  142. case 2:
  143. afisare(prim);
  144. break;
  145. case 3:
  146. produs(prim, name);
  147. break;
  148. case 4:
  149. cautare(prim);
  150. break;
  151. case 5:
  152. break;
  153. }
  154. system("PAUSE");
  155. } while (optiune != 5);
  156. return 0;
  157. getch();
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement