Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda para un ejercicio de programacion en C#

Estas en el tema de Duda para un ejercicio de programacion en C# en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/01/2014, 17:34
 
Fecha de Ingreso: enero-2014
Mensajes: 1
Antigüedad: 10 años, 3 meses
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.
  #2 (permalink)  
Antiguo 04/01/2014, 19:15
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Duda para un ejercicio de programacion en C#

En cpp para enlazar un archivo con otro se hace así:
Tienes el principal que bien lo puedes llamar de main.cpp
y las clases las puedes meter en otro archivo que este en el mismo directorio.
A ese archivo la extencion debería ser .h "head o archivo de cabecera" puedes poner también como .hpp ahi dejo para que elijas el que mas te guste :D
Ahora bien
En el archivo main.cpp, luego al principio pones eso:
#include "nombrearchivo.h"
Si esta junto no hace falta poner la direcion completa, pero si no están juntos deberás poner asi...
#include "c:\carpeta donde esta el archivo\nombrearchivo.h" // Eso varia segun donde lo tenga
Mas fácil es tenerlos juntos pero ahí se queda la otra opción.
Supongo que para todo lo demás ya sabes como hacer la conversión a cpp
  #3 (permalink)  
Antiguo 06/01/2014, 17:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 6 meses
Puntos: 10
Respuesta: Duda para un ejercicio de programacion en C#

Parece que el usuario pregunta por una duda de C#.

Tal vez te orienten mejor en el foro de .NET

http://www.forosdelweb.com/f29/

Etiquetas: ejercicio, int, metodo, numero, programa, programacion, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.