Código
#include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> struct Alumno{ char *nombre; int matricula; int id_Materias[4]; }; int matricula = 1; typedef struct Alumno ALUMNO; int validate(char *opcion, int op); //Opcion 1 Valida digitos, Opcion 2 Valida chars void add_Alumno(ALUMNO *); void print_Alumno(ALUMNO *); int main(){ ALUMNO alumno; add_Alumno(&alumno); print_Alumno(&alumno); return 0; } void add_Alumno(ALUMNO *alumno){ int pass = 0; char *opcion; int flag = 0; int i = 0; int cont_Materias = 0; for(i=0; i<6; i++){ alumno->id_Materias[i] = 0; } do{ pass = validate(opcion, 2); }while(pass != 1); alumno->nombre = opcion; alumno->matricula = matricula; do{ do{ do{ pass = validate(opcion, 1); }while(pass != 1); }while(pass<1 || pass>6); flag = 0; for(i=0; i<6; i++){ if(alumno->id_Materias[i] == pass){ flag = 1; break; } } if(flag != 1) alumno->id_Materias[cont_Materias] = pass; }while(flag != 1); } void set_Name_Alumno(ALUMNO *alumno){ print_Alumno(alumno); int pass = 0; char *opcion; do{ pass = validate(opcion, 2); }while(pass != 1); alumno->nombre = opcion; } void print_Alumno(ALUMNO *alumno){ } int validate(char *opcion, int op){ int i = 0; for(i=0; i<strlen(opcion); i++){ return 0; } return 0; } } return 1; }
Mod: Los códigos deben ir en etiquetas GeSHi