Dev - C++ - Programacion MODULAR

 
Vista:

Programacion MODULAR

Publicado por Andreu_xx (1 intervención) el 24/11/2011 05:15:56
Hola. Estoy aki peleando para hacer un programa que me diga si un numero que introduzco es primo o no lo es.
El programa principal es:
int main (void)
{
int num;
MostrarPresentacionPrograma ();
num = PedirNumeroPositivo ();
if (EsPrimo (num) )
cout << "El numero es primo.\n";
else
cout << "El numero NO es primo.\n";
}

La cuestion es que no se como hacer los subprogramas, y estoy mas perdido que perdido. Se me han hecho las horas que son y estoy que me caigo.
Haber si alguien me puede ayudar.
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

Programacion MODULAR

Publicado por Titin500 (1 intervención) el 22/01/2012 06:16:43
Saludos cordiales....

La programación modular, en base a lo que colocaste en tu modulo principal (el main), te propongo estos modulos para complementar al principal....

Las funciones tienen la siguiente estructura

tipo_var Nombre_Func(Tipo_Var Parametro, Tipo_Var Parametro2, ..., Tipo_Var ParametroN)
{
estructura;
return variable;
}

Al hacer la llamada a la funcion, desde el main o cualquier otro modulo, se debera tener en cuenta
los parametros tal como se definieron en la primera linea de la funcion; el numero de parametros, y el tipo de variables de los parametros deben de coincidir exactamente.

La verificacion si el numero es primo sera:

bool variable tipo logica, posibles valores: True y False.
Cualquier numero es divisible dentro de la unidad (1); asi
que empezamos el ciclo con 2.

Si el numero fue divisible unicamente 1 vez dentro de los numeros menores o iguales a este,
excluyendo el 1, es primo, de lo contrario, no lo es.

% devuelve el residuo de la division entre 2 numeros, si el resultado de esta operacion es 0, la division es exacta.

bool EsPrimo(int numero)
{
bool resp;
int vecesdivisible;
vecesdivisible=0;
for (int i=2;i<=numero;i++)
{
if ((numero%i)==0)
vecesdivisible++;
}
if (vecesdivisible==1)
resp=true;
else
resp=false;
return resp;
}

void MostrarPresentacionPrograma()
{
system("cls");
cout<<"Programa que evalua si un numero es primo"<<endl;
}

int PedirNumeroPositivo()
{
int a;
cout<<endl<<endl<<"Ingrese un numero positivo";
cin>>a;
if (a>=0)
return a;
return 0;
}

Espero q esto t sea de ayuda.
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