Olá pessoal, alguém consegue arrumar esse código pra mim, pois sempre que lanço as nota e o nome dos alunos eu precisava que ele mostrasse a média e se o aluno reprovou ou não, só que não consigo mostrar a média e também ele não carrega junto a nota de cálculo ficando zerado e dizendo que o aluno foi reprovado. Se alguém souber e poder colaborar, agradeço! #231
void cadastra_nome(char nomes[][40]){
int i = 0;
do{
printf("digite o nome do aluno:");
scanf("%s", nomes[i]);
i++;
system("cls");
}while(i<DIM);
}
void cadastra_notas(float nota_presenca_mat[][DIM],float nota_presenca[][DIM], char nomes[][40])
{
int i,j,k;
for(i=1 ; i<=DIM ; i++)
{
// notas e preseça do aluno em calculo
printf("\nCalculo aluno(a) %s:\n\n",nomes[i-1]);
for(j=1 ; j<=3 ; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença
{
do
{
printf("Nota %d:",j);
scanf("%f",¬a_presenca_mat[i-1][j-1]);
if(nota_presenca_mat[i-1][j-1]<0 || nota_presenca_mat[i-1][j-1]>10)
{
printf("\n\nNota invalida, Digite um valor entre 0 a 10!\n");
}
}while(nota_presenca_mat[i-1][j-1]<0 || nota_presenca_mat[i-1][j-1]>10);
}
for (k=1; k<2; k++)
{
do
{
printf("\n\nDigite a presença nas aulas de calculo: ");
scanf("%f", & nota_presenca[i-1][3-1]);
if(nota_presenca[i-1][3-1]<0 || nota_presenca[i-1][3-1]>100)
{
printf("\n\nPresença invalida, digite um valor entre 0 a 100!\n");
}
}while(nota_presenca[i-1][3-1]<0 || nota_presenca[i-1][3-1]>100);
}
system("cls");
// notas e preseça do aluno em computação
printf("\nComputação aluno(a) %s:\n\n",nomes[i-1]);
for (j=1; j<=3; j++)
{
do
{
printf("Nota %d:",j);
scanf("%f",& nota_presenca[i-1][j-1]);
if(nota_presenca[i-1][j-1]<0 || nota_presenca[i-1][j-1]>10)
{
printf("\n\nNota invalida, Digite um valor entre 0 a 10!\n");
}
}while(nota_presenca[i-1][j-1]<0 || nota_presenca[i-1][j-1]>10);
}
for (k=1; k<2; k++)
{
do
{
printf("\n\nDigite a presença nas aulas de Programacao: ");
scanf("%f", ¬a_presenca[i-1][3-1]);
if(nota_presenca[i-1][3-1]<0 || nota_presenca[i-1][3-1]>100)
{
printf("\n\nPresença invalida, digite um valor entre 0 a 100!\n");
}
}while(nota_presenca[i-1][3-1]<0 || nota_presenca[i-1][3-1]>100);
}
system("cls");
}
}
void edita_notas(float nota_presenca_mat[][DIM],float nota_presenca[][DIM], char nomes[][40])
{
int i,j,k, opcao_aluno, opcao_nota, opcao_materia;
float leitura, novanota;
for(i=1 ; i<=DIM ; i++)
{
for(j=1 ; j<=3; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença
{
printf("%d Nota de Calculo do Aluno %s : %.2f \n",j, nomes[i-1], nota_presenca_mat[i-1][j-1]);
}
printf("Presenca do aluno %s na aula de Calculo: %f \n\n ", nomes[i-1], nota_presenca_mat[i-1][3]);
for(k=1 ; k<=3 ; k++) // As tres primeiras colunas da matriz são as notas a 4 a presença
{
printf("%d Nota de Programacao do Aluno %s : %f \n",k, nomes[i-1], nota_presenca[i-1][k-1]);
}
printf("Presenca do aluno %s na aula de Programacao: %f \n\n", nomes[i-1], nota_presenca[i-1][3]);
}
printf("Para editar uma nota selecione o aluno: \n 1. %s \n 2. %s \n 3. %s \n 4. %s \n", nomes[1], nomes[2], nomes[3], nomes[4]);
scanf("%d", &opcao_aluno);
switch(opcao_aluno){
case 1:
printf("Digite qual materia deseja alterar: \n 1. Calculo \n 2.Programacao \n");
scanf("%d", &opcao_materia);
if(opcao_materia == 1){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca_mat[opcao_aluno-1][opcao_nota-1] = novanota;
}
if(opcao_materia == 2){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
system("cls");
break;
case 2:
printf("Digite qual materia deseja alterar: \n 1. Calculo \n 2.Programacao \n");
scanf("%d", &opcao_materia);
if(opcao_materia == 1){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca_mat[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
if(opcao_materia == 2){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
system("cls");
break;
case 3:
printf("Digite qual materia deseja alterar: \n 1. Calculo \n 2.Programacao \n");
scanf("%d", &opcao_materia);
if(opcao_materia == 1){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca_mat[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
if(opcao_materia == 2){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
system("cls");
break;
case 4:
printf("Digite qual materia deseja alterar: \n 1. Calculo \n 2.Programacao \n");
scanf("%d", &opcao_materia);
if(opcao_materia == 1){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca_mat[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
if(opcao_materia == 2){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
break;
system("cls");
case 5:
printf("Digite qual materia deseja alterar: \n 1. Calculo \n 2.Programacao \n");
scanf("%d", &opcao_materia);
if(opcao_materia == 1){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca_mat[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
system("cls");
if(opcao_materia == 2){
printf("\nDigite qual nota deseja alterar. 1 ,2 ,3 ou 4 (Presenca) : ");
scanf("%d", &opcao_nota);
printf("\nDigite a nota: ");
scanf("%f", &novanota);
nota_presenca[opcao_aluno- 1][opcao_nota - 1] = novanota;
}
system("cls");
break;
}
}
void resultado(float nota_presenca_mat[][DIM],float nota_presenca_qui[][DIM], char nomes[][40]){
float soma=0, media=0;
int i,j,k;
for(i=1 ; i<=DIM ; i++)
{
for(j=1 ; j<=3 ; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença
{
printf("\n%.2f ",nota_presenca_mat[i-1][j-1] >= 70);
soma = nota_presenca_mat[i-1][j-1] + soma;
}
media = soma / 3;
if (media >= 6 && nota_presenca_mat[i-1][3-1] >= 70){
printf("Aluno %s aprovado na materia de Calculo. \n", nomes[i-1]);
}
else{
printf("Aluno %s reprovado na materia de Calculo. \n", nomes[i-1]);
}
for(k=1 ; k<=3 ; k++) // As tres primeiras colunas da matriz são as notas a 4 a presença
{
printf("\n%.2f ",nota_presenca_qui[i-1][k-1] >= 70);
soma = nota_presenca_qui[i-1][k-1] + soma;
}
media = soma / 3;
if (media >= 6 && nota_presenca_qui[i-1][3-1] >= 70){
printf("Aluno %s aprovado na materia de Programacao. \n", nomes[i-1]);
}
else{
printf("Aluno %s reprovado na materia de Programacao. \n", nomes[i-1]);
}
}
}
int menu(){
int opcao;
printf("\n");
printf("\t Menu\n");
printf("\n");
printf("1. Cadastrar nome dos Alunos\n");
printf("2. Cadastrar nota e presença do alunos\n");
printf("3. Gravar em arquivo informações\n");
printf("4. Editar Nota/Presença\n");
printf("5. Mostrar Resultados\n");
printf("6. Sair \n");
include
define DIM 4
include
include
include
void cadastra_nome(char nomes[][40]){ int i = 0; do{ printf("digite o nome do aluno:"); scanf("%s", nomes[i]); i++; system("cls"); }while(i<DIM); }
void cadastra_notas(float nota_presenca_mat[][DIM],float nota_presenca[][DIM], char nomes[][40]) { int i,j,k; for(i=1 ; i<=DIM ; i++) { // notas e preseça do aluno em calculo printf("\nCalculo aluno(a) %s:\n\n",nomes[i-1]); for(j=1 ; j<=3 ; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença { do { printf("Nota %d:",j); scanf("%f",¬a_presenca_mat[i-1][j-1]);
}
void edita_notas(float nota_presenca_mat[][DIM],float nota_presenca[][DIM], char nomes[][40]) { int i,j,k, opcao_aluno, opcao_nota, opcao_materia; float leitura, novanota; for(i=1 ; i<=DIM ; i++) { for(j=1 ; j<=3; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença { printf("%d Nota de Calculo do Aluno %s : %.2f \n",j, nomes[i-1], nota_presenca_mat[i-1][j-1]); } printf("Presenca do aluno %s na aula de Calculo: %f \n\n ", nomes[i-1], nota_presenca_mat[i-1][3]);
}
void resultado(float nota_presenca_mat[][DIM],float nota_presenca_qui[][DIM], char nomes[][40]){ float soma=0, media=0; int i,j,k; for(i=1 ; i<=DIM ; i++) { for(j=1 ; j<=3 ; j++) // As tres primeiras colunas da matriz são as notas a 4 a presença { printf("\n%.2f ",nota_presenca_mat[i-1][j-1] >= 70); soma = nota_presenca_mat[i-1][j-1] + soma;
} media = soma / 3; if (media >= 6 && nota_presenca_mat[i-1][3-1] >= 70){ printf("Aluno %s aprovado na materia de Calculo. \n", nomes[i-1]); } else{ printf("Aluno %s reprovado na materia de Calculo. \n", nomes[i-1]); }
}
int menu(){ int opcao; printf("\n"); printf("\t Menu\n"); printf("\n"); printf("1. Cadastrar nome dos Alunos\n"); printf("2. Cadastrar nota e presença do alunos\n"); printf("3. Gravar em arquivo informações\n"); printf("4. Editar Nota/Presença\n"); printf("5. Mostrar Resultados\n"); printf("6. Sair \n");
}
int main(){ int opcao; char nomes[DIM][40]; float nota_presenca_mat[DIM][DIM], nota_presenca[DIM][DIM];
} }while(opcao != 6);
}