UTNianos

Versión completa: ayuda ejercicio programacion c++ con estructuras y pòrts INFO 1
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
HOLA QUE TAL GENTE TENGO UN PROBLEMA CON UN EJERCICIO QUE LO SAQUE DEL FORO Y CUANDO LE DOY COMPILAR ME TIRA UN ERROR . POR LO QUE VEO EL PROGRAMA ESTA BIEN PERO LO QUE NO SE ES SI LE FALTA AGREGAR ALGUNA LIBRETIA PARA QUE COMPILE , SI ALGUNO ME PUEDE AYUDAR SE LO AGRADESCO 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 ;
}
}
}
Ehm...podrías pasar cuál es el error y en qué linea te lo tira así es más rápido ver qué pasa.
P.D: No escribas en mayúsculas D: D: D:
importante aprender a ver los errores y los warning, escribi el error y en que línea, leee todo este código y sin tabular es difícil encontrarle algo.
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;
}
}
}
Hay todo un mundo de razones por las que algo puede "no compilar". Ya te dijeron que digas qué error te da y en qué línea, sería bueno que lo hagas.
URLs de referencia