Untitled

 avatar
unknown
plain_text
5 months ago
2.7 kB
2
Indexable
#include <iostream>
#include <string>
using namespace std;

typedef struct{
    float rendaMediaMensal;
    int nroOcupantes;
    string endereco;
    int nroOcupantesIdadeEscolar;
} domicilio;

void limpaTela(){
    #ifdef _WIN32
        system("cls");
    #else
        system("clear");
    #endif
}

void preencheDados(domicilio Domicilios[], int numDomicilios){
    limpaTela();
    cout << "Digite a renda media mensal do domicilio: ";
    cin >> Domicilios[numDomicilios].rendaMediaMensal;
    cout << "Digite o numero de ocupantes: ";
    cin >> Domicilios[numDomicilios].nroOcupantes;
    getchar();
    cout << "Digite o endereco do domicilio: ";
    getline(cin, Domicilios[numDomicilios].endereco);
    cout << "Digite o numero de ocupantes em idade escolar: ";
    cin >> Domicilios[numDomicilios].nroOcupantesIdadeEscolar;
}

void buscaEndereco(string endereco, domicilio Domicilios[], int numDomicilios){

    string* enderecos = new string[numDomicilios+1];
    int i = 0;

    for(int j = 0; j < numDomicilios; j++){
        enderecos[j] = Domicilios[j].endereco;
    }

    enderecos[numDomicilios] = endereco;
    while(enderecos[i] != endereco)
        i++;
    if(i == numDomicilios){
        cout << "Endereco nao encontrado no banco de dados!";
        getchar();
    }
    else{
        cout << endl << "Dados do endereco buscado: " << endl << endl;
        cout << "Numero de ocupantes: " << Domicilios[i].nroOcupantes << endl;
        cout << "Renda media mensal: " << Domicilios[i].rendaMediaMensal << endl;
        cout << "Numero de ocupantes em idade escolar: " << Domicilios[i].nroOcupantesIdadeEscolar << endl << endl;
        cout << "Pressione ENTER para continuar...";
        getchar();
    }
}

int main(){

    domicilio Domicilios[100];
    int opcao, numDomicilios = 0;

    while(true){
        limpaTela();
        cout << "Menu" << endl << endl;
        cout << "1. Cadastrar domicilio" << endl;
        cout << "2. Buscar dados" << endl;
        cout << "3. Sair" << endl << endl;
        cout << "Escolha uma opcao: ";
        cin >> opcao;

        switch(opcao){
            case 1:
                preencheDados(Domicilios, numDomicilios);
                numDomicilios++;
                break;
            case 2:{
                string endereco;
                limpaTela();
                getchar();
                cout << "Digite o endereco de busca: ";
                getline(cin, endereco);
                buscaEndereco(endereco, Domicilios, numDomicilios);
                break;
            }
            default:
                return 0;
        }
    }
}
Editor is loading...
Leave a Comment