Exercicio de programação
#include<stdlib.h>
#include<string.h>
int busca(char m[], int n, char mat[][4], float CR[], char nome[][26], float notas[][3])
{
int i;
for (i = 0; i < n ; i++) { if (strcmp(m,mat[i])==0) return i; } return -1;
}
void menu(int *opcao)
{
while(1) { printf("\n\nMenu de opcoes:\n\n"); printf("1. inclusao de um aluno\n"); printf("2. listagem geral\n"); printf("3. consulta um aluno\n"); printf("4. fim\n\n"); printf("Entre com sua opcao:\n"); scanf("%d",opcao); if ((*opcao >= 1) && (*opcao <= 4)) break; else printf("ERRO: opcao invalida\n"); }
}
void inclui_aluno (int *n, char mat[][4], float CR[], char nome[][26], float notas[][3])
{
char m[4]; char l[26]; float cr,p1,p2,p3;
if (*n < 20) { printf("Entre a matricula do novo aluno:"); scanf(" %3[^\n]",m); if (busca(m,*n,mat,CR,nome,notas)!=-1) { printf("ERRO: aluno ja matriculado.\n"); return; } strcpy(mat[*n],m); printf("Entre o CR do novo aluno:"); scanf("%f",&cr); CR[*n] = cr; printf("Entre o nome do novo aluno:"); scanf(" %25[^\n]",l); strcpy(nome[*n],l); printf("Entre as notas de P1, P2 e P3 do novo aluno:"); scanf("%f %f %f",&p1,&p2,&p3); notas[*n][0] = p1; notas[*n][1] = p2; notas[*n][2] = p3; (*n)++; } else printf("ERRO: turma lotada!\n");
}
void listagem_geral(int n, char mat[][4], float CR[], char nome[][26], float notas[][3])
{
int i;
printf(" Mat\t Nome \t CR \t P1 \t P2 \t P3 \n"); for (i = 0 ; i < n ; i++) { printf("%2d: %3s\t %-25s\t %4.1f\t %4.1f\t %4.1f\t %4.1f\n",i+1,mat[i],nome[i],CR[i],notas[i][0],notas[i][1],notas[i][2]); } printf("\n");
}
void consulta_aluno(int n, char mat[][4], float CR[], char nome[][26], float notas[][3])
{
char m[4]; int i;
printf("Entre com a matricula do aluno:"); scanf(" %3[^\n]",m);