#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
char nome[10];
char sobrenome[20];
char nota1[4], nota2[4];
}aluno;
int menu(){
int op;
printf("\n");
printf("\n[1] --> Cadastrar aluno e notas\n");
printf("[2] --> Ver lista de alunos\n");
printf("[0] --> Sair do programa\n\n");
printf("Digite uma das opcoes acima: ");
scanf("%d", &op);
printf("\n");
return op;
}
aluno cadastro(){
aluno y;
printf("\nNome: "); scanf("%s", &y.nome);
printf("\nSobrenome: "); scanf("%s", &y.sobrenome);
printf("\nPrimeira nota: "); scanf("%s", &y.nota1);
printf("\nSegunda nota: "); scanf("%s", &y.nota2);
printf("\n");
return y;
}
void visualizar_cadastro(aluno y[100],int n){
int j;
float media=0, nota1=0, nota2=0;
for(j=0; j<n; j++){
printf("Nome: %s ", y[j].nome);
printf("%s ", y[j].sobrenome);
printf("Notas: %s , ", y[j].nota1);
printf("%s ", y[j].nota2);
}
media = (nota1 + nota2)/2;
printf("Media: %f\n",& media);
printf("\n");
}
int main(){
int op, i, qtd;
aluno x[100];
aluno x1;
qtd=0;
i=0;
while (op != 0){
printf("\n");
op = menu();
switch(op){
case 1 :
x[qtd] = cadastro();
qtd++;
break;
case 2:
visualizar_cadastro(x,qtd);
break;
}
}
system("pause");
return 0;
}
Não entendo porque a media não esta sendo feita neste programa.... e não estou conseguindo ordenar este programa pois preciso colocar em ordem crescente de notas.... alguém pode me ajudar...
Pergunta
Baiano
Aqui esta o programa...
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct{ char nome[10]; char sobrenome[20]; char nota1[4], nota2[4]; }aluno; int menu(){ int op; printf("\n"); printf("\n[1] --> Cadastrar aluno e notas\n"); printf("[2] --> Ver lista de alunos\n"); printf("[0] --> Sair do programa\n\n"); printf("Digite uma das opcoes acima: "); scanf("%d", &op); printf("\n"); return op; } aluno cadastro(){ aluno y; printf("\nNome: "); scanf("%s", &y.nome); printf("\nSobrenome: "); scanf("%s", &y.sobrenome); printf("\nPrimeira nota: "); scanf("%s", &y.nota1); printf("\nSegunda nota: "); scanf("%s", &y.nota2); printf("\n"); return y; } void visualizar_cadastro(aluno y[100],int n){ int j; float media=0, nota1=0, nota2=0; for(j=0; j<n; j++){ printf("Nome: %s ", y[j].nome); printf("%s ", y[j].sobrenome); printf("Notas: %s , ", y[j].nota1); printf("%s ", y[j].nota2); } media = (nota1 + nota2)/2; printf("Media: %f\n",& media); printf("\n"); } int main(){ int op, i, qtd; aluno x[100]; aluno x1; qtd=0; i=0; while (op != 0){ printf("\n"); op = menu(); switch(op){ case 1 : x[qtd] = cadastro(); qtd++; break; case 2: visualizar_cadastro(x,qtd); break; } } system("pause"); return 0; }Não entendo porque a media não esta sendo feita neste programa.... e não estou conseguindo ordenar este programa pois preciso colocar em ordem crescente de notas.... alguém pode me ajudar...
Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.