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;
}
}
}
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
O que você está ouvindo agora? [2] (183)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)