Enviado em 08/03/2017 - 19:22h
Olá a todos.void separaEstilo (void)
{
char estilo[30]; // Variável de entrada para armazenar uma string e compara-la com a string "ritmo" da estrutura.
int i; // Contador.
printf ("Digite um estilo musical: ");
setbuf (stdin, NULL);
fgets (estilo, 30, stdin);
printf ("\n--- BANDAS LISTADAS NO SEGUINTE ESTILO ---\n");
for (i = 0; i < 5; i ++)
{
strcmp (estilo, vector[i].ritmo);
if (strcmp == 0)
{
printf ("\n%s", vector[i].nome);
}
}
}
// Declarando bibliotecas auxiliares:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Declarando struct:
typedef struct
{
char nome[80];
char ritmo[30];
int integrantes;
int ranking;
} banda;
banda *vector;
// Declarando funções auxiliares:
void alocaBandas (banda **vector);
void leBandas (banda *vector);
void preferencia (void);
void separaEstilo (void);
// Início:
int main (void)
{
printf ("--- LISTE 5 DAS SUAS BANDAS PREFERIDAS ---\n");
alocaBandas (&vector);
leBandas (vector);
preferencia ();
separaEstilo ();
return 0; // Fim.
}
// Função responsável por alocar o vetor dinâmico que irá armazenar os elementos da struct:
void alocaBandas (banda **vector)
{
*vector = (banda *) malloc (5 * sizeof (banda));
if (*vector == NULL)
{
printf ("\aERRO DE MEMORIA!!! Programa sera encerrado.");
exit (-1);
}
}
// Função responsável por ler as entradas:
void leBandas (banda *vector)
{
int i; // Contador.
for (i = 0; i < 5; i ++)
{
printf ("\nDigite o nome da banda: ");
setbuf (stdin, NULL);
fgets (vector[i]. nome, 80, stdin);
printf ("\nDigite o tipo de musica que ela toca: ");
setbuf (stdin, NULL);
fgets (vector[i].ritmo, 80, stdin);
printf ("\nDigite o numero de integrantes da banda: ");
scanf ("%d", &vector[i].integrantes);
printf ("\nDigite a posicao no ranking dela entre as suas 5 bandas favoritas: ");;
scanf ("%d", &vector[i].ranking);
printf ("\n---------------------------------------------------------------------\n");
}
}
// Função responsável por solicitar a posição do ranking ao usuário e exibir a banda que está nesta posição:
void preferencia (void)
{
int n; // Variável de entrada para o número da banda.
printf ("\nDefina uma posicao do seu ranking: ");
scanf ("%d", &n);
n = n - 1;
printf ("\n-------------------------------------------\n");
printf ("\nNome da banda que se encontra nesta posicao: %s", vector[n].nome);
printf ("\nEstilo da banda: %s", vector[n].ritmo);
printf ("\nNumero de integrantes da banda: %d\n", vector[n].integrantes);
printf ("\nPosicao da banda no seu ranking: %d\n", vector[n].ranking);
printf ("\n-------------------------------------------\n");
printf ("\n");
}
// Função responsável por solicitar um estilo ao usuário e exibir as bandas listadas desse respectivo estilo:
void separaEstilo (void)
{
char estilo[30]; // Variável de entrada para armazenar uma string e compara-la com a string "ritmo" da estrutura.
int i; // Contador.
printf ("Digite um estilo musical: ");
setbuf (stdin, NULL);
fgets (estilo, 30, stdin);
printf ("\n--- BANDAS LISTADAS NO SEGUINTE ESTILO ---\n");
for (i = 0; i < 5; i ++)
{
strcmp (estilo, vector[i].ritmo);
if (strcmp == 0)
{
printf ("\n%s", vector[i].nome);
}
}
}