Atps classificação e pesquisa
Por: jewave • 9/6/2015 • Trabalho acadêmico • 2.545 Palavras (11 Páginas) • 339 Visualizações
1.Relatório 1 – Pesquisa de dados
Menu de Seleção.
[pic 1]
Buble Sort
[pic 2]
Inserçao
[pic 3]
Código do Projeto Residências
#include
#include
#include
using namespace std;
struct residencia{
char rua[25];
int numcasa;
int numMedidor;
float medidaconsumo;
};
residencia vetglobalresidencias[1000];
int vIndiceGlobal;
int geraMenu(){
printf("Menu: \n");
printf("1 - Adicionar nova residencia: ");
printf("\n2 - Listar todas as residencias");
printf("\n3 - Pesquisar por Nome");
printf("\n4 - Buble Sort");
printf("\n5 - Busca Linear");
printf("\n6 - Busca Binaria");
printf("\n7 - Insertion Sort");
printf("\n8 - Sair");
printf("\n\nDigite a opcao escolhida: ");
int vOpcao;
scanf("%d", &vOpcao);
return vOpcao;
}
void adicionaresidencia(){
if(vIndiceGlobal<1000){
printf("Adicionando uma nova residencia:\n\n");
residencia vresBuffer;
printf("Digite o nome da rua: ");
fflush(stdin);
gets(vresBuffer.rua);
printf("Digite o numero da casa: ");
scanf("%d", &vresBuffer.numcasa);
printf("Digite o numero do medidor: ");
scanf("%d", &vresBuffer.numMedidor);
printf("Digite o consumo da casa: ");
scanf("%f", &vresBuffer.medidaconsumo);
vetglobalresidencias[vIndiceGlobal] = vresBuffer;
vIndiceGlobal++;
printf("\n\nResidencia adicionado com sucesso\n\n");
}else{
printf("Limite de residencias cadastradas ultrapassado...\n\n");
}
}
void listresidencia()
{
printf("Listando todas as residencias cadastradas\n\n");
int i;
for (i=0; i < vIndiceGlobal; i++)
{
printf("%d] Rua: %s Casa Numero: %d Numero Registrado: %d \nMedida Consumida: %f\n\n", i, vetglobalresidencias[i].rua, vetglobalresidencias[i].numcasa, vetglobalresidencias[i].numMedidor, vetglobalresidencias[i].medidaconsumo);
}
puts("\n\n");
}
void pesquisarpornome()
{
printf("\n\nPesquisar por nome: \n\n");
char vExpressaoBusca[20];
printf("Digite a expressao de busca para nome de proprietario da residencia: ");
fflush(stdin);
gets(vExpressaoBusca);
int i;
for (i=0; i < vIndiceGlobal; i++){
if(strcasecmp(vExpressaoBusca, vetglobalresidencias[i].rua)==0){
printf("%d] Rua: %s Casa Numero: %d Numero Registrado: %d \nMedida Consumida: %f\n\n", i, vetglobalresidencias[i].rua, vetglobalresidencias[i].numcasa, vetglobalresidencias[i].numMedidor, vetglobalresidencias[i].medidaconsumo);
}
puts("\n\n\n");
}
}
void buscalinearRes (char vetresidencias[], int vIndiceGlobal, char elementoProcurado)
{
int i;
for (i = 0; i < vIndiceGlobal; i++) {
if (vetresidencias[i] == elementoProcurado) }
return i;
}
void buscabinariaRes( int x, int n, int v[])
{
int e, m, d;
e = -1; d = n;
while (e < d-1) {
m = (e + d)/2;
if (v[m] < x) e = m;
else d = m;
}
return d;
}
void insertionSortRes(int vetresidencias[], int tamanho)
{
int i, j, tmp;
for (i = 1; i < tamanho; i++) {
j = i;
while (j > 0 && vetresidencias[j - 1] > vetresidencias[j]) {
tmp = vetresidencias[j];
vetresidencias[j] = vetresidencias[j - 1];
vetresidencias[j - 1] = tmp;
j--;
}
}
}
void Bublesort(int v[], int qtd)
{
int contt=0,i=0,j,t=1;
while(t==1){
t=0;
for(j=0;j
printf("Iniciando comparação....\n", j+1);
contt++;
if(v[j]>v[j+1]){
t=1;
printf("\nInvertendo os valores %d e %d.\n",v[j], v[j+1]);
troca(&v[j],&v[j+1]);
contt++;
}
}
}
}
int main(int argc, char *argv[])
{
vIndiceGlobal = 0;
int vOpcao;
while(true){
system("cls");
vOpcao = geraMenu();
...