Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - shidesways

#1
Programación C/C++ / Ayuda con un programa
6 Febrero 2017, 18:15 PM
Buenos días, acudo a este foro para ver si me pueden ayudar a realizar un programa en C++ en el que debo hacer un menú que tenga como opciones 1-calcular números perfectos 2- calcular números primos 3- Calcular el área de un triangulo...... el programa es fácil lo supe hacer y si se ejecuto el problema que tengo es que cuando lo voy a ejecutar y por ejemplo quiero saber si el numero 6 es perfecto, se ejecuta y dice que si es perfecto, pero a la segunda vez que lo voy a calcular me dice que no es perfecto (todo esto sin haber cerrado el programa) y este mismo problema me pasa con el de calcular números primos. Lo que entiende es que la variable que da el resultado este guardando el primer resultado obviamente, me dijeron que eso lo podía resolver creando una función, y por eso es que les pido ayuda porque en serio no se como crear la función. investigue el tema de funciones pero aun así me cuesta entenderlo.

este es el programa que yo elabore, si pudieran ayudarme a terminarlo de hacer serio de mucha ayuda, se que es fácil pero soy nuevo en esto de programación

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main(){

int opc, b, h, n, i, r = 0, r1 = 0;

do{

system("cls");

printf("Menu de Opciones\n\n");

printf("1. Numero Perfecto\n");

printf("2. Numero Primo\n");

printf("3. Area de un Triangulo\n");

printf("4. Salir\n\n");

printf("Opcion a Escoger");

scanf("%i",&opc);

switch(opc){

case 1:

system("cls");

printf("Ingrese un Numero");

scanf("%i",&n);

for(i = 1; i <n; i++){

if(n%i == 0)

r1=r1+i;

}

if(r1==n)

{

printf("Es perfecto");

}

else

{

printf("No es perfecto");

}

getch();

break;

case 2:

system("cls");

printf("Ingrese un Numero");

scanf("%i",&n);

for(i = 1; i <= n; i++){

if(n%i==0)

r++;

}

if(r==2)

{

printf("El Numero es Primo");

}

else

{

printf("EL Numero no es Primo");

}

getch();

break;

case 3:

system("cls");

printf("Ingrese Base");

scanf("%i",&b);

printf("Ingrese Altura");

scanf("%i",&h);

r=b*h;

printf("\n EL area de %i * %i es = %i",b,h,r);

getch();

break;

case 4:

break;

default:

system("cls");

printf("La Opcion es Incorrecta");

getch();

break;

}

}while(opc != 4);

return 0;

}