Dev - C++ - Obtener caracteres limite

 
Vista:

Obtener caracteres limite

Publicado por Mariano (7 intervenciones) el 28/02/2020 15:36:37
Necesito obtener caracteres, cuando paso del limite el sobrante es utilizado para llenar las demas variables, para evitarlo pense en usar fgets, pero no sabria como implementarlo sin hacer uno para cada variable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    char nombre[21], dept[21], calle [21], ciudad[16], estado[4], codpos[6], tel[13];
    void obtcaden(), impcaden();
    printf("Introduce el nombre: ");
    obtcaden(nombre,21);
    printf("\ndepartamento: ");
    obtcaden(dept,21);
    printf("\ncalle y numero: ");
    obtcaden(calle,21);
    printf("\ncuidad: ");
    obtcaden(ciudad,16);
    printf("\nestado: ");
    obtcaden(estado,4);
    printf("\ncodigo postal: ");
    fflush(stdin);
    obtcaden(codpos,6);
    printf("\nnumero telefonico: ");
    fflush(stdin);
    obtcaden(tel,13);
    printf("\n");
    //pasa arreglos a impcaden
    impcaden(nombre);
    impcaden(dept);
    impcaden(calle);
    impcaden(ciudad);
    impcaden(estado);
    impcaden(codpos);
    impcaden(tel);
}
//acepta la entrada del usuario y la almacena en un arreglo
void obtcaden(apunacaden,n)
char *apunacaden;
int n;
{
    int i = 0;
    //while ((*apunacaden++ = getchar()) != '\n' && i++ < n);
    while ((*apunacaden++ = getchar()) != '\n' && i++ < n);
    *(--apunacaden) = '\0';
}
//funcion para imrpimir las cadenas de caracteres
void impcaden(apunacaden)
char *apunacaden;
{
    printf("\n          %s",apunacaden);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Obtener caracteres limite

Publicado por Alfil (1444 intervenciones) el 28/02/2020 16:52:17
1
scanf("%20[^\n]", nombre);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar