Untitled

 avatar
unknown
plain_text
3 years ago
2.3 kB
3
Indexable
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

struct proprietate
{

    char strada[25];
    int numar_imobil;

    struct caracteristici
    {
        char tip[6];
        char categorie;
        float suprafata;
    } b;
};


void citire(int n,struct proprietate v[])
{

    for(int i=0; i<n; i++)
    {
        printf("introduce strada: ");
        scanf("%s",&v[i].strada);


        printf("introduce numar_imobil: ");
        scanf("%d",&v[i].numar_imobil);

        getchar(); ///curatam bufferul

        printf("introduce tipul: ");
        scanf("%s",&v[i].b.tip);

        getchar(); ///buffer

        printf("introduce categoria: ");
        scanf("%c",&v[i].b.categorie);

        getchar(); ///buffer

        printf("introduce suprafata: ");
        scanf("%f",&v[i].b.suprafata);

    }

}

void ex_1(struct proprietate v[], float impozite[], int n)
{
    for(int i=0; i<n; i++)
    {
        float cat,tip;

        if(v[i].b.categorie=='A')
            cat=1.25;

        if(v[i].b.categorie=='B')
            cat=0.85;

        if(v[i].b.categorie=='C')
            cat=0.6;

        if(strcmp(v[i].b.tip,"casa")==0)
        {
            tip=1;
        }
        else
        {
            tip=0.33;
        }

        impozite[i]=tip*cat*v[i].b.suprafata;
    }

    float max1=0;

    for(int i=0; i<n; i++)
    {
        if(impozite[i]>max1)
        {
            max1=impozite[i];
        }
    }

    for(int i=0; i<n; i++)
    {
        if(impozite[i]==max1)
        {
            printf("%s %d\n",v[i].strada,v[i].numar_imobil); /// strada si nr_imobil
        }
    }
}

void ex_2(struct proprietate v[], int n)
{
    float min1=v[0].b.suprafata;

    for(int i=1; i<n; i++)
    {
        if(v[i].b.suprafata<min1)
            min1=v[i].b.suprafata;
    }

    for(int i=1; i<n; i++)
    {
        if(v[i].b.suprafata==min1)
        {
            printf("Suprafata cea mai mica o are strada %s\n",v[i].strada);
        }
    }

}
int main()
{
    int n;

    scanf("%d",&n);

    struct proprietate v[n];

    citire(n,v);

    float impozite[n];

    ex_1(v,impozite,n);

    ex_2(v,n);





}