Dev - C++ - Problema con uso de "funciones int"

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con uso de "funciones int"

Publicado por johan (10 intervenciones) el 18/11/2019 14:42:45
En éste ejercicio tengo un problema , el programa ejecuta el bloque que se encuentra dentro del "main" y el de la funcion "recib" ,pero no me entra a la función "recib1" que es la que finaliza el programa.subo la imagen de problema ;agradezco su ayuda.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include<stdio.h>
#include<math.h>
#include<conio.h>
 
int recib(long int n){
	int cifras =1;
	while (n>=10){
		n=n/10;
		cifras++;
	}
	if((cifras%2)==0){
		return 0;//par
 
	}else{
 
		return 1;//impar
	}
}
 
 
int recib1(int recib){
	int cifras,em,nn;
	em=2;nn=10;
 
	long int n,n1;
	if(recib==1){
		while(em<cifras){
			nn=nn*10;
			em++;
		}
		n1=n%nn;
		if(n==n1){
			return 1;
		}else{
			return 0;
		}
 
	}
	if(recib==0){
 
		if((n%4)==0&&(n%10)==8){
			return 2;
		}else{
			if((n%4)==0&&(n%10)!=8){
				return 3;
			}
		}
 
			if((n%4)!=0&&(n%10)!=8){
 
			return 4;
		}
 
    }
 
}
 
 
 
 
 
 
main()
{
	long int n;
 
 
	printf("introduzca un numero por teclado");
	scanf("%ld",&n);
	while(n<1)
	{printf("error,el numero debe ser mayorde cero");
	printf("introduzca un numero por teclado");
	scanf("%ld",&n);
	}
	int re=recib(n);
	if(re==0){
		printf("la cantidad de numeros es par ");
	}else{
		if(re==1){
			printf("la cantidad de numeros es impar");
		}
	}
	int re2=recib1(recib);
	if(re==1){
 
        if(re2==1){
            printf("el numero es capicula");
 
        }else{
 
            if(re2==0){
                printf("el numero no escapicula");
            }
        }
    }
    if(re==2){
        if(re2==2){
            printf("el numero es multiplo de 4 y termina en 8");
 
            if(re2==3){
                printf("el numero es multiplo de 4 pero no termina en 8");
            }
            if(re2==4){
                printf("el numero no es multiplo de 4 ni termina en 8");
            }
 
        }
    }
    getch();
}
IMG_20191118_082347
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 Rodrigo
Val: 1.782
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con uso de "funciones int"

Publicado por Rodrigo (538 intervenciones) el 18/11/2019 16:15:15
Parte cambiando la linea 83 por

1
int re2=recib1(n);

Tambien te sugiero cambiar el nombre a las funciones por algo parecido a lo que hacen. "recib" o "recib1" no es muy elocuente. Por ejemplo "esCapicua()" o algo asi.

En el enunciado te piden escribir un main y 3 funciones. Te falta 1, que la tienes escrita y la estas resolviendo en el main mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar