Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

estudante

Membros Juniores
  • Total de itens

    14
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. 12. Faça um programa que peça dois números inteiros e gere os números pares que estão no intervalo entre eles. R. Estou tentando imprimir os pares no intervalo, mas ele não imprime, e o intervalo está começando com o número que digite, como faço para ele pular para o numero seguinte? #include <stdlib.h> #include <stdio.h> int main(int argc, char** argv) { int num1,num2,i,par; printf(" Digite o 1 numero "); scanf("%d",&num1); printf(" Digite o 2 numero "); scanf("%d",&num2); for (i= num1;i<num2;i++){ if((i%2)==0){ par=par + 1; } printf("%i, ",par); } return 0; }
  2. 19. Construa um algoritmo que leia duas matrizes 3x3 e gere uma terceira matriz com a soma dos elementos correspondentes de a e b. R.:
  3. Fiz o código das matrizes, mas não estou conseguindo somar #include <stdio.h> #include <math.h> int main(void){ int i, j, vetor[3], matriz[3][3],soma; for (i=0;i<3;i++){ for (j=0;j<3;j++){ matriz[i][j]=i+j*3+1; } vetor[i]=i+1; } for (i=0;i<3;i++){ for (j=0;j<3;j++){ printf("%i\t",matriz[i][j]); } printf("\n"); } for (i=0;i<3;i++){ for (j=0;j<3;j++){ matriz[i][j]=i+j*9+1; } vetor[i]=i+1; } printf("\n"); for (i=0;i<3;i++){ for (j=0;j<3;j++){ printf("%i\t",matriz[j]); } printf("\n"); } for (i=0;i<3;i++){ for (j=0;j<3;j++){ soma = i+j; matriz[i][j]=soma; } vetor[i]=i+1; } printf("\n"); for (i=0;i<3;i++){ for (j=0;j<3;j++){ printf("%i\t",matriz[i][j]); } printf("\n"); } return 0; }
  4. gotoxy

    Como faço para ir aumentando a lateral da ascii em gotoxy, conforme o numero de alunos cadastrados, alguém tem um exemplo de aumentar a tabela ?
  5. ordenar

    Não estou conseguindo ordenar as médias dos alunos, alguém pode me ajudar ? Ela imprimi as vezes certo e as vezes errado #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #define SAIR 5 #define TAMANHO 100 #define CARACTERES_NO_NOME 30 #define TURMA_VAZIA 0 #define TRUE 1 #define FALSE 0 void gotoxy(short x, short y) { COORD pos = { x, y }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } typedef struct aluno { int matricula; char nome[CARACTERES_NO_NOME]; float nota1, nota2, media; int excluido; } aluno; aluno atual[TAMANHO]; aluno turma[TAMANHO]; int arrayAUX[100]; int linhas = 1; int cont = 0; void LimparScan(); int i, c = 0, matriculaAUX, linha = 2; int opcao, quantidadeDeAlunosNaTurma = 0, quantidadeUsada = TURMA_VAZIA, quantidadeUsadaAUX, aux; int espaco; int continuar = TRUE; int contAUX; char canto_esquerdo = 218; char canto_direito = 191; char centro = 196; char lateral = 179; char espacos = 32; char base_esquerda = 192; char base_direita = 217; char base = 192; void remove_newline_ch(char* line); void LimparScan(); void case1(); void case2(); void case3(); void menu(); int main() { menu(); } void LimparScan() { short c; while ((c = getchar()) != '\n' && c != EOF) { } } void menu() { gotoxy(20, 0); printf("%c", canto_esquerdo); while (espaco < 25) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(45, 0); printf("%c\n", canto_direito); gotoxy(20, 1); printf("%c", lateral); gotoxy(22, 1); printf("CONFIGURAR O SISTEMA"); gotoxy(20, 2); printf("%c", base_esquerda); while (espaco < 25) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(45, 1); printf("%c", lateral); gotoxy(45, 2); printf("%c", base_direita); // printf("\nCONFIGURAR O SISTEMA\n"); gotoxy(3, 4); printf("Digite a quantidade de alunos na turma "); scanf("%d", &quantidadeDeAlunosNaTurma); printf("\n"); while (opcao != SAIR) { continuar = TRUE; for (contAUX = 1; contAUX > 0; contAUX--) { system("cls"); gotoxy(20, 0); printf("%c", canto_esquerdo); while (espaco < 28) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(48, 0); printf("%c\n", canto_direito); gotoxy(20, 1); printf("%c", lateral); if (quantidadeUsada == TURMA_VAZIA) { gotoxy(24, 1); printf("A turma esta vazia"); } if (quantidadeUsada == TAMANHO) { printf("A turma esta lotada"); } if (quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA) { gotoxy(22, 1); printf("A turma esta com %d alunos", quantidadeUsada); } gotoxy(20, 2); printf("%c", base_esquerda); while (espaco < 28) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(48, 1); printf("%c", lateral); gotoxy(48, 2); printf("%c", base_direita); gotoxy(22, 5); printf("%c", canto_esquerdo); while (espaco < 22) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(45, 5); printf("%c\n", canto_direito); gotoxy(22, 6); printf("%c", lateral); gotoxy(32, 6); printf("Menu"); gotoxy(22, 7); printf("%c", base_esquerda); while (espaco < 22) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(45, 6); printf("%c", lateral); gotoxy(45, 7); printf("%c", base_direita); int menu = 7; while (espaco < 11) { gotoxy(22, menu); printf("%c", lateral); menu++; espaco++; } espaco = 0; gotoxy(25, 8); printf("1-Incluir aluno"); gotoxy(25, 10); printf("2-Excluir aluno"); gotoxy(25, 12); printf("3-Listar alunos"); gotoxy(25, 14); printf("4-Adicionar notas"); gotoxy(25, 16); printf("5-Sair"); gotoxy(22, 18); printf("%c", base_esquerda); while (espaco < 22) { printf("%c", centro); espaco++; } espaco = 0; while (espaco < 12) { gotoxy(45, menu); printf("%c", lateral); menu--; espaco++; } espaco = 0; gotoxy(45, 18); printf("%c", base_direita); gotoxy(24, 22); printf("Escolha um numero "); scanf("%d", &opcao); LimparScan(); system("cls"); if (opcao == 1) { case1(); } if (opcao == 2) { case2(); } if (opcao == 3) { case3(); } } } } void case1(){ while (continuar == TRUE) { for (int aux1 = 1; aux1 > 0; aux1--) { system("cls"); gotoxy(18, 0); printf("%c", canto_esquerdo); while (espaco < 47) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(65, 0); printf("%c\n", canto_direito); gotoxy(18, 1); printf("%c", lateral); gotoxy(33, 1); printf("Cadatro do aluno"); gotoxy(18, 2); printf("%c", base_esquerda); while (espaco < 47) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(65, 2); printf("%c", base_direita); gotoxy(65, 1); printf("%c", lateral); while (espaco < 22) { gotoxy(18, linha); printf("%c", lateral); linha++; espaco++; } espaco = 0; gotoxy(18, 24); printf("%c", base_esquerda); while (espaco < 46) { printf("%c", centro); espaco++; } espaco = 0; while (espaco < 23) { gotoxy(65, linha); printf("%c", lateral); linha--; espaco++; } espaco = 0; linha = 2; gotoxy(65, 24); printf("%c", base_direita); // Solicitar os demais dados do aluno gotoxy(22, 3); printf("Digite sua matricula "); scanf("%d", &matriculaAUX); LimparScan(); if (matriculaAUX == turma[matriculaAUX].matricula) { gotoxy(22, 6); printf("Matricula já existente\n"); aux1++; gotoxy(20, 10); system("pause"); } } gotoxy(22, 6); printf("Digite um nome "); fgets(turma[matriculaAUX].nome, 30, stdin); fflush(stdin); gotoxy(22, 9); printf("Digite a nota 1 "); scanf("%f", &turma[matriculaAUX].nota1); LimparScan(); gotoxy(22, 12); printf("Digite a nota 2 "); scanf("%f", &turma[matriculaAUX].nota2); LimparScan(); turma[matriculaAUX].media = (turma[matriculaAUX].nota1 + turma[matriculaAUX].nota2) / 2; gotoxy(22, 15); printf("Media = %.1f", turma[matriculaAUX].media); // Colocar o if perguntando se o usuário realmente deseja incluir gotoxy(22, 18); printf("Deseja realmente Incluir? S/N"); char resp; scanf("%c", &resp); LimparScan(); if (resp == 'S' || resp == 's') { remove_newline_ch(turma[matriculaAUX].nome); turma[matriculaAUX].matricula = matriculaAUX; gotoxy(22, 20); printf("Inclusao feita com sucesso"); quantidadeUsada++; } else if (resp == 'N' || resp == 'n') { gotoxy(22, 21); printf("Inclusao cancelada!"); } // Perguntar para o usuário se ele deseja incluir mais alunos na turma gotoxy(22, 22); printf("Deseja Incluir mais alunos na turma ?"); scanf("%c", &resp); LimparScan(); if (resp == 'N' || resp == 'n') { continuar = FALSE; } } } void case2(){ for (int aux = 1; aux == 1; aux++) { system("cls"); gotoxy(13, 0); printf("%c", canto_esquerdo); while (espaco < 54) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(68, 0); printf("%c\n", canto_direito); gotoxy(13, 1); printf("%c", lateral); gotoxy(31, 1); printf("Exclusão do Aluno"); gotoxy(13, 2); printf("%c", base_esquerda); while (espaco < 54) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(68, 2); printf("%c", base_direita); while (espaco < 22) { gotoxy(13, linha); printf("%c", lateral); linha++; espaco++; } espaco = 0; gotoxy(13, 24); printf("%c", base_esquerda); while (espaco < 54) { printf("%c", centro); espaco++; } espaco = 0; while (espaco < 24) { gotoxy(68, linha); printf("%c", lateral); linha--; espaco++; } espaco = 0; linha = 2; gotoxy(68, 24); printf("%c", base_direita); gotoxy(17, 3); printf("Qual o matricula do aluno q você deseja excluir? "); scanf("%d", &matriculaAUX); LimparScan(); if (matriculaAUX != turma[matriculaAUX].matricula) { gotoxy(17, 6); printf("Matricula não encontrada\n"); gotoxy(17, 9); system("pause"); contAUX++; aux == 0; } char resp; if (turma[matriculaAUX].matricula == matriculaAUX) { // encontrou o aluno gotoxy(17, 6); printf("Matricula: %d", matriculaAUX); gotoxy(17, 9); printf("Nome: %s", turma[matriculaAUX].nome); // nao vai perguntar se deseja excluir? gotoxy(17, 12); printf("Deseja realmente Excluir ? S/N"); scanf("%c", &resp); } if (resp == 'S' || resp == 's') { gotoxy(17, 15); printf("Exclusao feita com sucesso"); quantidadeUsada--; turma[matriculaAUX].matricula = 0; cont++; gotoxy(17, 18); printf("Deseja Excluir mais alunos na turma ?"); scanf("%c", &resp); LimparScan(); } else if (resp == 'N' || resp == 'n') { gotoxy(17, 15); printf("Exclusao cancelada!\n"); gotoxy(17, 22); system("pause"); } // deseja excluir mais alunos ? while (espaco < 65) { printf("%c", centro); espaco++; } espaco = 0; while (espaco < 23) { gotoxy(62, linha); printf("%c", lateral); linha--; espaco++; } espaco =0; linha = 2; gotoxy(62, 24); printf("%c", base_direita); } } void case3(){ gotoxy(0, 0); printf("%c", canto_esquerdo); while (espaco < 79) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(79, 0); printf("%c\n", canto_direito); gotoxy(0, 1); printf("%c", lateral); gotoxy(3, 1); printf("Nome"); gotoxy(9, 1); printf("%c", lateral); gotoxy(13, 1); printf("Matricula"); gotoxy(25, 1); printf("%c", lateral); gotoxy(29, 1); printf("Nota 1"); gotoxy(38, 1); printf("%c", lateral); gotoxy(43, 1); printf("Nota 2"); gotoxy(53, 1); printf("%c", lateral); gotoxy(57, 1); printf("Media"); gotoxy(0, 2); printf("%c", base_esquerda); espaco = 0; while (espaco < 78) { printf("%c", centro); espaco++; } espaco = 0; gotoxy(79, 1); printf("%c", lateral); gotoxy(79, 2); printf("%c", base_direita); espaco = 0; while (espaco < 9) { gotoxy(0, linha); printf("%c", lateral); linha++; espaco++; } espaco = 0; for (matriculaAUX = 1; matriculaAUX <= 100; matriculaAUX++) { // Colocar matriculas existentes na arrayAUX[c] if (matriculaAUX == turma[matriculaAUX].matricula) { c++; arrayAUX[c] = matriculaAUX; } } for (aux = 1; aux <= 5; aux++) { for (c = 1; c < quantidadeUsada; c++) { if (turma[c].media > turma[c + 1].media) { aux = arrayAUX[c]; arrayAUX[c] = arrayAUX[c + 1]; arrayAUX[c + 1] = aux; } } } quantidadeUsadaAUX = quantidadeUsada; for ( int k = 1; k < quantidadeUsadaAUX ; k--){ for (linhas = 3, c = 1; c <= quantidadeUsadaAUX;quantidadeUsadaAUX--, linhas = linhas + 2) { gotoxy(2, linhas);printf("%s",turma[arrayAUX[quantidadeUsadaAUX]].nome); gotoxy(16, linhas);printf("%d",turma[arrayAUX[quantidadeUsadaAUX]].matricula); gotoxy(31, linhas);printf("%.1f",turma[arrayAUX[quantidadeUsadaAUX]].nota1); gotoxy(45, linhas);printf("%.1f",turma[arrayAUX[quantidadeUsadaAUX]].nota2); gotoxy(58, linhas);printf("%.1f",turma[arrayAUX[quantidadeUsadaAUX]].media); } } gotoxy(0, 11);printf("%c", base_esquerda); while (espaco < 78) { printf("%c", centro); espaco++; } espaco = 0; while (espaco < 10) { gotoxy(79, linha);printf("%c", lateral); linha--; espaco++; } espaco = 0; linha = 2; gotoxy(79, 11);printf("%c", base_direita); printf("\n\n"); system("pause"); if (linhas % 10 == 100) { // Imprimiu 10 linhas // Limpa a tela depois de esperar para imprimir uma nova pagina do // relatorio... getch(); system("cls"); printf("\nAluno"); printf("-----------"); printf("Matricula"); printf("-----------"); printf("Nota 1"); printf("-----------"); printf("Nota 2"); printf("-----------"); printf("Media"); printf("-----------\n\n"); linhas = 1; } } void remove_newline_ch(char* line) { int new_line = strlen(line) - 1; if (line[new_line] == '\n') line[new_line] = '\0'; }
  6. listar

    Meu programa esta printando varias vezes o menso nome, e se eu digito dois ele printa a pena um, gostaria que saber porque, mas queria que ,meu condigo não modificasse, apenas a parte do listas, as medias que digito devem aparecer em ordem crescente e não estou conseguindo fazer, isso dever ser feito na opção 3, mas o código deve ficar com estar apenas modificar essa parte de for e de while e colocar a média crescente Sem Título1.7z
  7. função

    coloquei em função e o programa não esta indo para opções, alguém pode me ajudar, além disso o listar não esta imprimindo todos os alunos cadastrado,imprimi somente um e varias vezes listar aluno em função.zip
  8. Aluno

    @devair1010 a opção 4 eu descobri que é opcional fazer, mas o meu programa não esta excluindo e esta listando um aluno só, veja como esta #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #define SAIR 5 #define TAMANHO 100 #define CARACTERES_NO_NOME 30 #define TURMA_VAZIA 0 #define TRUE 1 #define FALSE 0 typedef struct aluno { int matricula; char nome[CARACTERES_NO_NOME]; float nota1, nota2, media; int excluido; } aluno; void remove_newline_ch(char *line){ int new_line = strlen(line) -1; if (line[new_line] == '\n') line[new_line] = '\0'; } aluno atual[TAMANHO]; int main(){ void LimparScan (); int i, matriculaAUX, excluir; int opcao, quantidadeDeAlunosNaTurma = 0, quantidadeUsada = TURMA_VAZIA; char c; aluno turma[TAMANHO]; printf("\t\t\t**********************\n"); printf("\t\t\t CONFIGURAR O SISTEMA\n"); printf("\t\t\t**********************\n"); printf("Digite a quantidade de alunos na turma "); scanf("%d", &quantidadeDeAlunosNaTurma); printf("\t\t\t**********************\n"); while (opcao != SAIR) { for (int contAUX = 1; contAUX > 0; contAUX--){ system("cls"); printf("\t**********************************************************\n"); if (quantidadeUsada == TURMA_VAZIA) { printf("\t\t\t\A turma esta vazia\n"); } if (quantidadeUsada == TAMANHO) { printf("\t\t\t\A turma esta lotada\n"); } if (quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA) { printf("\t\t\t\A turma esta com %d alunos\n", quantidadeUsada); } printf("\t\**********************************************************\n\n"); printf("\t\t\t********************\n"); printf("\t\t\t\tMENU\n"); printf("\t\t\t********************\n"); printf("\t\t\t 1-Incluir aluno\n\n"); printf("\t\t\t 2-Excluir aluno\n\n"); printf("\t\t\t 3-Listar alunos \n\n"); printf("\t\t\t 4-Lançar notas\n\n"); printf("\t\t\t 5-Sair\n"); printf("\t\t\t**********************\n"); scanf("%d", &opcao); LimparScan (); if (opcao == 1) { int continuar = TRUE; while (continuar == TRUE && quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) { for (int aux1 = 1; aux1 > 0; aux1--){ system("cls"); // Solicitar os demais dados do aluno printf("\nDigite sua matricula\n "); scanf("%d",&matriculaAUX); LimparScan (); if(matriculaAUX == turma[matriculaAUX].matricula){ printf("Matricula já existente\n"); system ("pause"); aux1++; } } printf("\nDigite um nome\n "); fgets(turma[matriculaAUX].nome, 30, stdin); fflush(stdin); printf("\nDigite a nota 1\n "); scanf("%f",&turma[matriculaAUX].nota1); LimparScan (); printf("\nDigite a nota 2\n "); scanf("%f",&turma[matriculaAUX].nota2); LimparScan (); turma[matriculaAUX].media = (turma[matriculaAUX].nota1 + turma[matriculaAUX].nota2) / 2; printf("\nMedia = %.1f\n",turma[matriculaAUX].media); // Colocar o if perguntando se o usuário realmente deseja incluir printf("\nDeseja realmente Incluir? S/N"); char resp; scanf("%c", &resp); LimparScan (); if (resp == 'S' || resp == 's') { remove_newline_ch(turma[matriculaAUX].nome); turma[matriculaAUX].matricula = matriculaAUX; printf("\nInclusao feita com sucesso\n"); quantidadeUsada++; } else if (resp == 'N' || resp == 'n') { printf("Inclusao cancelada!\n"); } // Perguntar para o usuário se ele deseja incluir mais alunos na turma printf("\nDeseja Incluir mais alunos na turma ?"); scanf("%c", &resp); fflush(stdin); if (resp == 'N' || resp == 'n') { continuar = FALSE; } } } if (opcao == 2) { int cont; int continuar = TRUE; system("cls"); printf("Qual o matricula do aluno q você deseja excluir?\n"); scanf("%d",&matriculaAUX); if(matriculaAUX != turma[matriculaAUX].matricula){ printf("Matricula não encontrada\n"); system ("pause"); contAUX++; } for (int cont = 1; cont > 0 ; cont--) { char resp; if (turma[matriculaAUX].matricula == matriculaAUX) { // encontrou o aluno printf("\nMatricula: %d",matriculaAUX); printf("\nNome: %s",turma[matriculaAUX].nome); //nao vai perguntar se deseja excluir? printf("\nDeseja realmente Excluir ? S/N"); scanf("%c", &resp); } while ((c = getchar()) != '\n' && c != EOF) { } if (resp == 'S' || resp == 's') { printf("\nExclusao feita com sucesso\n"); system ("pause"); quantidadeUsada--; turma[matriculaAUX].matricula = 0; } else if (resp == 'N' || resp == 'n') { printf("Exclusao cancelada!\n"); system ("pause"); } if (resp == 'S' || resp == 's'){ // deseja excluir mais alunos ? printf("\nDeseja Excluir mais alunos na turma ?"); scanf("%c", &resp); LimparScan (); cont++; } } } } if (opcao == 3) { system("cls"); printf("\nAluno"); printf("-----------"); printf("Matricula"); printf("-----------"); printf("Nota 1"); printf("-----------"); printf("Nota 2"); printf("-----------"); printf("Media"); printf("-----------\n\n"); int linhas = 1; for (i = 0; i < matriculaAUX; i++) { if (atual.excluido != 1) { printf("%s",turma[matriculaAUX].nome); printf("\t\t %d",turma[matriculaAUX].matricula); printf("\t\t %.1f",turma[matriculaAUX].nota1); printf("\t %.1f",turma[matriculaAUX].nota2); printf("\t %.1f\n",turma[matriculaAUX].media); linhas++; } if (linhas % 10 == 0) { // Imprimiu 10 linhas // Limpa a tela depois de esperar para imprimir uma nova pagina do relatorio... getch(); system("cls"); printf("\nAluno"); printf("-----------"); printf("Matricula"); printf("-----------"); printf("Nota 1"); printf("-----------"); printf("Nota 2"); printf("-----------"); printf("Media"); printf("-----------\n\n"); linhas = 1; } } printf("\n\nListagem impressa..."); getch(); } } } void LimparScan (){ short c; while ((c = getchar()) != '\n' && c != EOF) { } }
  9. Programa Aluno

    @TOBI_thg isso não estou conseguindo excluir e lançar a nota do aluno, como as regras pedidas
  10. Programa Aluno

    @TOBI_thgele da um espaço na tela
  11. Programa Aluno

    Preciso de ajuda, consegui fazer o programa até aqui, mas não sei continuar, alguém pode me ajudar ? Ele tem que conter: Incluir aluno a. Solicita a matrícula do aluno; b. Não aceita matrículas repetidas; c. Solicita os demais dados do aluno; d. Confirma se o usuário quer incluir ou cancelar; e. Soma um no total de alunos f. Pergunta se o usuário quer adiconar outro aluno ou voltar para o menu; Excluir aluno a. Solicita a matrícula do aluno; b. Dá uma mensagem de erro caso a matrícula não esteja cadastrada; c. Apresenta dados do aluno; d. Confirma se o usuário quer excluir ou cancelar; e. Exclui o aluno caso o usuário confirme; f. Diminui um no total de alunos; g. Pergunta se o usuário quer excluir outro aluno ou voltar para o menu; Listar alunos a. Apresenta um relatório ordenado por média (do menor para o maior) b. Aguarda o usuário pressionar uma tecla para ir para a próxima página c. Após a última página volta para o menu Observações: a) A estrutura para armazenar os alunos deve ser uma struct b ) A coleção de alunos deve ser armazenado em um array de no máximo 100 alunos c) O sistema deve controlar para não passar do número máximo (100) d) Usar gotoxy - e tabela ASCII #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #define SAIR 5 #define TAMANHO 100 #define CARACTERES_NO_NOME 30 #define TURMA_VAZIA 0 #define TRUE 1 #define FALSE 0 typedef struct alunos { int matricula; char nome[CARACTERES_NO_NOME]; float nota1, nota2, media; int excluido; } aluno; void remove_newline_ch(char *line){ int new_line = strlen(line) -1; if (line[new_line] == '\n') line[new_line] = '\0'; } aluno atual[TAMANHO]; int main(){ int i, excluir; int opcao, quantidadeDeAlunosNaTurma = 0, quantidadeUsada = TURMA_VAZIA; aluno turma[TAMANHO]; printf("\t\t\t**********************\n"); printf("\t\t\t CONFIGURAR O SISTEMA\n"); printf("\t\t\t**********************\n"); printf("Digite a quantidade de alunos na turma "); scanf("%d", &quantidadeDeAlunosNaTurma); printf("\t\t\t**********************\n"); while (opcao != SAIR) { aluno atual; system("cls"); printf("\t**********************************************************\n"); if (quantidadeUsada == TURMA_VAZIA) { printf("\t\t\t\A turma esta vazia\n"); } if (quantidadeUsada == TAMANHO) { printf("\t\t\t\A turma esta lotada\n"); } if (quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA) { printf("\t\t\t\A turma esta com %d alunos\n", quantidadeUsada); } printf("\t\**********************************************************\n\n"); printf("\t\t\t********************\n"); printf("\t\t\t\tMENU\n"); printf("\t\t\t********************\n"); printf("\t\t\t 1-Incluir aluno\n\n"); printf("\t\t\t 2-Excluir aluno\n\n"); printf("\t\t\t 3-Listar alunos \n\n"); printf("\t\t\t 4-Lançar notas\n\n"); printf("\t\t\t 5-Sair\n"); printf("\t\t\t**********************\n"); scanf("%d", &opcao); fflush(stdin); if (opcao == 1) { int continuar = TRUE; while (continuar == TRUE && quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) { system("cls"); printf("\nDigite um nome\n "); fgets(atual.nome, 30, stdin); fflush(stdin); // Solicitar os demais dados do aluno printf("\nDigite sua matricula\n "); scanf("%d", &atual.matricula); fflush(stdin); // Colocar o if perguntando se o usuário realmente deseja incluir printf("\nDeseja realmente Incluir? S/N"); char resp; scanf("%c", &resp); fflush(stdin); if (resp == 'S' || resp == 's') { remove_newline_ch(atual.nome); turma[quantidadeUsada] = atual; printf("\nInclusao feita com sucesso\n"); quantidadeUsada++; turma[quantidadeUsada] = atual; // Perguntar para o usuário se ele deseja incluir mais alunos na turma } else { if (resp == 'N' || resp == 'n') { printf("Inclusao cancelada!\n"); } } printf("\nDeseja Incluir mais alunos na turma ?"); scanf("%c", &resp); fflush(stdin); if (resp == 'N' || resp == 'n') { continuar = FALSE; } } } if (opcao == 2) { system("cls"); printf("Qual o matricula do aluno q você deseja excluir?\n"); scanf("%d",&atual.matricula); int cont; for (cont = 0; cont < quantidadeUsada; cont++) { if (atual.matricula = turma[quantidadeUsada].matricula) { // encontrou o aluno printf("\nNome: %s",turma[quantidadeUsada].nome); printf("\nMatricula: %d",turma[quantidadeUsada].matricula); //nao vai perguntar se deseja excluir? printf("\nDeseja realmente Excluir ? S/N"); char resp; scanf("%c",&resp); fflush(stdin); // nao vai excluir ? getch(); if (resp == 'S' || resp == 's') { turma[quantidadeUsada] = atual; printf("\nExclusao feita com sucesso\n"); quantidadeUsada--; turma[quantidadeUsada] = atual; } else { if (resp == 'N' || resp == 'n') { printf("Exclusao cancelada!\n"); } } } } } if (opcao == 3) { system("cls"); printf("\nAluno"); printf("-------------------------------"); printf("Matricula"); printf("---------------------------------\n\n"); int linhas = 1; for (i = 0; i < quantidadeUsada; i++) { if (turma.excluido != 1) { printf("%s",turma.nome); printf("\t\t\t\t\t%d\n",turma.matricula); linhas++; } if (linhas % 10 == 0) { // Imprimiu 10 linhas // Limpa a tela depois de esperar para imprimir uma nova pagina do relatorio... getch(); system("cls"); printf("\nAluno"); printf("----------------------"); printf("Matricula"); printf("---------------------------------\n\n"); linhas = 1; } } printf("\n\nListagem impressa..."); getch(); } if (opcao == 4) { system("cls"); printf("Digite sua matricula para podemos lançar a nota"); scanf("%d", &atual.matricula); printf("Digite sua nota "); scanf("%d", &atual.nota1); printf("Digite sua nota "); scanf("%d", &atual.nota2); } } } obs : a opção 2 não esta dando certo e a 4 ainda não sei como fazer, preciso de um help
  12. Aluno

    @devair1010Consegue fazer a opção 2 e 4 ?
  13. Aluno

    adicionado 3 minutos depois @devair1010 obrigado, mas os outros você não conseguiu fazer ?
  14. Aluno

    Preciso de ajuda, consegui fazer o programa ate aqui, mas não sei continuar, alguém pode me ajudar ? Ele tem que conter: Incluir aluno a. Solicita a matrícula do aluno; b. Não aceita matrículas repetidas; c. Solicita os demais dados do aluno; d. Confirma se o usuário quer incluir ou cancelar; e. Soma um no total de alunos f. Pergunta se o usuário quer adiconar outro aluno ou voltar para o menu; Excluir aluno a. Solicita a matrícula do aluno; b. Dá uma mensagem de erro caso a matrícula não esteja cadastrada; c. Apresenta dados do aluno; d. Confirma se o usuário quer excluir ou cancelar; e. Exclui o aluno caso o usuário confirme; f. Diminui um no total de alunos; g. Pergunta se o usuário quer excluir outro aluno ou voltar para o menu; Listar alunos a. Apresenta um relatório ordenado por média (do menor para o maior) b. Aguarda o usuário pressionar uma tecla para ir para a próxima página c. Após a última página volta para o menu Observações: a) A estrutura para armazenar os alunos deve ser uma struct b ) A coleção de alunos deve ser armazenado em um array de no máximo 100 alunos c) O sistema deve controlar para não passar do número máximo (100) d) Usar gotoxy - e tabela ASCII #include<stdio.h> #include<string.h> #include <stdlib.h> #include <conio.h> #define SAIR 5 #define TAMANHO 100 #define CARACTERES_NO_NOME 30 #define TURMA_VAZIA 0 #define TRUE 1 #define FALSE 0 typedef struct alunos { int matricula; char nome [CARACTERES_NO_NOME]; float nota1, nota2, media; } aluno; int main (){ int matricula; char nome [CARACTERES_NO_NOME]; float nota1, nota2, media; int opcao, quantidadeDeAlunosNaTurma=0, quantidadeUsada = TURMA_VAZIA; aluno turma [TAMANHO]; printf("\t\t\t**********************\n"); printf("\t\t\t CONFIGURAR O SISTEMA\n"); printf("\t\t\t**********************\n"); printf("Digite a quantidade de alunos na turma "); scanf("%d",&quantidadeDeAlunosNaTurma); printf("\t\t\t**********************\n"); while(opcao!= SAIR){ system("cls"); printf("\t**********************************************************\n"); if(quantidadeUsada == TURMA_VAZIA) { printf("\t\t\t\A turma esta vazia\n"); } if(quantidadeUsada == TAMANHO ) { printf("\t\t\t\A turma esta lotada\n"); } if(quantidadeUsada != TAMANHO && quantidadeUsada != TURMA_VAZIA ) { printf("\t\t\t\A turma esta com %d alunos\n",quantidadeUsada); } printf("\t\**********************************************************\n\n"); printf("\t\t\t********************\n"); printf("\t\t\t\tMENU\n"); printf("\t\t\t********************\n"); printf("\t\t\t 1-Incluir aluno\n\n"); printf("\t\t\t 2-Excluir aluno\n\n"); printf("\t\t\t 3-Listar alunos \n\n"); printf("\t\t\t 4-Lançar notas\n\n"); printf("\t\t\t 5-Sair\n"); printf("\t\t\t**********************\n"); scanf("%d",&opcao); fflush(stdin); if(opcao==1){ system("cls"); int continuar = TRUE; while(quantidadeUsada < quantidadeDeAlunosNaTurma /* && continuar == TRUE */) { aluno atual; printf("\nDigite um nome\n "); fgets(atual.nome, 30, stdin); fflush(stdin); // Solicitar os demais dados do aluno printf("\nDigite sua matricula\n "); scanf("%d",&matricula); fflush(stdin); // Colocar o if perguntando se o usuário realmente deseja incluir printf("\nDeseja realmente Incluir? Sim Nao:"); scanf("%s",&atual.nome); char resp[5]; if ( ( resp == "Sim" ) || ( resp == "sim" ) ){ turma[quantidadeUsada ] = atual; printf("\nInclusao feita com sucesso\n"); } else { if ( ( resp == "Não" ) || ( resp == "não" ) ) { printf("Inclusao cancelada!\n"); } } quantidadeUsada++; turma[quantidadeUsada ] = atual; // Perguntar para o usuário se ele deseja incluir mais alunos na turma continuar = FALSE; } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×