Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/03/2010, 21:15
batiguason
 
Fecha de Ingreso: marzo-2010
Mensajes: 10
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Funcion en ANSI C

Ok muchas grácias perdón por contestar apenas y como me dijsite amigo eran los valores de entrada, de echo si era eso ahora me compila y todo pero me gustaria saber si esta correcto o tengo que hacer alguna corrección para mejorarlo, de hecho esta es solo una parte no esta completo mi programa pero me gustaria saber si voy por buen camino

Código:
#include <stdio.h>
#define T 20
struct materia {
 char nom[30];
 float calif;
};
struct alumno {
 char nombre[50];
 int edad;
 char sexo;
 struct materia mat[5];
 char marca;
};
struct alumno alumnos[T];
void insertar () {
 int i=0,ban=0;
 do {
  if (alumnos[i].marca=='0') {
   printf("Dame tu nombre ");
   fpurge(stdin);
   gets(alumnos[i].nombre);
   printf("\nDame tu edad ");
   scanf("%i",&alumnos[i].edad);
   while (alumnos[i].edad<=0) {
    printf("\n tu edad dada no es valida vuelva a ingresarla ");
	scanf("%i",&alumnos[i].edad);
   }
   printf("\nseleccione su sexo m/f ");
   fpurge(stdin);
	  scanf("%c",&alumnos[i].sexo);
   while ((alumnos[i].sexo!='m') && (alumnos[i].sexo!='f')) {
    printf("\nsexo no valido vuelva a insertarlo m/f ");
	   fpurge(stdin);
    scanf("%c",&alumnos[i].sexo);
   }
   alumnos[i].marca='1';
   ban=1;
  }
  if (i==T-1) {
	  printf("\nNo tengo casillas vacias elimine alguna");
	  ban=1;
  }
  i++;
 }
 while(ban!=1);
}
main () {
	int w;
	for (w=0;w<T;w++)
		alumnos[w].marca='0';
	insertar ();
	printf("\n %s \n %i \n %c",alumnos[0].nombre,alumnos[0].edad,alumnos[0].sexo);
	return 0;
}