Hola !
cree un programa que muestre un menu.
al seleccionar la opcion 1 me permite ingresar lo que le pido (10 veces) "for"
luego que terminan de pasar las 10 veces el vuelve al menu y si selecciono la opcion 2 el me imprimira todo lo que le escribi.
Ok, el problema es que, cuando en el ingreso deseo que me lea un nombre
no me lo permite
EJEMPLO
for (a=1;a<10;a++)
{
printf("escribe tu nombre: ");
gets (cliente.nombre[a]);
me dice que no puede copiar un valor char to char.
entonces no se que poner.
porque si uso scanf ("%s",&cliente.nombre[a]);
unicamente me lee hasta el primer espacio en blanco y no puedo escribir el nombre entero.
Alguna idea ?
Les dejo el codigo
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct fecha{
int dia[10];
int mes[10];
int ano[10];
};
struct cuenta{
int no_cuenta[10];
char tipo_cuenta[10];
char nombre[80];
float saldo[10];
struct fecha fechapago;
};
struct cuenta cliente;
void main ()
{
int seleccion,a;
inicio:
printf ("\n\n\n\n");
printf ("\t\t//////////////////////////////////////////\n");
printf ("\t\t// Menu //");
printf ("\n\t\t/////////////////////////////////////////\n\n\n");
printf ("\n");
printf ("\t\t 1. Captura de datos\n");
printf ("\t\t 2. Lectura de datos\n");
printf ("\t\t 3. Salir");
printf ("\n\n\t\t Seleccione una Opcion: ");
scanf ("%d",&seleccion);
switch (seleccion)
{
/// OPCIONES
case 1:
goto INGRESO;
break;
case 2:
goto IMPRIMIR;
}
/////////////////////////////////////////////////////////////////
INGRESO:
for (a=1;a<3;a++){
printf ("\n\n\n\n");
printf ("\t\t//////////////////////////////////////////\n");
printf ("\t\t// Registro #:%d //",a);
printf ("\n\t\t/////////////////////////////////////////\n\n\n");
printf ("\t\tIngrese el Numero de la Cuenta: ");
scanf ("%d",&cliente.no_cuenta[a]);// Numero de Cuenta
printf ("\n\t\tIngrese Tipo Cuenta: ");
scanf ("%s",&cliente.tipo_cuenta[a]);//TIPO DE CUENTA
printf ("\n\t\tIngrese Nombre del Cliente: ");
gets (cliente.nombre[a]);//NOMBRE
printf ("\n\t\tIngrese el Saldo: ");
scanf ("%d",&cliente.saldo[a]);// Saldo
printf ("\n\t\tIngrese Fecha Dia: ");
scanf ("%d",&cliente.fechapago.dia[a]);//Dia
printf ("\n\t\tIngrese Fecha Mes: ");
scanf ("%d",&cliente.fechapago.mes[a]);//Mes
printf ("\n\t\tIngrese Fecha Ano: ");
scanf ("%d",&cliente.fechapago.ano[a]);//Ano
system ("cls");
}
goto inicio;
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
IMPRIMIR:
for (a=1;a<3;a++){
printf ("\n\n\n\n");
printf ("\t\t//////////////////////////////////////////\n");
printf ("\t\t// **** Resultado #:%d **** //",a);
printf ("\n\t\t/////////////////////////////////////////\n\n\n");
printf ("\n\t\tNumero de La cuenta: %d\n",cliente.no_cuenta[a]);
printf ("\n\t\ttipo cuenta: %c\n",cliente.tipo_cuenta[a]);
printf ("\n\t\tNombre del Cliente: %s\n",cliente.nombre[a]);
printf ("\n\t\tSaldo: %.2f\n",cliente.saldo[a]);
printf ("\n\t\tFecha (dia/Mes/ano): %d/%d/%d \n\n",cliente.fechapago.dia[a],cliente.fechapago.mes[a],cliente.fechapago.ano[a]);
printf ("\n\n");
printf ("\t\t**Presione alguna tecla para continuar**");
getch();//Permite ver el resultado y que al apretar una tecla mande al otro registro nuevo
system ("cls");
}
//////////////////////////////////////////////////////////////////
}