Hola a todos, uso el Dev C++ y me encuentro haciendo un trabajo de la u, donde, dbeo emular a un banco, el punto es que cuando debo almacenar el nombre y apellido del usuario a causa del espacio no puedo usar "string" entonces lei y vi que debia hacer un array de char y leer con "gets" pero cuando compilo no me lee el nombre, les anexo el codigo fuente, (aun no lo temrino xq n me corre esa parte)
Código:
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main(){
int i,op, pos,code,n=0;
char nombre[35];
char q;
float dinero;
struct{
int cod;
char name[35];
float money;
}A[50];
do{system("cls");
cout<<"\n";
cout<<"***********************************************\n";
cout<<"*****************BIENVENIDO********************\n";
cout<<"***********************************************\n";
cout<<"\n\n\n";
cout<<"*\t\t\t(1)Abrir cuenta\n*\t\t\t(2)Cerrar Cuenta\n*\t\t\t";
cout<<"(3)Consultar Cuenta\n*\t\t\t(4)Consignar a la cuenta\n*";
cout<<"\t\t\t(5)Retirar de la cuenta\n*\t\t\t(6)Listar cuentas";
cout<<"\n*\t\t\t(7)Finalizar";
cout<<"\n\n\t\t\t\tDigite una opcion";
cin>>op;
while(op<1||op>7){
cout<<"\nERROR: Opcion invalida\n ";
cin>>op;
}
switch (op){
case 1:
do{system("cls");
do{
pos=-1;
cout<<"\n\nPorfavor ingrese el codigo de identificacion\n";
cin>>code;
for (i=0;i<n-1;i++){
if(A[i].cod==code){pos=i;}
}
if (pos!=-1){
cout<<"\nError: El codigo ingresado ya existe!!!!!\n";
cout<<"\nCodigo: "<<A[pos].cod;
printf ("%s\n",A[pos].name);
cout<<"\nMonto: $"<<A[pos].money;}
else
A[n].cod=code;
}while(pos!=-1);
printf("\nAhora ingrese su primer nombre y apellido %s\n ");
gets(nombre);
n++;
A[n].name[35]=nombre[35];
cout<<"\nPor ultimo ingrese el monto de dinero que desea guardar\n";
cin>>dinero;
while(dinero<=0){
cout<<"\nERROR:Valor invalido\n";
cin>>dinero;
}
A[n].money=dinero;
cout<<"\nDesea crear otra cuenta? (Y/N)\n";
cin>>q;
}while(q=='y' || q=='Y');
break;
case 2:
do{system("cls");
pos=-1;
cout<<"\n\nPorfavor ingrese el codigo de identificacion\n";
cin>>code;
for (i=0;i<n-1;i++){
if(A[i].cod==code){pos=i;}
}
if (pos>-1){
cout<<"\nCodigo: "<<A[pos].cod;
puts (A[pos].name);
cout<<"\nMonto: $"<<A[pos].money;
cout<<"\nRealmente desea elminar la cuenta?(Y/N)\n";
cin>>q;
if(A[pos].money==0){
if(q=='y'||q=='Y'){
for(i=pos;i<n-1;i++){A[i]=A[i+1];}
n=n-1;
}
}else{cout<<"\nERROR: No se puede cerrar cuenta porque aun tiene dinero guardado\n";}
}else{cout<<"\nERROR: Cuenta inexistente\n";}
cout<<"\nDesea eliminar otra cuenta? (Y/N)\n";
cin>>q;
}while(q=='y' || q=='Y');
break;
case 3:
do{system("cls");
pos=-1;
cout<<"\n\nPorfavor ingrese el codigo de identificacion\n";
cin>>code;
for (i=0;i<n-1;i++){
if(A[i].cod==code){pos=i;}
}
if (pos>-1){
cout<<"\nCodigo: "<<A[pos].cod;
printf("%s\n",A[pos].name);
cout<<"\nMonto: $"<<A[pos].money;
}else{cout<<"\nERROR: Cuenta inexistente\n";}
cout<<"\nDesea consultar otra cuenta? (Y/N)\n";
cin>>q;
}while(q=='y' || q=='Y');
break;
}
cout<<"\nVolver a menu? (Y/N)\n";
cin>>q;
}while(q=='y' || q=='Y');
}
Espero respuesta gracias :)