04/01/2014, 17:34
|
| | Fecha de Ingreso: enero-2014
Mensajes: 1
Antigüedad: 11 años Puntos: 0 | |
Duda para un ejercicio de programacion en C# Hola me llamo neotuning, soy nuevo, un saludo a todos, resulta que me piden en la uni, un ejercicio de programacion orientada a objetos en C++ el cual no se muy bien como enlazar lo que son el program.cs, con las diferentes clases.
Me piden de realizar la media de 10 numeros y tambien mostrar los 100 primeros numeros primos. Mi codigo del program.cs es el siguiente:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PRG_Flores_Muñoz_Juan_Practica1_Tarea3
{
class Program
{
static void Main(string[] args)
{
//variables
const int CAPACIDAD = 10; // Como pide el ejercicio la capacidad del array va a ser de 10
int [] numeros = new int[CAPACIDAD]; //esta variable hace referencia a la clase numeros
float numerosmedia; //esta variable hace referencia a la clase numerosmedia
int opcion;
int contador;
int total;
int cont = 0;
//programa principal
do
{
Console.WriteLine("1º Mostrar los 100 números primos");
Console.WriteLine("2º Calcular la media");
Console.WriteLine("3º Salir");
Console.WriteLine();
Console.WriteLine("Seleccione una opción:");
opcion = Convert.ToInt32(Console.ReadLine());
switch (opcion)
{
case 1:
// Realizo los ejecucion de los 100 numeros primos y que los muestre por pantalla
for (int i = 2; i <= 545; i++) // El primer "for" recorre los numeros desde 2 hasta 100, si quisieramos sacar mas numeros primos solo bastaria con cambiar el 100 por el numero elegido
{
for (int j = 1; j <= i; j++) // El segundo "for" recorre los numeros desde 1 hasta el valor del actual del primer for, dentro de este se cuentan sus divisores
{
if (i % j == 0) // Ya que % significa calcula el resto de dividir su primer operando por el segundo, si el residuo de i entre j es igual a 0 se incrementara el contador, esto para cada numero desde 2 hasta 100
{
cont = cont + 1;
}
}
if (cont < 3) //Terminado el segundo "for" pregunto si el contador es igual a 2, de hay el simbolo menos, si esto es cierto quiere decir que el numero i solo tiene dos divisores y por lo tanto es primo.
{
Console.Write(i+", ");
}
cont = 0; //Esto lo pone a 0, y pasaria al siguiente para poder calcular hasta 100 todos los numeros
}
Console.WriteLine("Estos son los 100 primeros numeros primos"); // Por ultimo se muestran por pantalla los 100 primero numeros primos
Console.ReadLine();
break;
case 2:
//Con la instruccion for relleno el array segun la CAPACIDAD como pide el ejercicio son 10 y muestra por pantalla los numeros que le demos
for (contador = 0; contador < CAPACIDAD; contador++)
{
Console.Write("Introduce los numeros:");
numeros[contador] = Convert.ToInt32(Console.ReadLine());
}
// Calculamos la media
total = 0;
for (contador = 0; contador < CAPACIDAD; contador++)
{
total = total + numeros[contador];
}
numerosmedia = ((float)total) / CAPACIDAD;
//Muestro por pantalla la media de todos los numero del array
Console.WriteLine("La media es: " + numerosmedia);
//Para que no siga el programa mientras no le demos a una tecla
Console.ReadLine();
break;
case 3:
Console.Write("Salir");
break;
}
}
while (opcion != 3); // Mientras que no pulsemos la opcion 3 el programa no se cerrara
}
}
} El codigo de una clase:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Numeros
{
//atributo de los numeros primos
private int pri;
//constructor
public Numeros(int primos)
{
this.pri = primos;
}
//metodo
public int primos
{
get { return pri; }
set { this.pri = value; }
}
}
}
El codigo de la otra clase:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class numerosmedia
{
//atributo para la media
private float med;
//constructor
public numerosmedia (float media)
{
this.med = media;
}
//metodo
public float media
{
get { return med; }
set { this.med = value; }
}
}
}
Lo que quiero es poder unirlo todo para que las clases queden unidas al program.cs, espero me podais echar un cable, gracias compañeros. |