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;
}
}
}
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
ERRO AO ABRIR INTERFACE GRAFICA KALI LINUX (0)
É cada coisa que me aparece! - não é só 3% (8)
A impressora não imprimi no win10 (4)