He hecho este código:
Código C:
Ver original
/*Una agenda que maneje los siguientes datos: nombre, dirección, tlf móvil, email, y día, mes y año de nacimiento (estos tres últimos datos deberán ser números enteros cortos). Deberá tener capacidad para 100 fichas. Se deberá poder añadir un dato nuevo, visualizar los nombres de las fichas existentes, o mostrar todos los datos de una persona (se preguntará al usuario cual es el nombre de esa persona que quiere visualizar). Al empezar el programa, leerá los datos de un fichero llamado “agenda.dat” (si existe). Al terminar, guardará todos los datos en ese fichero.*/ #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { struct { char nombre[10]; char direccion[15]; int movil; char email[20]; short int dia, mes, ano; }datos[100]; char lineas[500],comprobar[10]; FILE* fichero; int opcion,posicion,tamano,i,j,aux; if(fichero != NULL) { { } /*posicion actual*/ /* final del fichero */ /* total de lineas */ i = tamano / sizeof(datos); do { do { switch(opcion) { case 1: i++; break; case 2: for(j=0;j<=i;j++) { } break; case 3: for(j=0;j<=i;j++) { { } } break; case 4: break; default: } }while(opcion<1||opcion>4); }while(opcion!=4); } aux=i; for(i=0;i<=aux;i++) { } return 0; }
El problema es en el switch, en el case 1.
Ahí lo que quiero hacer es pedir los datos. Pues, al compilar, en la consola, elijo la opción 1. Directamente me sale "Introduce un nombre: Introduce una direccion: ". Y ahí se detiene para que introduzca la dirección.
¿Qué puedo hacer para que pare en "Introduzca un nombre"?
También me gustaría saber si os parece que el problema está bien planteado, y que si una vez solucionado el error que os acabo de exponer funcionará el programa adecuadamente, o falta algo por hacer.
Gracias.
Saludos.