[C con Clase] Errores de aprendiz
David Reza
l.fix3r.l en gmail.com
Dom Mayo 11 20:52:56 CEST 2008
Ariel Tarifeño escribió:
> Estoy tratando de traducir un seudocodigo de la U pero me da muchos
> errores al compilar y no entiendo aun que esta mal.
>
> #include <stdio.h>
> #include <conio.h>
> int Factorial(int N)
> {
> int Fact;
Recuerda que cuando declaras una variable y no la inicializas con
algún valor ésta toma cualquier valor que se encuentre en al área de
memoria que se le asignó a dicha variable, es decir, contiene 'basura'.
Aquí arriva declaraste 'Fact' pero no le diste ningún valor inicial.
Inicialízalo en 1:
int Fact = 1;
>
> While (N > 0)
Debes respetar las palabras del lenguaje incluyendo mayúsculas y
minúsculas. El bucle debería se ser 'while' no 'While'
>
> {
> Fact = Fact * N;
> N = N - 1;
> }
> return Fact;
> }
>
> int EsPrimo(int N)
> {
> If ((Factorial(N-1)+1) % N == 0)
> Return 1;
Aquí pasa lo mismo, debe ser 'return' no 'Return'
>
> else
> return 0;
> }
>
> void main ()
En C++ por estándar debes utilizar 'int main()' para devolver a la
función con un valor entero (int) en vez de utilizar 'void main()'.
>
> {
> int i;
> clrscr();
> printf("Ingrese numero: ");
> scanf("%d", &i);
> if(EsPrimo(i))
> printf("El numero es primo");
> else
> printf("El numero no es primo");
>
> getch();
Aquí, como dije, tienes que devolver a la función 'main()' un valor
entero, en este caso el valor 0 (cero) para indicar que todo terminó
correctamente. Esto sería así:
return 0;
>
> }
Ojalá y ésto te ayude un poco.
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080511/53306b89/attachment.html>
Más información sobre la lista de distribución Cconclase