elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Errores sencillos en TP final
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Errores sencillos en TP final  (Leído 1,602 veces)
n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
Errores sencillos en TP final
« en: 13 Octubre 2016, 20:34 pm »

Buenas, vengo con dos errores, se trata de un programa de archivos secuenciales. En este caso los errores lo tengo en la parte de altas de "alumnos", donde tengo que ingresar sus datos a través de un registro y almacenarlos en un archivo.

Primer problema, sucede cuando doy opciones de las ramas de secundarios del alumno ingresante, le doy 3 opciones al usuario con un sub-menu sencillo que entra a un switch con un entero. El problema surge cuando se elige la rama Cs Sociales (opcion 2), ya qué no solo se guarda en el campo rama "Cs Sociales" sino que además le agrega al final el nombre del establecimiento que cómo verán lo pido abajo, les dejo el código y la salida.

Código:
printf("Informacion acerca del titulo secundario");
    fflush(stdin);
    printf("\nIngrese la rama de estudio\n\t1)Tecnico\n\t2)Cs Sociales\n\t3)Comercial\n\t\tOpcion: ");
    scanf("%d",&rama);
    while(rama<1 || rama>3){
        printf("Opcion incorrecta, vuelva a ingresar el numero segun el menu\n");
        printf("\t1)Tecnico\n\t2)Cs Sociales\n\n3)Comercial\n\t\tOpcion: ");
        scanf("%d", &rama);
    }
    switch(rama){
        case 1: strcpy(a.college.rama,"Tecnico"); break;
        case 2: strcpy(a.college.rama,"CsSociales"); break;
        case 3: strcpy(a.college.rama,"Comercial"); break;}
    printf("\nIngrese el establecimiento donde se obtuvo: ");
    fflush(stdin);
    scanf("%[^\n]",&a.college.establecimiento);

Salida:

Código:
Rama: CsSocialesSan Andres

Siendo San Andres el nombre del establecimiento ingresado. Esto solo sucede con la opción dos.

Y el segundo error es algo pavo, pero no sé dónde está el error de sintaxis, sucede que al pedir que ingrese el sexo en modo de caracter por "M" o "F", armé una comprobación de que si entran alguna otra letra, devuelve un error. Pero no solo imprime el mensaje de error una sola vez, sino que lo imprime dos veces seguidas y no sé por qué, les dejo la parte del código y su salida.

Código:
printf("\nIngrese el sexo del alumno (M-F): ");
    fflush(stdin);
    scanf("%c",&a.sexo);
    while(a.sexo!='m'&&a.sexo!='M'&&a.sexo!='f'&&a.sexo!='F'){
        printf("\nError, vuelva a ingresar (M\\N): ");
        scanf("%c",&a.sexo);
    } if(a.sexo=='m')a.sexo='M'; if(a.sexo=='f')a.sexo='F';

Salida:

Código:
Ingrese el sexo del alumno (M-F): s

Error, vuelva a ingresar (M/F):
Error, vuelva a ingresar (M/F):

Gracias.


« Última modificación: 14 Octubre 2016, 22:15 pm por n-utz » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Esquemas de audio (Sencillos)
Electrónica
skapunky 6 21,322 Último mensaje 9 Agosto 2007, 15:41 pm
por ElKAtar
Prácticos y sencillos sujetadores para coaxial..
Materiales y equipos
tache 2 3,193 Último mensaje 1 Mayo 2008, 00:23 am
por tache
ejercicios sencillos de herencia
Ejercicios
esp@ 1 3,875 Último mensaje 18 Octubre 2009, 18:14 pm
por h0oke
Resolucion de sistemas de ecuaciones sencillos
Java
Debci 6 7,525 Último mensaje 1 Abril 2010, 15:58 pm
por Debci
Errores en advertencias con cake y errores en mostrar nuevas respuestas.
Sugerencias y dudas sobre el Foro
Littlehorse 4 4,253 Último mensaje 1 Octubre 2010, 16:31 pm
por [D4N93R]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines