Ir ao conteúdo
  • Cadastre-se

Lucas da Veiga Camargo

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. O engraçado é que simplesmente mudei as variaveis int para float e resolveu, mas vou manter o que tu me disse em mente no futuro caso desse problema se repitir. Obrigado
  2. #include <stdio.h> #include <locale.h> #include <string.h> #include <ctype.h> #include<stdlib.h> #define QTD 3 typedef struct{ char nome[100]; char sexo; int matricula; int notap1; int notap2; int notatrab; float media; }aluno; void cadastro(aluno pDados[QTD],int &pPosicao); void exibir(aluno pDados[QTD],int &pPosicao); void excluir(aluno pDados[QTD],int &pPosicao); void procurar(aluno pDados[QTD],int &pPosicao); main(){ setlocale(LC_ALL,"portuguese"); int posicao=0; char resp; aluno dados[QTD]; do{ system("cls"); printf("\n\t\t===>Menu de opções<==="); printf("\n1- Cadastrar Aluno"); printf("\n2- Exibir Cadastro"); printf("\n3- Excluir Aluno"); printf("\n4- Procurar por Nome"); printf("\n5- Lançar Notas"); printf("\n6- Relatório por Genêro"); printf("\n7- Relatório Aprovação"); printf("\nS- Sair do Programa"); printf("\nDigite o número correspondente a ação desejada => "); fflush(stdin); scanf("%c",&resp); switch(resp){ case '1': cadastro(dados,posicao); break; case '2': exibir(dados,posicao); break; case '3': excluir(dados,posicao); break; case '4': procurar(dados,posicao); } }while(toupper(resp!='s')); } void cadastro(aluno pDados[QTD],int &pPosicao){ int matri=0; system("cls"); printf("\nDigite o nome do aluno: "); fflush(stdin); gets(pDados[pPosicao].nome); printf("\nDigite M para sexo masculino ou F para feminino: "); scanf("%c",&pDados[pPosicao].sexo); pDados[pPosicao].sexo = toupper(pDados[pPosicao].sexo); matri++; pDados[pPosicao].matricula=matri+100; pPosicao++; pDados[pPosicao].notap1=0; pDados[pPosicao].notap2=0; pDados[pPosicao].notatrab=0; pDados[pPosicao].media=0; fflush(stdin); } void exibir(aluno pDados[QTD],int &pPosicao){ int x; system("cls"); for(x=0;x<pPosicao;x++){ printf("\n\nNome: %s",pDados[x].nome); printf("\nSexo: %c",pDados[x].sexo); printf("\nMatrícula: %i\n\n",pDados[x].matricula); } system("\npause"); } void excluir(aluno pDados[QTD],int &pPosicao){ int remove,x; system("cls"); printf("\nDigite a mátricula do aluno que deseja excluir: "); scanf("%i",&remove); for(x=0;x<pPosicao;x++){ if(pDados[x].matricula==remove){ pDados[x].matricula=pDados[x+1].matricula; pDados[x+1].matricula=remove; strcpy(pDados[x].nome,pDados[x+1].nome); pDados[x].sexo=pDados[x+1].sexo; pDados[x].notap1=pDados[x+1].notap1; pDados[x].notap2=pDados[x+1].notap2; pDados[x].notatrab=pDados[x+1].notatrab; pDados[x].media=pDados[x+1].media; pPosicao--; } } } void procurar(aluno pDados[QTD],int &pPosicao){ char procurar[100]; int x,cont=0; system("cls"); printf("\nDigite o nome do aluno que deseja procurar: "); fflush(stdin); gets(procurar); for (x=0;x<pPosicao;x++){ if(strcmp(pDados[x].nome,procurar)==0){ fflush(stdin); printf("\n\nNome: %s",pDados[x].nome); printf("\nSexo: %c",pDados[x].sexo); printf("\nMatrícula: %i",pDados[x].matricula); printf("\nNota P1: %i",pDados[x].notap1); printf("\nNota P2: %i",pDados[x].notap2); printf("\nNota Trabalho: %i",pDados[x].notatrab); printf("\nNota media: %i\n\n",pDados[x].media); cont++; } if(cont<1){ system("cls"); printf("NOME NÃO ENCONTRADO\n\n"); system("pause"); } } system("pause"); } estou no primeiro semestre de ciência da computação e estava fazendo um exercício e notei um problema que não consigo resolver.Enquanto estava fazendo o código notei que quando tento chamar certas variáveis numa struct o programa retorna números aleatórios( aparentemente aleatórios). Deve ser um problema de iniciante mas alguém poderia me ajudar? o problema no caso é quando tento chamar as variaveis notap2 e notatrabalho. Se alguém puder me ajudar agradeço muito.

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...