20-01-2016, 21:40
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 ;
}
}
}
#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 ;
}
}
}