[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