Advertisement
Patey

Untitled

Jan 14th, 2021
717
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4.  
  5. typedef struct centrale {
  6.     int pret;
  7.     char producator[50], suprafata_de_incalzit[50];
  8. }b;
  9.  
  10. void adaugarere(b *a, int *n)
  11. {
  12.     int i;
  13.     (*n)++;
  14.     printf("Producator: ");
  15.     scanf("%s", (a + *n)->producator);
  16.     printf("Suprafata de incalzit: ");
  17.     scanf("%s", (a + *n)->suprafata_de_incalzit);
  18.     (a + *n)->pret = 0;
  19.     for (i = 0; i < strlen((a + *n)->producator); i++)
  20.         if ((a + *n)->producator[i] >= 'A' && (a + *n)->producator <= 'Z')
  21.             (a + *n)->pret += (a + *n)->producator[i];
  22. }
  23.  
  24. void afisare(b*a, int n)
  25. {
  26.     int i;
  27.     for (i = 0; i <= n; i++)
  28.         printf("Producator: %s\nSuprafata: %s\nPret: %d\n", (a + i)->producator, (a + i)->suprafata_de_incalzit, (a + i)->pret);
  29.  
  30. }
  31.  
  32. int main()
  33. {
  34.     b a[20];
  35.     int n = -1;
  36.     enum { iesire, adaugare, stergere, invers }opt;
  37.     do {
  38.         printf("0. Iesire\n");
  39.         printf("1. Adaugarea unei noi centrale\n");
  40.         printf("2. Stergere ultima centrala\n");
  41.         printf("3. Afisare inversul suprafetei de incalzit\n");
  42.         printf("opt= ");
  43.         scanf("%d", &opt);
  44.         switch (opt)
  45.         {
  46.         case iesire:exit(0);
  47.             break;
  48.         case adaugare:adaugarere(a, &n);
  49.             break;
  50.         case stergere:afisare(a, n);
  51.             break;
  52.         case invers:
  53.             break;
  54.         default:
  55.             break;
  56.         }
  57.     } while (1);
  58.     system("pause");
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement