Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{
- int dia;
- int mes;
- int anio;
- }TFecha;
- typedef struct{
- int dni;
- char apyn[30];
- char domicilio[30];
- char sexo;
- TFecha nac;
- int cma;
- float prom;
- } TAlumno;
- int ValidarDni ();
- char ValidarSexo();
- int ValidarMaterias();
- float ValidarProm();
- void IngresoDeDatos(TAlumno[], int);
- int EsFechaValida (int, int, int);
- int bisiesto (int);
- int cantidadDiasDelMes(int, int);
- void burbuja2(TAlumno[], int);
- void MostrarEstructura (TAlumno[], int);
- int main()
- {
- return 0;
- }
- int ValidarDni(){
- int d, x;
- do{printf ("Ingrese DNI: ");
- scanf ("%d", &d);
- if (d>=0 && d<=99999999){
- x=1;
- } else{x=0;}}while (x=0);
- return d;
- }
- char ValidarSexo(){
- char s; int x;
- do{printf ("Ingrese sexo (F/M): ");
- scanf ("%c", &s);
- if (s=='F'||s=='M'){
- x=1;
- }else {x=0;}
- }while(x=0);
- return s;
- }
- int ValidarMaterias(){
- int m,x;
- do{printf("Ingrese cantidad de materias aprobadas: ");
- scanf ("%d", &m);
- if (m>=0){
- x=1;
- }else {x=0;}
- }while (x=0);
- return m;
- }
- float ValidarProm(){
- float prom;
- int x;
- do{
- printf ("Ingrese promedio: ");
- scanf ("%f", &prom);
- if (prom>0){
- x=1;
- }else{x=0;}
- } while (x=0);
- return prom;
- }
- void IngresoDeDatos(TAlumno alumno[], int ce){
- int i=0,d,m,a,dni;
- char nombre[30], domicilio[30];
- do{
- dni=ValidarDni()
- alumno[i].dni=dni;
- printf ("Ingrese apellido y nombre: ");
- gets (nombre);
- alumno[i].apyn=nombre;
- printf ("Ingrese domicilio: ");
- gets (domicilio);
- alumno[i].domicilio=domicilio;
- alumno[i].sexo=ValidarSexo();
- printf ("Ingrese dia, mes y anio separados por un espacio: ");
- scanf ("%d", &d);
- scanf ("%d", &m);
- scanf ("%d", &a);
- if (EsFechaValida(d,m,a)==1){
- alumno[i].nac.dia=d;
- alumno[i].nac.mes=m;
- alumno[i].nac.anio=a;
- alumno[i].prom=ValidarProm();
- i++;
- }else {printf ("Fecha invalida");}
- }while (i<ce && dni!=0);
- }
- int esFechaValida(int d,int m, int a)
- { int r;
- r=0;
- if (a>=1950 && a<= 2018)
- {
- if (m>=1 && m<=12)
- {
- if(d>=1 && d<=cantidadDiasDelMes(m,a))
- {
- r=1;
- }
- }
- } return r;
- }
- int cantidadDiasDelMes(int m, int a)
- { int cdm;
- if (m==4 || m==6 || m==9 || m==11)
- {
- cdm=30;
- }
- else
- {
- if (m==2)
- {
- cdm=28+bisiesto(a);
- }
- else
- {
- cdm=31;
- }
- }
- }
- int bisiesto(int a)
- {
- if (a%4==0 && a%100!=0 || a%400==0)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- void burbuja2(TAlumno alumno[], int a){
- int i=0, hubocambio, j;
- TAlumno aux;
- do {
- hubocambio=0;
- for (j=1; j<a-1; j++){
- if (alumno[j-1].prom < alumno[j].prom){
- aux=alumno[j-1];
- alumno[j-1]=alumno[j];
- alumno[j]=aux;
- hubocambio=1;
- }
- }
- i++;
- } while(hubocambio);
- }
- void MostrarEstructura (TAlumno alumno[], int ce){
- printf ("DNI \t\t NOMBRE \t\t DOMICILIO \t\t SEXO \t\t NACIMIENTO \t\t PROMEDIO\n");
- for (int i=0; i<ce; i++){
- }
- }
Add Comment
Please, Sign In to add comment