C/Visual C - necesito ayuda con una codificación

 
Vista:

necesito ayuda con una codificación

Publicado por alberto villegas (1 intervención) el 06/07/2006 20:22:10
tengo problemas con un programa lo pude resolver en visual fox pero cuando lo quise resolver en Borland C funciona pero en una línea no me acepta lo que quiero que haga el programa... Este programa es para verificar si el numero de cedula ingrasado es correcto

aqui les dejo la codificacion en visual fox y en C porfa ayudenme a verificar cual es el herro que tengo para poderr corregirlo

CODIGO FUENTE EN VISUAL FOX

clear
store 0 to A,B,C,D,E,F,G,H,I,J,PP,PIM,SP,DC,COM,I1,I2,I3,I4,I5
@ 2,10 SAY 'PROGRAMA VERIFICADOR del NUMERO de CEDULA'
@ 6,2 SAY 'INGRESE SU NUMERO de CEDULA'
@ 8,3 GET A PICT '9'
READ
@ 8,5 GET B PICT '9'
READ
@ 8,7 GET C PICT '9'
READ
@ 8,9 GET D PICT '9'
READ
@ 8,11 GET E PICT '9'
READ
@ 8,13 GET F PICT '9'
READ
@ 8,15 GET G PICT '9'
READ
@ 8,17 GET H PICT '9'
READ
@ 8,19 GET I PICT '9'
READ
@ 8,21 GET J PICT '9'
READ
PP=(B+D+F+H)
I1=(2*A)
I2=(2*C)
I3=(2*E)
I4=(2*G)
I5=(2*I)
IF I1>9
I1=I1-9
ENDIF
IF I2>9
I2=I2-9
ENDIF
IF I3>9
I3=I3-9
ENDIF
IF I4>9
I4=I4-9
ENDIF
IF I5>9
I5=I5-9
ENDIF
PIM=(I1+I2+I3+I4+I5)
SP=(PP+PIM)
DC=(INT(SP/10)+1)*10
COM=DC-SP
IF COM=J
@ 11,10 SAY 'NUMERO de CEDULA C O R R E C T O'
ELSE
@ 11,10 SAY 'NUMERO de CEDULA I N C O R R E C T O'
ENDIF
WAIT WIND

CODIGO FUENTE EN Borland C

/*programa verificador del número de cédula*/
#include<stdio.h>
#include<math.h>
#include<conio.h>
main()
{
float a,b,c,d,e,f,g,h,i,j,pp,pim,sp,dc,com,i1,i2,i3,i4,i5;
clrscr();
gotoxy(10,2);
printf("PROGRAMA VERIFICADOR NUMERO de CEDULA");
gotoxy(3,6);
printf("ingrese número de cédula:");
gotoxy(3,8);
scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
pp=(b+d+f+h);
i1=(2*a);
i2=(2*c);
i3=(2*e);
i4=(2*g);
i5=(2*i);
if(i1>9)
{
i1=i1-9;
}
if(i2>9)
{
i2=i2-9;
}
if(i3>9)
{
i3=i3-9;
}
if(i4>9)
{
i4=i4-9;
}
if(i5>9)
{
i5=i5-9;
}
pim=(i1+i2+i3+i4+i5);
sp=pp+pim;
dc=(int(sp/10)+1)*10;
com=dc-sp;
if(com==j)
{
gotoxy(10,11);
printf("número de cédula c o r r e c t o");
}
else
{
gotoxy(10,11);
printf("número de cédula i n c o r r e c t o");
}
getch();
}
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

RE:necesito ayuda con una codificación

Publicado por maree (15 intervenciones) el 07/07/2006 19:14:20
hola, podrias poner un ejemplo de cedula correcta y uno de cedula incorrecta. Ademas especificar el error que estas obteniendo, para probar el programa y ver donde esta fallando..
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

RE:necesito ayuda con una codificación

Publicado por JuanC (57 intervenciones) el 07/07/2006 20:05:12
En la línea
dc=(int(sp/10)+1)*10;
la palabra 'int' parece que la usaste como una función -no sé si existe en
Visual Fox-, pero en C no es una función sino un tipo de variable.
Si querés la parte entera de la división de 'sp/10' deberías usar la función
double modf(double x, double *ipart);

double integer;
modf(sp/10, &integer);
dc = (integer+1) * 10;

Espero que sea eso...
Saludos desde Baires, JuanC
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

RE:necesito ayuda con una codificación

Publicado por maree (15 intervenciones) el 10/07/2006 21:57:22
me parece q lo q trato de hacer aca fue como una especie de casting, lo q no debe generar ningun error en C
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