Viernes 15 de Noviembre de 2024, 08:35
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Deifinición multiple: C
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Deifinición multiple: C (Leído 2269 veces)
zzbug
Nuevo Miembro
Mensajes: 2
Deifinición multiple: C
«
en:
Sábado 3 de Junio de 2017, 18:03 »
0
Hola a todos
Soy nuevo en el foro asi que primero lo primero: Saludos a todos, tienen una comunidad muy completa por lo que he visto y muy participativa, espero ser una pieza activa de ella y que puedan aprender tanto de mi como yo de uds.
Ahora, el problema:
Estoy aprendiendo C y para ir avanzanado estoy haciendo una calculadora, un proyecto de consola en C::B. una calculadora simple con las 4 operaciones basicas, suma, resta, mutiplicacion y division
El problema es que C::B me lanza un error de definicion multiple y he buscado bastante una solucion sin respuesta asi que acudo a uds, les dejo el codigo:
calc.c
Código: C
#include <stdio.h>
#include <stdlib.h>
//#include <time.h>
#include <unistd.h>
int
suma
(
int
,
int
)
;
int
resta
(
int
,
int
)
;
int
multiplicacion
(
int
,
int
)
;
int
division
(
int
,
int
)
;
int
validar
(
char
)
;
int
suma
(
int
ia
,
int
ib
)
{
int
ires
=
ia
+
ib
;
return
ires
;
}
int
resta
(
int
ic
,
int
id
)
{
int
ires
=
ic
-
id
;
return
ires
;
}
int
multiplicacion
(
int
ia
,
int
ib
)
{
int
ires
=
ia
*
ib
;
return
ires
;
}
int
division
(
int
ia
,
int
ib
)
{
int
ires
=
ia
/
ib
;
return
ires
;
}
/*int preNum()
{
int ia=0;
int ib=0;
printf ("Escriba dos(2) numeros \n");
scanf("%i"&ia);
scanf("%i"&ib);
return ia,ib;
}
*/
int
validar
(
char
gc
)
{
//char gc;
//gc = getchar();
int
res
=
0
;
if
(
gc
!=
's'
||
gc
!=
'r'
||
gc
!=
'm'
||
gc
!=
'd'
)
{
printf
(
"No a seleccionado un caracter valido"
)
;
sleep
(
3000
)
;
res
=
0
;
return
res
;
}
else
{
res
=
1
;
return
res
;
}
}
int
operatoria
(
char
iOp
,
int
ia
,
int
ib
)
{
int
ires
=
0
;
switch
(
iOp
)
{
case
's'
:
ires
=
suma
(
ia
,
ib
)
;
break
;
case
'r'
:
ires
=
resta
(
ia
,
ib
)
;
break
;
case
'm'
:
ires
=
multiplicacion
(
ia
,
ib
)
;
break
;
case
'd'
:
ires
=
division
(
ia
,
ib
)
;
break
;
}
return
ires
;
}
main.c
Código: C
#include <stdio.h>
#include <stdlib.h>
//#include <time.h>
#include <unistd.h>
#include <ctype.h>
#include "calc.c"
int
main
(
)
{
int
ia
;
int
ib
;
int
resu
=
0
;
char
gch
;
do
{
printf
(
"Que operacion desea realizar suma:s resta:r multiplicacion:m division:d
\n
"
)
;
gch
=
getchar
(
)
;
}
while
(
validar
(
gch
)
!=
0
)
;
do
{
printf
(
"Escriba dos(2) numeros
\n
"
)
;
scanf
(
"%d"
,&
ia
)
;
scanf
(
"%d"
,&
ib
)
;
}
while
(
isdigit
(
ia
)
&&
isdigit
(
ib
)
!=
0
)
;
switch
(
gch
)
{
case
's'
:
resu
=
suma
(
ia
,
ib
)
;
break
;
case
'r'
:
resu
=
resta
(
ia
,
ib
)
;
break
;
case
'm'
:
resu
=
multiplicacion
(
ia
,
ib
)
;
break
;
case
'd'
:
resu
=
division
(
ia
,
ib
)
;
break
;
default
:
printf
(
"Escriba digitos validos"
)
;
sleep
(
3000
)
;
main
(
)
;
}
printf
(
"%d"
,
resu
)
;
return
0
;
}
¿que puede estar pasando?
Tweet
chenech
Miembro activo
Mensajes: 96
Re:Deifinición multiple: C
«
Respuesta #1 en:
Sábado 3 de Junio de 2017, 21:34 »
0
Hola, he copiado el código tal como lo tienes y no me da error, solo un warning de posible perdida de datos y el retorno ret, pero error ninguno.
zzbug
Nuevo Miembro
Mensajes: 2
Re:Deifinición multiple: C
«
Respuesta #2 en:
Sábado 3 de Junio de 2017, 21:49 »
0
Gracias chenech... entonces, sera alguna mala configuracion del C::B ? no le he metido mano y por eso me resulta curioso, quizas no es lo ideal dejar las configs por defecto, no? saludos
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Deifinición multiple: C