Advertisement
Guest User

Untitled

a guest
May 4th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.80 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct Bandasdemusica{
  6.   char nomedabanda[100];
  7.   int  integrantes;
  8.   char tipo[100];
  9.   char bandasfavoritas[100];
  10. };
  11.  
  12. struct Bandasdemusica *bandas;
  13. int n = 0, opcao, i;
  14.  
  15. void cadastrabanda(){
  16.     printf("Digite o nome da banda: ");
  17.     scanf(" %[^\n]",bandas[n].nomedabanda);
  18.     printf("digite o tipo da banda: ");
  19.     scanf(" %[^\n]",bandas[n].tipo);
  20.     printf("Digite o numero de integrantes: ");
  21.     scanf("%d",&bandas[n].integrantes);
  22.     printf("Digite o ranking da banda: ");
  23.     scanf(" %[^\n]",&bandas[n].bandasfavoritas);
  24.     n++;
  25. }
  26.  
  27. void mostrarbandas(){
  28.     for(i=0; i<n; i++){
  29.         printf("Banda cadastrada %d \n",i+1);
  30.         printf("Nome da banda: %s\n",bandas[i].nomedabanda);
  31.         printf("Tipo da banda: %s\n",bandas[i].tipo);
  32.         printf("Integrantes: %d\n",bandas[i].integrantes);
  33.         printf("Ranking : %s\n",bandas[i].bandasfavoritas);
  34.     }
  35. }
  36.  
  37. void apagarbanda(){
  38.     char nome[100];
  39.     int j;
  40.     scanf("%s",&nome);
  41.     for(i=0; i<n; i++){
  42.         if (strcmp(bandas[i].nomedabanda, nome)==0){
  43.             for(j=i+1; j<n; j++){   //Deleta todas as incidências pertencentes a banda em questão
  44.                 strcpy(bandas[j-1].nomedabanda,bandas[j].nomedabanda);
  45.                 strcpy(bandas[j-1].tipo,bandas[j].tipo);
  46.                 bandas[j-1].integrantes=bandas[j].integrantes;
  47.                 strcpy(bandas[j-1].bandasfavoritas,bandas[j].bandasfavoritas);
  48.             }
  49.             n--;
  50.             i=n;
  51.         }
  52.     }
  53. }
  54.  
  55. void acharnome(){
  56.     char nome[100];
  57.     int j;
  58.     printf("Digite o nome da banda : ");
  59.     scanf("%s",&nome);
  60.         for(i=0; i<n; i++){
  61.             if (strcmp(bandas[i].nomedabanda, nome)==0){
  62.                 printf("Tipo da banda: %s\n",bandas[i].tipo);
  63.                 printf("Integrantes: %d\n",bandas[i].integrantes);
  64.         }
  65.     }
  66. }
  67.  
  68. void rankingbanda(){
  69.     char nome[100];
  70.     int j;
  71.     printf("Digite o ranking  das bandas : ");
  72.     scanf("%s",&nome);
  73.     for(i=0; i<n; i++){
  74.         if (strcmp(bandas[i].bandasfavoritas, nome)==0){
  75.             printf("Nome da banda: %s\n",bandas[i].nomedabanda);
  76.         }
  77.     }
  78. }
  79.  
  80. void verificatipo(){
  81.     char nome[100];
  82.     int j;
  83.     printf("Digite o tipo da banda : ");
  84.     scanf("%s",&nome);
  85.     for(i=0; i<n; i++){
  86.         if (strcmp(bandas[i].tipo, nome)==0){
  87.             printf("Tipo da banda: %s\n",bandas[i].nomedabanda);
  88.             printf("Integrantes: %d\n",bandas[i].integrantes);
  89.         }
  90.     }
  91. }
  92.  
  93. int main(){
  94.     bandas = (struct Bandasdemusica *)malloc(sizeof(struct Bandasdemusica));
  95.     do{
  96.         printf("\t\tMenu\n"
  97.                "\t1 - Cadastrar uma Banda\n"
  98.                "\t2 - Exibir Bandas\n"
  99.                "\t3 - Apagar Banda\n"
  100.                "\t4 - Consultar uma Banda\n"
  101.                "\t5 - Consultar os Tipos\n"
  102.                "\t6 - Consultar Ranking\n"
  103.                "\t7 - Sair \n");
  104.         scanf("%d",&opcao);
  105.         system("cls");
  106.         if(opcao==1){     //Preenche a estrutura com as bandas
  107.             cadastrabanda();
  108.             system("cls");
  109.         }
  110.         else if(opcao==2){    //Mostra as bandas
  111.             mostrarbandas();
  112.             system("cls");
  113.         }
  114.         else if(opcao==3){    //Apaga a banda
  115.             apagarbanda();
  116.             system("cls");
  117.         }
  118.         else if(opcao==4){    //Consulta uma banda em particular pelo nome
  119.             acharnome();
  120.             system("cls");
  121.         }
  122.         else if(opcao==5){    //Verifica a banda pelo tipo musical delas
  123.             verificatipo();
  124.             system("cls");
  125.         }
  126.         else if(opcao==6){    //Mostra o ranking das bandas
  127.             rankingbanda();
  128.             system("cls");
  129.         }
  130.     }while(opcao!=7);
  131.     free(bandas);
  132.     return 0;
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement