Ir ao conteúdo
  • Cadastre-se

Roberth Machado

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

3
  1. Preciso fazer um programa que tenha um menu onde após cadastrar as notas das escolas eu possa voltar para ele e selecionar a opção seguinte, mas quando faço isso parece que o que eu fiz no case 1 se apaga, e o case 2 n faz nada, o que pode ser? #include <stdio.h> #include <locale.h> #include <string.h> #include <conio.h> int sair(){ return 0; } typedef struct XCadastro{ char nome[31]; char responsavel[31]; }Cadastro; void erro(){ printf("\n!!!ERRO, TENTE NOVAMENTE!!!\n"); } int main(){ setlocale(LC_ALL,"Portuguese"); int menu, i, j, cont; char search[31]; Cadastro c[10]; printf("CARNAVAL RIO PARANAÍBA\n\n0.Sair\n1.Cadastrar escolas\n2.Pesquisa\n\n"); printf("Digite uma opção: "); scanf("%d", &menu); fflush(stdin); switch(menu){ case 0: sair(); break; case 1: printf("\n\n ---------CADASTRAMENTO DE ESCOLAS---------\n"); for(i = 0; i < 2; i++){ //i original = 10 printf("Digite o nome da escola nº %d: ", i+1); gets(c[i].nome); fflush(stdin); cont = strlen(c[i].nome); printf("Escola %s\n", c[0].nome); while (cont < 8){ erro(); printf("Digite o nome da escola nº %d: ", i+1); gets(c[i].nome); cont = strlen(c[i].nome); } printf("Digite o nome do responsavel pela escola: "); gets(c[i].responsavel); fflush(stdin); printf("--------------------------------------------------------------/\n\n"); } break; case 2: printf("%s", c[0].nome); break; } return main(); }
  2. Preciso que 5 juízes julguem cada quesito de uma escola de samba, depois tenho que tirar a maior e a menor nota de cada quesito, porém quando vou fazer pegar o menor número ele sempre buga, segue meu código e o bug frequente: #include <stdio.h> #include <locale.h> #include <string.h> #include <conio.h> void erro(){ printf("ERRO, TENTE NOVAMENTE\n"); } int sair(){ return 0; } typedef struct quesitos{ float nota[5]; char quesitos[13][30]; }xques; typedef struct sCadastro{ char nome[31]; char responsavel[31]; }Cadastro; int caracter (char str[]){ int i ; int cont = 0; for (i = 0; str[i] != '\0'; i++){ cont++; } return cont; } int main(){ setlocale(LC_ALL,"Portuguese"); int menu, i, w, p, contador, j; float num, maior, menor; xques q[10]; Cadastro cad[10]; for(i = 0; i < 10; i++){ strcpy(q[i].quesitos[0], "Bateria"); strcpy(q[i].quesitos[1], "Samba-Enredo"); strcpy(q[i].quesitos[2], "Harmonia"); strcpy(q[i].quesitos[3], "Evolução"); strcpy(q[i].quesitos[4], "Enredo"); strcpy(q[i].quesitos[5], "Conjunto"); strcpy(q[i].quesitos[6], "Alegorias e Adereços"); strcpy(q[i].quesitos[7], "Fantasias"); strcpy(q[i].quesitos[8], "Comissão de Frente"); strcpy(q[i].quesitos[9], "Mestre-Sala e Porta-Bandeira"); strcpy(q[i].quesitos[10], "Representatividade"); strcpy(q[i].quesitos[11], "Conceito"); strcpy(q[i].quesitos[12], "Tempo de Execução"); } printf ("0. Sair\n"); printf ("1. Cadastrar escolas\n"); printf ("2. Buscar pelo nome\n"); printf("Digite uma opção: "); scanf("%d", &menu); switch(menu){ case 0: sair(); break; case 1: printf("\n \n ---------CADASTRAMENTO DE ESCOLAS---------\n"); for(i = 0; i < 1; i++){ //i original = 10 printf("Digite o nome da escola %d: ", i+1); getchar(); gets(cad[i].nome); contador = caracter (cad[i].nome); while(contador <= 7){ erro(); printf("Digite o nome da escola %d: ", i+1); gets(cad[i].nome); contador = caracter (cad[i].nome); } printf("Digite o nome do responsável pela escola: "); gets(cad[i].responsavel); fflush(stdin); for(w = 0; w < 2; w++){ //i original = 13 printf("\n\nQuesito %s\n", q[i].quesitos[w]); for(j = 0; j < 5; j++){ printf("Digite a nota do jurado %d (min 7,0 e max 10,0): ", j+1); scanf("%f", &q[i].nota[j]); fflush(stdin); while(q[i].nota[j] < 7 || q[i].nota[j] > 10){ erro(); printf("Digite a nota do jurado %d: ", j+1); scanf("%f", &q[i].nota[j]); fflush(stdin); } for(j=0; j<5; j++){ if(j==0){ maior = q[i].nota[j]; menor = q[i].nota[j]; }else{ if(q[i].nota[j] > maior){ maior = q[i].nota[j]; }else{ if(q[i].nota[j] < menor){ menor = q[i].nota[j]; } }} printf ("%d", menor); } printf("Menor: %.2f\nMaior:%.2f\n", menor, maior); } } printf("-----------------------------------------------\n"); } break; }} adicionado 4 minutos depois refiz um pouco o código porém continua bugando o menor número, ele normalmente zera quando vou tentar gravar no endereço: #include <stdio.h> #include <locale.h> #include <string.h> #include <conio.h> void erro(){ printf("ERRO, TENTE NOVAMENTE\n"); } int sair(){ return 0; } typedef struct quesitos{ float nota[5]; char quesitos[13][30]; }xques; typedef struct sCadastro{ char nome[31]; char responsavel[31]; }Cadastro; int caracter (char str[]){ int i ; int cont = 0; for (i = 0; str[i] != '\0'; i++){ cont++; } return cont; } int main(){ setlocale(LC_ALL,"Portuguese"); int menu, i, w, p, contador, j; float num, maior, menor; xques q[10]; Cadastro cad[10]; for(i = 0; i < 10; i++){ strcpy(q[i].quesitos[0], "Bateria"); strcpy(q[i].quesitos[1], "Samba-Enredo"); strcpy(q[i].quesitos[2], "Harmonia"); strcpy(q[i].quesitos[3], "Evolução"); strcpy(q[i].quesitos[4], "Enredo"); strcpy(q[i].quesitos[5], "Conjunto"); strcpy(q[i].quesitos[6], "Alegorias e Adereços"); strcpy(q[i].quesitos[7], "Fantasias"); strcpy(q[i].quesitos[8], "Comissão de Frente"); strcpy(q[i].quesitos[9], "Mestre-Sala e Porta-Bandeira"); strcpy(q[i].quesitos[10], "Representatividade"); strcpy(q[i].quesitos[11], "Conceito"); strcpy(q[i].quesitos[12], "Tempo de Execução"); } printf ("0. Sair\n"); printf ("1. Cadastrar escolas\n"); printf ("2. Buscar pelo nome\n"); printf("Digite uma opção: "); scanf("%d", &menu); switch(menu){ case 0: sair(); break; case 1: printf("\n \n ---------CADASTRAMENTO DE ESCOLAS---------\n"); for(i = 0; i < 1; i++){ //i original = 10 printf("Digite o nome da escola %d: ", i+1); getchar(); gets(cad[i].nome); contador = caracter (cad[i].nome); while(contador <= 7){ erro(); printf("Digite o nome da escola %d: ", i+1); gets(cad[i].nome); contador = caracter (cad[i].nome); } printf("Digite o nome do responsável pela escola: "); gets(cad[i].responsavel); fflush(stdin); for(w = 0; w < 2; w++){ //i original = 13 printf("\n\nQuesito %s\n", q[i].quesitos[w]); for(j = 0; j < 5; j++){ printf("Digite a nota do jurado %d (min 7,0 e max 10,0): ", j+1); scanf("%f", &q[i].nota[j]); fflush(stdin); while(q[i].nota[j] < 7 || q[i].nota[j] > 10){ erro(); printf("Digite a nota do jurado %d: ", j+1); scanf("%f", &q[i].nota[j]); fflush(stdin); } if(j == 0){ maior = q[i].nota[0]; menor = q[i].nota[0]; }else{ if(q[i].nota[1] > maior){ maior = q[i].nota[1]; }else{ if(q[i].nota[2] > maior){ maior = q[i].nota[2]; }else{ if(q[i].nota[3] > maior){ maior = q[i].nota[3]; }else{ if(q[i].nota[4] > maior){ maior = q[i].nota[4]; }else{ if(q[i].nota[1] < menor){ menor = q[i].nota[1]; }else{ if(q[i].nota[2] < menor){ menor = q[i].nota[2]; }else{ if(q[i].nota[3] < menor){ menor = q[i].nota[3]; }else{ if(q[i].nota[4] < menor){ menor = q[i].nota[4]; } }}}}}}}} printf("Menor: %.2f\nMaior:%.2f\n", menor, maior); } } printf("-----------------------------------------------\n"); } break; }}
  3. Bem, estou fazendo um projeto da faculdade em que tenho que cadastrar 10 escolas de samba e depois fazer os 5 juízes declararem suas notas em 13 quesitos diferentes(ex: Enredo, Desenvolvimento, Samba, etc...), mas estou preso na parte em que tenho que fazer os juízes declarar suas notas pois n sei como declarar os quesitos (que são: I-Bateria II -Samba-EnredoIII -Harmonia IV -Evolução V -Enredo VI -Conjunto VII -Alegorias e Adereços VIII -Fantasias IX -Comissão de Frente X -Mestre-Sala e Porta-Bandeira e mais 3 da minha escolha), eu já fiz isso do código: (as partes entre /* *\ eram apenas testes, estou muito perdido aqui kkkkk) CASO NÃO TENHAM ENTENDIDO, DEIXAREI O ARQUIVO COM OS DETALHES DO PROJETO ANEXO!!!! #include <stdio.h> #include <locale.h> void erro(){ printf("ERRO, TENTE NOVAMENTE\n"); } int sair(){ return 0; } typedef struct quesitos{ float nota[5]; char ques[13]; }xques; typedef struct sCadastro{ char nome[31]; char responsavel[31]; }Cadastro; int caracter (char str[]){ int i ; int cont = 0; for (i=1; str[i] != '\0'; i++){ cont++; } return cont; } int main(){ setlocale(LC_ALL,"Portuguese"); int menu, i, contador, jurado; float bateria [10][5], sambaenredo [10][5], harmonia [10][5], evolucao [10][5], enredo [10][5], conjunto [10][5], alegorias [10][5], fantasia [10][5], comissao [10][5], mestre [10][5], melodia [10][5]; Cadastro cad[10]; xques q[13]; printf ("0. Sair\n"); printf ("1. Cadastrar escolas\n"); printf ("2. Buscar pelo nome\n"); printf("Digite uma opção: "); scanf("%d", &menu); switch(menu){ case 0: sair(); break; case 1: printf("\n \n ---------CADASTRAMENTO DE ESCOLAS---------\n"); for(i = 1; i < 4; i++){ printf("Digite o nome da escola %d: ", i); getchar(); gets(cad[i].nome); contador = caracter (cad[i].nome); while(contador <= 7){ erro(); printf("Digite o nome da escola %d: ", i); getchar(); gets(cad[i].nome); contador = caracter (cad[i].nome); } printf("Digite o nome do responsável pela escola: "); gets(cad[i].responsavel); /* printf("\n\nQuesito BATERIA\n"); for(jurado = 1; jurado <= 5; jurado++){ printf("Digite a nota do jurado %d: ", jurado); scanf("%f", &bateria[i][jurado]); while(bateria[i][jurado] < 7 || bateria[i][jurado] > 10){ erro(); printf("Digite a nota do jurado %d: ", jurado); scanf("%f", &bateria[i][jurado]); } *\ } printf("-----------------------------------------------\n"); } break; }} ProjetoSIN1102019Inovo(1).pdf

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...