
Enviado em 14/10/2020 - 10:25h
ENUNCIADO:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
struct no {
int codigo, id, idade;
struct no *prox;
char nome[20], especie[20], raca[10], sexo[3], caracteristica[20];
};
void cadastrar (struct no **);
int remover_animal (struct no **);
void listagem_total (struct no *);
int buscar_nome (struct no *);
int buscar_especie (struct no *);
void alterar (struct no**);
int busca_especie_raca (struct no *);
int busca_especie_raca_sexo (struct no*);
int main (){
setlocale(LC_ALL,"portuguese");
int opcao, id;
no *lista = NULL, *aux, *cod;
do {
cout<<"\n1 - Cadastrar novos animais -> ";
cout<<"\n2 - Remover algum animal por CODIGO -> ";
cout<<"\n3 - Alterar informacoes do pet ->";
cout<<"\n4 - Buscar animal por nome ->";
cout<<"\n5 - Buscar animal por especie ->";
cout<<"\n6 - Buscar animal por especie e raca";
cout<<"\n7 - Buscar animal por especie raca e sexo ->";
cout<<"\n8 - Quantidade total de animais ->";
cout<<"\n9 - Quantidade toatl de animais por cada especie ->";
cout<<"\n10 - Listagem de todos os animais cadastrados ->";
cout<<"\n\nSua opcao: ";
cin >> opcao;
switch(opcao) {
case 1:
cadastrar(&lista);
break;
case 2:
if(remover_animal(&lista))
cout<<"O PET FOI REMOVIDO COM SUCESSO";
else
{
cout<<"ERRO ENCONTRADO, O PET NÃO FOI REMOVIDO";
}
break;
case 4:
if(buscar_nome(lista))
cout<<"Achou";
else
cout<<"nao foi encontrado";
break;
case 5:
if(buscar_especie(lista))
cout<<"Especie encontrada";
else
cout<<"ERRO!! Especie nao foi encontrada";
break;
case 6:
if(busca_especie_raca(lista))
cout<<"Pet encontrado";
else
cout<<"ERRO!! Pet nao encontrado";
break;
case 7:
if(busca_especie_raca_sexo(lista))
cout<<"PET Encontrado com sucesso";
else
cout<<"ERRO, PET nao foi encontrado";
case 10:
listagem_total(lista);
break;
}
}while (opcao =! 0);
return 0;
system ("pause");
}
void cadastrar (struct no **lista)
{
cout<<"\t\nCADASTRAR NOVO ANIMAL\n\n";
no *aux;
aux=(no *)malloc(sizeof(no));
aux->prox=(*lista);
(*lista)=aux;
cout<<"Codigo do animal: "; cin >> aux->id;
cout<<"Nome do animal: "; cin >> aux->nome;
cout<<"Sexo do animal: "; cin >> aux->sexo;
cout<<"Idade do animal: "; cin >> aux->idade;
cout<<"Especie do animal: "; cin >> aux->especie;
cout<<"raca do animal: "; cin >> aux->raca;
cout<<"Carasteristicas do animal: "; cin >> aux->caracteristica;
cout<<"\nAnimal CODIGO: "<<aux->id<<" foi adicionado.";
}
int remover_animal (struct no **lista)
{
cout<<"\t\nREMOVER UM PET\n";
no *aux = *lista, *aux2;
if ((*lista)== NULL)
{
cout<<"LISTA VAZIA";
return 0;
}
cout<<"Informe o codigo do pet a ser removido: "; cin >> aux->id;
while (aux != NULL && aux->id != aux->id) /* percorrer a lista ate encontrar o valor desejado */
{
aux2 = aux;
aux=aux->prox;
}
if (aux == NULL) /* ou a lista tava vazia ou nao achou o valor */
return 0;
/* passou pelo if de cima, portanto o valor foi encontrado, entao ele sera reemovido */
if(aux==*lista) /* ver se eh o primeiro elemento */
{
*lista=aux->prox;
}
else /* remover o valor encontrado, percorrendo a lista ate o elemento, e remove-lo com o free no aux */
{
aux2->prox = aux->prox;
free(aux);
return 1;
}
}
void listagem_total (struct no *lista)
{
cout<<"\t\nMOSTRAR TODOS OS PETS\n";
cout<<"\nNome dos animais da lista: ";
while(lista != NULL)
{
cout<<" "<<lista->nome;
lista = lista->prox;
}
cout<<"\n\n";
}
int buscar_nome (struct no *lista) {
no *aux = lista, *aux2;
char nome[20];
cout<<"Informe o nome do animal: ";
cin.ignore();
cin.getline(nome, 20);
while (aux != NULL) {
if (strcmp (aux->nome,nome) == 0)
{
return 1;
}
else
{
aux=aux->prox;
cout<<"Nao achou";
return 0;
}
}
}
int buscar_especie (struct no *lista) {
no *aux = lista, *aux2;
char especie[20];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE\n";
cout<<"Informe a especie do animal: ";
cin.ignore();
cin.getline(especie, 20);
while (aux != NULL) {
if (strcmp (aux->especie,especie) == 0)
{
return 1;
}
else
{
aux=aux->prox;
return 0;
}
}
}
int busca_especie_raca (struct no *lista) {
no *aux = lista, *aux2;
char especie[20], raca[20];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE E PELA RAÇA\n";
cout<<"Informe a especie do animal: ";
cin.ignore();
cin.getline(especie, 20);
cout<<"Informe a raça do animal: ";
cin.ignore();
cin.getline(raca, 20);
while (aux2 != NULL) {
if (strcmp (aux->especie,especie) == 0 && (aux->raca,raca) == 0)
{
return 1;
}
else
{
aux2=aux2->prox;
return 0;
}
}
}
int busca_especie_raca_sexo (struct no *lista) {
no *aux = lista, *aux2;
char especie[20], raca[20], sexo[3];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE E PELA RAÇA\n";
cout<<"Informe a ESPECIE do animal: ";
cin.ignore();
cin.getline(especie, 20);
cout<<"Informe a RAÇA do animal: ";
cin.ignore();
cin.getline(raca, 20);
cout<<"Informe o SEXO do animal: ";
cin.ignore();
cin.getline(sexo, 3);
while (aux2 != NULL) {
if (strcmp (aux->especie,especie) == 0 && (aux->raca,raca) == 0 && (aux->sexo,sexo)==0)
{
return 1;
}
else
{
aux2=aux2->prox;
return 0;
}
}
}
;/////// cores
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <windows.h>
#include <string.h>
using namespace std;
struct no {
int codigo, id, idade;
struct no *prox;
char nome[20], especie[20], raca[10], sexo[3], caracteristica[20];
};
void cadastrar (struct no **);
int remover_animal (struct no **);
void listagem_total (struct no *);
int buscar_nome (struct no *);
int buscar_especie (struct no *);
void alterar (struct no**);
int busca_especie_raca (struct no *);
int busca_especie_raca_sexo (struct no*);
int main (){
setlocale(LC_ALL,"portuguese");
int opcao, id;
no *lista = NULL, *aux, *cod;
char comando[9] = "color ";
char cores[2];
setlocale(LC_ALL, "Portuguese");
SetConsoleTitle("Cores com system");
printf ("Tabela de cores:\n\n");
printf ("\t0 - Preto\t8 - Cinza\n");
printf ("\t1 - Azul\t9 - Azul Claro\n");
printf ("\t2 - Verde\tA - Verde Claro\n");
printf ("\t3 - Verde Água\tB - Verde Água Claro\n");
printf ("\t4 - Vermelho\tC - Vermelho Claro\n");
printf ("\t5 - Roxo\tD - Lilás\n");
printf ("\t6 - Amarelo\tE - Amarelo Claro\n");
printf ("\t7 - Branco\tF - Branco Brilhante\n");
printf ("\n\nCor de fundo: ");
scanf("%c", &cores[0]);
getchar();
printf ("Cor do texto: ");
scanf("%c", &cores[1]);
strcat (comando, cores);
system (comando);
system("cls");
do {
cout<<"\n\n\t\t\tMENU\n";
cout<<"\n\t1 - Cadastrar novos animais -> ";
cout<<"\n\t2 - Remover algum animal por CODIGO -> ";
cout<<"\n\t3 - Alterar informacoes do pet ->";
cout<<"\n\t4 - Buscar animal por nome ->";
cout<<"\n\t5 - Buscar animal por especie ->";
cout<<"\n\t6 - Buscar animal por especie e raca";
cout<<"\n\t7 - Buscar animal por especie raca e sexo ->";
cout<<"\n\t8 - Quantidade total de animais ->";
cout<<"\n\t9 - Quantidade toatl de animais por cada especie ->";
cout<<"\n\t10 - Listagem de todos os animais cadastrados ->";
cout<<"\n\nSua opcao: ";
cin >> opcao;
system("cls");
switch(opcao) {
case 1:
cadastrar(&lista);
break;
case 2:
if(remover_animal(&lista))
cout<<"O PET FOI REMOVIDO COM SUCESSO";
else
{
cout<<"ERRO ENCONTRADO, O PET NÃO FOI REMOVIDO";
}
break;
case 3:
alterar(&lista);
break;
case 4:
if(buscar_nome(lista))
cout<<"Achou";
else
cout<<"nao foi encontrado";
break;
case 5:
if(buscar_especie(lista))
cout<<"Especie encontrada";
else
cout<<"ERRO!! Especie nao foi encontrada";
break;
case 6:
if(busca_especie_raca(lista))
cout<<"Pet encontrado";
else
cout<<"ERRO!! Pet nao encontrado";
break;
case 7:
if(busca_especie_raca_sexo(lista))
cout<<"PET Encontrado com sucesso";
else
cout<<"ERRO, PET nao foi encontrado";
break;
case 10:
listagem_total(lista);
break;
}
}while (opcao =! 0);
return 0;
system ("pause");
}
void cadastrar (struct no **lista)
{
cout<<"\t\nCADASTRAR NOVO ANIMAL\n\n";
no *aux;
aux=(no *)malloc(sizeof(no));
aux->prox=(*lista);
(*lista)=aux;
cout<<"Codigo do animal: "; cin >> aux->id;
cout<<"Nome do animal: "; cin >> aux->nome;
cout<<"Sexo do animal: "; cin >> aux->sexo;
cout<<"Idade do animal: "; cin >> aux->idade;
cout<<"Especie do animal: "; cin >> aux->especie;
cout<<"raca do animal: "; cin >> aux->raca;
cout<<"Carasteristicas do animal: "; cin >> aux->caracteristica;
cout<<"\nAnimal CODIGO: "<<aux->id<<" foi adicionado.";
}
int remover_animal (struct no **lista)
{
cout<<"\t\nREMOVER UM PET\n";
no *aux = *lista, *aux2;
if ((*lista)== NULL)
{
cout<<"LISTA VAZIA";
return 0;
}
cout<<"Informe o codigo do pet a ser removido: "; cin >> aux->id;
while (aux != NULL && aux->id != aux->id) /* percorrer a lista ate encontrar o valor desejado */
{
aux2 = aux;
aux=aux->prox;
}
if (aux == NULL) /* ou a lista tava vazia ou nao achou o valor */
return 0;
/* passou pelo if de cima, portanto o valor foi encontrado, entao ele sera reemovido */
if(aux==*lista) /* ver se eh o primeiro elemento */
{
*lista=aux->prox;
}
else /* remover o valor encontrado, percorrendo a lista ate o elemento, e remove-lo com o free no aux */
{
aux2->prox = aux->prox;
free(aux);
return 1;
}
}
void listagem_total (struct no *lista)
{
cout<<"\t\nMOSTRAR TODOS OS PETS\n";
cout<<"\nNome dos animais da lista: ";
while(lista != NULL)
{
cout<<" \n"<<lista->nome;
lista = lista->prox;
}
cout<<"\n\n";
}
int buscar_nome (struct no *lista) {
no *aux = lista, *aux2;
char nome[20];
cout<<"Informe o nome do animal: ";
cin.ignore();
cin.getline(nome, 20);
while (aux != NULL) {
if (strcmp (aux->nome,nome) == 0)
{
return 1;
}
else
{
aux=aux->prox;
cout<<"Nao achou";
return 0;
}
}
}
int buscar_especie (struct no *lista) {
no *aux = lista, *aux2;
char especie[20];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE\n";
cout<<"Informe a especie do animal: ";
cin.ignore();
cin.getline(especie, 20);
while (aux != NULL) {
if (strcmp (aux->especie,especie) == 0)
{
return 1;
}
else
{
aux=aux->prox;
return 0;
}
}
}
int busca_especie_raca (struct no *lista) {
no *aux = lista, *aux2;
char especie[20], raca[20];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE E PELA RAÇA\n";
cout<<"Informe a especie do animal: ";
cin.ignore();
cin.getline(especie, 20);
cout<<"Informe a raça do animal: ";
cin.ignore();
cin.getline(raca, 20);
while (aux2 != NULL) {
if (strcmp (aux->especie,especie) == 0 && (aux->raca,raca) == 0)
{
return 1;
}
else
{
aux2=aux2->prox;
return 0;
}
}
}
int busca_especie_raca_sexo (struct no *lista) {
no *aux = lista, *aux2;
char especie[20], raca[20], sexo[3];
cout<<"\t\nBUSCAR UM PET PELA ESPECIE E PELA RAÇA\n";
cout<<"Informe a ESPECIE do animal: ";
cin.ignore();
cin.getline(especie, 20);
cout<<"Informe a RAÇA do animal: ";
cin.ignore();
cin.getline(raca, 20);
cout<<"Informe o SEXO do animal: ";
cin.ignore();
cin.getline(sexo, 3);
while (aux2 != NULL) {
if (strcmp (aux->especie,especie) == 0 && (aux->raca,raca) == 0 && (aux->sexo,sexo)==0)
{
return 1;
}
else
{
aux2=aux2->prox;
return 0;
}
}
}
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









