Mensaje: #4
RE: ayuda ejercicio programacion c++ con estructuras y pòrts INFO 1
Hola compañeros , aca le mando de nuevo sin la tavulacion , si pueden revisarlo porfavor gracias.
el programa me lo paso un profresor , el tema es que no me compila y no entiendo por que ,si serian tan amables de ayudarme gracias
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 16
struct FECHA{
int ANIO;
char DIA;
char MES;
};
struct ALUMNO{
char NOM[20];
char SEX;
struct FECHA NAC;
int NOTA[4];
float PROM;
};
void GENERAR(struct ALUMNO [] , int);
void MIRAR(struct ALUMNO [] , int);
void MIRAR2(struct ALUMNO [] , int);
void ORDENAR(struct ALUMNO [] , int);
void ORDENAR1(struct ALUMNO [] , int);
void ORDENAR2(struct ALUMNO [] , int);
void main()
{
struct ALUMNO VEC[MAX];
clrscr();
GENERAR(VEC,MAX);
MIRAR(VEC,MAX);
ORDENAR(VEC,MAX);
MIRAR(VEC,MAX);
ORDENAR1(VEC,MAX);
MIRAR(VEC,MAX);
ORDENAR2(VEC,MAX);
MIRAR(VEC,MAX);
MIRAR2(VEC,MAX);
printf("\n\n FIN DEL PROGRAMA");
getch();
}
void GENERAR( struct ALUMNO V[] ,int N)
{
char NOMBRE[][20]={"PEPE","LOLA","PACO","ANDRES",
"MONICA","MARINA","CASIMIRO","BETO",
"ANSELMO","FLORENCIA","THELMA","FEDERICO",
"LAURA","ANA","CATALINA","JUAN"};
char SEXO[]={'M','F','M','M','F','F','M','M',
'M','F','F','M','F','F','F','M'};
int I,J;
randomize();
for(I=0;I<N;I++){
strcpy(V[I].NOM,NOMBRE[I]);
V[I].SEX=SEXO[I];
V[I].NAC.DIA=1+random(28);
V[I].NAC.MES=1+random(12);
V[I].NAC.ANIO=1969+random(20);
for(J=0;J<4;J++)
V[I].NOTA[J]=2+random(9);
V[I].PROM=0.0;
for(J=0;J<4;J++)
V[I].PROM=V[I].PROM+V[I].NOTA[J];
V[I].PROM=V[I].PROM/4;
}
}
void MIRAR( struct ALUMNO V[] ,int N)
{
int I,J;
printf("\n\n\t%-15s%8s %10s ", "NOMBRE","SEXO" , "NACIMIENTO");
printf("%16s%10s\n" , " NOTAS ","PROMEDIO");
for(I=0;I<N;I++){
printf (" \n\t%-15s%8c %02d %02d %4d ",V[I].NOM,
V[I].SEX,V[I].NAC.DIA,V[I].NAC.MES,V[I].NAC.ANIO);
for(J=0;J<4;J++)
printf("%4d",V[I].NOTA[J]);
printf("%10.2f",V[I].PROM);
}
getch();
}
void MIRAR2( struct ALUMNO V[],int N)
{
int I,J;
printf ("\n\n\%10s ", "PAREJAS" );
for(I=0;I<8;I++){
printf(" \n\t%-15s -%15s \n ", V[I].NOM,V[15-I].NOM);
}
getch();
}
void ORDENAR(struct ALUMNO V[] , int N)
{
int I,J;
struct ALUMNO AUX;
for(I=0;I<N-1;I++)
for(J=0;J<N-I-1;J++)
if(V[J].PROM<V[J+1].PROM){
AUX=V[J];
V[J]=V[J+1];
V[J+1]=AUX;
}
}
void ORDENAR1(struct ALUMNO V[] ,int N)
{
int I,J;
struct ALUMNO AUX;
for(I=0;I<N-1;I++)
for ( J=0;J<N-I-1;J++)
if(V[J].SEX>V[J+1].SEX||V[J].SEX==V[J+1].SEX){
AUX=V[J];
V[J]=V[J+1];
V[J+1]=AUX;
}
}
void ORDENAR2 ( struct ALUMNO V[] , int N)
{
int I,J;
struct ALUMNO AUX ;
for(I=0;I<N-1;I++){
for(J=0;J<8-I-1;J++)
if(V[J].PROM>V[J+1].PROM){
AUX=V[J];
V[J]=V[J+1];
V[J+1]=AUX;
}
for(J=8;J<N-I-1;J++)
if (V[J].PROM>V[J+1].PROM ){
AUX=V[J] ;
V[J]=V[J+1];
V[J+1]=AUX;
}
}
}
|