#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Aluno{
int matricula;
float p1;
float p2;
float p3;
float t1;
float t2;
} ;
void aloca( int N) {
struct Aluno * pAluno;
pAluno
= ( struct Aluno
* ) malloc ( sizeof ( struct Aluno
) * N
) ;
if ( pAluno== NULL) {
printf ( "Memoria INSUFICIENTE" ) ; }
int i;
for ( i= 0 ; i< N; i++ ) {
printf ( " Digite a matricula do aluno %d: " , i
) ; scanf ( "%d" , & pAluno
[ i
] .
matricula ) ; printf ( " Digite a nota da prova 1 do aluno %d: " , i
) ; scanf ( "%f" , & pAluno
[ i
] .
p1 ) ; printf ( "\n Digite a nota da prova 2 do aluno %d: " , i
) ; scanf ( "%f" , & pAluno
[ i
] .
p2 ) ; printf ( "\n Digite a nota da prova 3 do aluno %d: " , i
) ; scanf ( "%f" , & pAluno
[ i
] .
p3 ) ; printf ( "\n Digite a nota do trabalho 1 do aluno %d: " , i
) ; scanf ( "%f" , & pAluno
[ i
] .
t1 ) ; printf ( "\n Digite a nota do trabalho 2 do aluno %d: " , i
) ; scanf ( "%f" , & pAluno
[ i
] .
t2 ) ; }
for ( i= 0 ; i< N; i++ ) {
printf ( "matricula: %d prova 1: %f prova 2: %f prova 3: %f trabalho 1: %f trabalho 2: %f\n \n " , pAluno[ i] .matricula , pAluno[ i] .p1 , pAluno[ i] .p2 , pAluno[ i] .p3 , pAluno[ i] .t1 , pAluno[ i] .t2 ) ;
}
}
int main ( ) {
// não precisa dessa variável
// struct Aluno daluno;
int N;
printf ( "Digite a quantidade de N alunos: " ) ; aloca ( N) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RydWN0IEFsdW5vewoKICAgIGludCBtYXRyaWN1bGE7CiAgICBmbG9hdCBwMTsKICAgIGZsb2F0IHAyOwogICAgZmxvYXQgcDM7CiAgICBmbG9hdCB0MTsKICAgIGZsb2F0IHQyOwp9IDsKCnZvaWQgYWxvY2EoaW50IE4pewogICAgc3RydWN0IEFsdW5vICpwQWx1bm87CiAgICBwQWx1bm8gPSAoc3RydWN0IEFsdW5vICopIG1hbGxvYyhzaXplb2Yoc3RydWN0IEFsdW5vKSAqIE4pOwoKICAgIGlmIChwQWx1bm89PU5VTEwpewogICAgICAgIHByaW50ZigiTWVtb3JpYSBJTlNVRklDSUVOVEUiKTsKICAgICAgICBleGl0KDApOwogICAgfQogICAgaW50IGk7CiAgICBmb3IoaT0wOyBpPE47IGkrKykgewogICAgICAgIHByaW50ZigiIERpZ2l0ZSBhIG1hdHJpY3VsYSBkbyBhbHVubyAlZDogIixpKTsKICAgICAgICBzY2FuZigiJWQiLCAmcEFsdW5vW2ldLm1hdHJpY3VsYSk7CiAgICAgICAgcHJpbnRmKCIgRGlnaXRlIGEgbm90YSBkYSBwcm92YSAxIGRvIGFsdW5vICVkOiAiLGkpOwogICAgICAgIHNjYW5mKCIlZiIsICZwQWx1bm9baV0ucDEpOwogICAgICAgIHByaW50ZigiXG4gRGlnaXRlIGEgbm90YSBkYSBwcm92YSAyIGRvIGFsdW5vICVkOiAiLGkpOwogICAgICAgIHNjYW5mKCIlZiIsICZwQWx1bm9baV0ucDIpOwogICAgICAgIHByaW50ZigiXG4gRGlnaXRlIGEgbm90YSBkYSBwcm92YSAzIGRvIGFsdW5vICVkOiAiLGkpOwogICAgICAgIHNjYW5mKCIlZiIsICZwQWx1bm9baV0ucDMpOwogICAgICAgIHByaW50ZigiXG4gRGlnaXRlIGEgbm90YSBkbyB0cmFiYWxobyAxIGRvIGFsdW5vICVkOiAiLGkpOwogICAgICAgIHNjYW5mKCIlZiIsICZwQWx1bm9baV0udDEpOwogICAgICAgIHByaW50ZigiXG4gRGlnaXRlIGEgbm90YSBkbyB0cmFiYWxobyAyIGRvIGFsdW5vICVkOiAiLGkpOwogICAgICAgIHNjYW5mKCIlZiIsICZwQWx1bm9baV0udDIpOwogICAgfQoKICAgIGZvcihpPTA7IGk8TjsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJtYXRyaWN1bGE6ICVkIHByb3ZhIDE6ICVmIHByb3ZhIDI6ICVmIHByb3ZhIDM6ICVmIHRyYWJhbGhvIDE6ICVmIHRyYWJhbGhvIDI6ICVmXG5cbiIsCiAgICAgICAgcEFsdW5vW2ldLm1hdHJpY3VsYSwgcEFsdW5vW2ldLnAxLCBwQWx1bm9baV0ucDIsIHBBbHVub1tpXS5wMywgcEFsdW5vW2ldLnQxLCBwQWx1bm9baV0udDIpOwogICAgfQogICAgZnJlZShwQWx1bm8pOwp9CgppbnQgbWFpbiAoKXsKCiAgICAvLyBuw6NvIHByZWNpc2EgZGVzc2EgdmFyacOhdmVsCiAgICAvLyBzdHJ1Y3QgQWx1bm8gZGFsdW5vOwogICAgaW50IE47CgogICAgcHJpbnRmKCJEaWdpdGUgYSBxdWFudGlkYWRlIGRlIE4gYWx1bm9zOiAiKTsKICAgIHNjYW5mKCIlZCIsJk4pOwogICAgYWxvY2EgKE4pOwpyZXR1cm4gMDsKfQ==