Advertisement
Cosmin2108

Problema

Sep 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.76 KB | None | 0 0
  1. /*
  2. Bunicuta vrea sa faca prajituri. Pentru aceasta ea are la dispozitie n forme de copt. Formele de copt
  3. sunt niste obiecte tridimensionale care au la baza patru categorii de figuri geometrice plane:
  4. 1. cerc - determinat de raza
  5. 2. dreptunghi - determinat de latura mica si latura mare
  6. 3. patrat - determinat de latura
  7. 4. triunghi dreptunghic - determinat de cateta mica si cateta mare.
  8. Pe langa baza, formele de copt au si o inaltime (h).
  9. Bunicuta intentioneaza sa umple toate formele de copt in interior cu gem iar dupa coacere doreste sa
  10. le unga pe intreaga suprafata exterioara cu frisca. Conform retetei, bunicuta foloseste 2 grame de gem
  11. pentru fiecare centimetru cub de prajitura umplut si 1 gram de frisca
  12. pentru fiecare centimetru patrat de prajitura uns.
  13. Scrieti un program care sa o ajute pe Bunicuta sa determine cantitatile necesare de gem si frisca
  14. astfel:
  15. Bunicuta va putea adauga o forma de copt (Comanda ADD) caz in care:
  16. - Se citeste pentru forma tipul bazei ei (cerc, dreptunghi, patrat, triunghi)
  17. - Se citesc apoi caracteristicele bazei
  18. - Se citeste apoi inaltimea formei de copt (h)
  19. - Inainte de a trece la urmatoarea comanda se afiseaza cantitatile de gem si frisca necesare pentru
  20. aceasta.
  21. Bunicuta va putea elimina a x-a forma de copt (Comanda REMOVE x) existenta in ordinea introducerii
  22. (numerotarea incepe de la 1).
  23. Bunicuta va putea afisa caracteristicile tuturor prajiturilor existente (forma bazei, caracteristicile
  24. bazei si inaltimea) - comanda STOC.
  25. Bunicuta va putea afisa necesarul curent total al fiecarui ingredient (gem, frisca) (comanda TOTAL).
  26. Programul se incheie prin comanda STOP.*/
  27.  
  28. #include <stdio.h>
  29. #include <stdlib.h>
  30. #include<string.h>
  31. #include<math.h>
  32.  
  33.  
  34.  
  35.  
  36.  
  37. struct forme
  38. {
  39.      char baza[15];
  40.     int h;
  41.  
  42. struct cerc{
  43.     int r;
  44.  
  45. }c;
  46.  
  47. struct dreptunghi{
  48.  
  49. int l,L;
  50. }d;
  51.  
  52. struct patrat{
  53.     int l;
  54.  
  55. }p;
  56.  
  57. struct triunghi{
  58. int c1,c2;
  59.  
  60. }t;
  61.  
  62.  
  63.  
  64. };
  65. struct forme v[100];
  66.  
  67.  
  68. int main()
  69. { int i,n;
  70.    scanf("%d",&n);
  71.    for(i=0;i<n;i++)
  72.  
  73.     {
  74.         scanf("%s",v[i].baza);
  75.  
  76.        if( strcmp(v[i].baza,"cerc")==0)
  77.         scanf("%d",&v[i].c.r);
  78.         else
  79.         if( strcmp(v[i].baza,"dreptunghi")==0)
  80.           scanf("%d%d",&v[i].d.l,&v[i].d.L);
  81.          else
  82.             if(strcmp(v[i].baza,"patrat")==0)
  83.              scanf("%d",&v[i].p.l);
  84.              else
  85.          scanf("%d%d", &v[i].t.c1, &v[i].t.c2);
  86.  
  87.       scanf("%d",&v[i].h);
  88.     }
  89.  
  90.        for(i=0; i<n;i++)
  91.         if(strcmp(v[i].baza,"cerc")==0)
  92.         printf("Bunica foloseste %2f de gem si %2f grame de frisca\n", 2*3.14*pow(v[i].c.r,2)*v[i].h, 3.14*pow(v[i].c.r,2)+ 2*3.14*v[i].c.r*v[i].h );
  93.           else
  94.           if( strcmp(v[i].baza,"triunghi")==0)
  95.             printf("%d  %d",v[i].t.c1,v[i].t.c2);
  96.  
  97.  
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement