Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas con un programa que carga datos

Estas en el tema de Problemas con un programa que carga datos en el foro de C/C++ en Foros del Web. Código: #include <stdio.h> #include <process.h> #include <windows.h> #include <conio.h> int main() { int opcion; char nomaseg; char apeaseg; char patente; int cuota; char proxvenc; printf("Bienvenido ...
  #1 (permalink)  
Antiguo 06/10/2012, 12:28
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Problemas con un programa que carga datos

Código:
#include <stdio.h>
#include <process.h>
#include <windows.h>
#include <conio.h>

int main()
{
    int opcion;
    char nomaseg;
    char apeaseg;
    char patente;
    int cuota;
    char proxvenc;
    printf("Bienvenido al Sistema de Control y Carga de Seguros LOCATELLI\n");
    printf("Elija una opcion\n1. Carga\n2. Control\n3. Eliminacion\n");
    opcion = getche();
    printf("%c", opcion);
    system("cls");
    if (opcion == 49)
    {
         printf("Has elegido la opcion de Carga\n");
         printf("Escriba a continuacion el Apellido del Asegurado\n");
         apeaseg = getchar();
         system("cls");
         if (apeaseg != 0)
         {
                     printf("Escriba a continuacion el Nombre del Asegurado\n");
                     nomaseg = getchar();
         }
         printf("%c %c %c", opcion, apeaseg, nomaseg);
         getch();
    }    
}
Cuando cargo el apellido lo toma sin problemas pero al momento de querer cargar el nombre me tira la opcion y los 2 primeros caracteres del apellido, por favor ayudenme.. Gracias!
  #2 (permalink)  
Antiguo 06/10/2012, 12:42
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 12 años, 3 meses
Puntos: 7
Respuesta: Problemas con un programa que carga datos

Hola john

Hola a todos, no estoy seguro de porque no funciona, probe tambien asi:

Cita:
#include <stdio.h>
#include <process.h>



int main()
{
int opcion;
char nomaseg;
char apeaseg;
char patente;
int cuota;
char proxvenc;
printf("Bienvenido al Sistema de Control y Carga de Seguros LOCATELLI\n");
printf("Elija una opcion\n1. Carga\n2. Control\n3. Eliminacion\n");
scanf("%d",&opcion);
printf("%d", opcion);
getchar();
if (opcion == 1)
{
printf("Has elegido la opcion de Carga\n");
printf("Escriba a continuacion el Apellido del Asegurado\n");
apeaseg = getchar();

printf("Escriba a continuacion el Nombre del Asegurado\n");
while(getchar() != EOF && getchar() != '\n')
{;}
nomaseg = getchar();

putchar(apeaseg);

putchar(nomaseg);
}
getchar();
return 0;
}

Pero sigue pasando lo mismo que en el primero. Soy amigo de John y estabamos intentando arreglar el codigo pero no pudimos y lo dejamos por aca.

Gracias de antemano

Saludos,
  #3 (permalink)  
Antiguo 08/10/2012, 01:06
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 5 meses
Puntos: 73
Respuesta: Problemas con un programa que carga datos

char nomaseg;

Tal como de ha declarado, nomaseg es una variable de tipo caracter, y solamente admite un caracter (cuando debería ser una cadena de caracteres). Dado que en C las cadenas de caracteres no existen como tales, debe crearse un arreglo de caracteres:

char nomaseg[20];

(el tamaño del arreglo dependerá de las necesidades de tu programa). El indicador de final de cadena es al código ASCII 0 (NULL), y, dado que forma parte de la cadena, debe contarse con él al dimensionar la cadena.

Lo mismo ocurre con las variables apeaseg, patente y proxvenc.

Por otro lado, las funciones getchar/putchar leen/escriben un solo caracter. Para leer/escribir cadenas de caracteres tienes scanf/printf (con especificador de formato "%s"). Si la cadena a leer va a contener espacios en blanco utiliza gets en lugar de scanf, ya que scanf te leería hasta el primer espacio en blanco o tabulación y dejaría el resto pendiente de leer.

Saludos,
  #4 (permalink)  
Antiguo 14/10/2012, 13:40
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 12 años, 3 meses
Puntos: 7
Respuesta: Problemas con un programa que carga datos

Ah, claro, porque Char es un valor de 1 byte

Muchas gracias, Fw180, saludos.
__________________
Mi pagina Web: http://www.actiweb.es/simplecreations/
Desarrollo de Juegos para PC en 2D

Etiquetas: auxilio, devc++
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:12.