Vous êtes sur la page 1sur 5

Programacin .

NET
Unidad 2. Actividad 4

Universidad Abierta y a Distancia de


Mxico

Ingeniera en Desarrollo de
Software

Programacin net I

Facilitador: LILIANA CORONA


GRANADOS
Alumno: Hugo Cesar Flores Ortiz

Grupos Separados: DS-DPRN1-1502S-B1-002

Ingeniera de Desarrollo de Software

Actividad 4. Programa que utiliza mtodos que devuelven parmetros


La presente actividad ayudar a que te familiarices y practiques los mtodos que si
devuelven valores o expresiones.
Propsito: Practicar la programacin y uso de mtodos que devuelven parmetros en
C# .Net, en base al siguiente caso:
Costo de un proyecto
Elabora un programa que calcule el costo de un proyecto de desarrollo de software. Para
lo cual:
1. Crea una clase con las siguientes propiedades y mtodos:
a) Declara las propiedades necesarias para almacenar la siguiente informacin:
Ttulo del proyecto (string)
Pago administrador del proyecto (double)
Pago arquitecto (double)
Pago desarrollador (double)

b) Agrega un constructor, que reciba como parmetros: el ttulo del proyecto, el


pago por hora para cada uno de los participantes del proyecto (administrador,
arquitecto y desarrollador) y asigne los valores a las propiedades de clase.
c) Declara un primer mtodo que reciba como parmetros el nmero de horas
asignadas para cada recurso y devuelva como resultado el costo preliminar,
multiplicando el nmero de horas asignadas por el pago por hora para cada
participante del proyecto.
d) Incluye un segundo mtodo que reciba como parmetro el costo preliminar
previamente calculado y regrese como resultado el costo total del proyecto,
considerando lo siguiente:
6.3% por concepto de anlisis de requerimientos.
4.2% por concepto de pruebas y manuales tcnicos.
Finalmente, agrega el IVA.
2.- Solicita al usuario el ttulo del proyecto as como el pago por hora para cada
participante del proyecto.
3.- Crea un objeto en base a la clase previamente declarada, enviando al constructor la
Informacin solicitada en el punto # 2.
4.- Solicita al usuario el nmero de horas asignadas a cada participante del proyecto y
enva la informacin como parmetros al mtodo que devuelve el costo preliminar.

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace CostoProyecto
{
class Software
{
/*
Declara las propiedades necesarias para almacenar la siguiente informacin:
- Ttulo del proyecto (string)
- Pago administrador del proyecto (double)
- Pago arquitecto (double)
- Pago desarrollador (double)
*/
public
public
public
public

String TituloProy { get; set; }


Double PagoAdmin { get; set; }
Double PagoArq { get; set; }
Double PagoDesarr { get; set; }

//Costo premilar
public Double CostPreAdmin { get; set; }
public Double CostPreArq { get; set; }
public Double CostPreDesarr { get; set; }
public Software() { } //constructor por defecto
/* Agrega un constructor, que reciba como parmetros: el ttulo del proyecto, el pago
por hora para cada uno de los participantes del proyecto (administrador, arquitecto y
desarrollador) y asigne los valores a las propiedades de clase.*/
//Otro constructor al que le pasamos todos los datos
public Software(String TituloProy, Double PagoAdmin, Double PagoArq, Double
PagoDesarr)
{
this.TituloProy = TituloProy;
this.PagoAdmin = PagoAdmin;
this.PagoArq = PagoArq;
this.PagoDesarr = PagoDesarr;
}

public Software CostoPreliminar(int hrAdm, int hrArq, int hrDesarr)


{
Software m= new Software();
this.CostPreAdmin = (hrAdm * PagoAdmin);
m.CostPreAdmin = this.CostPreAdmin;
this.CostPreArq = (hrAdm * PagoArq);
m.CostPreArq = this.CostPreArq;
this.CostPreDesarr = (hrAdm * PagoDesarr);
m.CostPreDesarr = this.CostPreDesarr;
return m ;

}
public double CostoTotalProy(Software Costo)
{
double PagoParcial, TotalProyecto;
double Analisis, Manuales, Iva;
//- 6.3% por concepto de anlisis de requerimientos.
//- 4.2% por concepto de pruebas y manuales tcnicos.
//- Finalmente, agrega el IVA.
PagoParcial = Costo.CostPreAdmin + Costo.CostPreArq + Costo.CostPreDesarr;
Analisis = (PagoParcial * 0.063);
Manuales = (PagoParcial * 0.042);
Iva = (PagoParcial * 0.16);
TotalProyecto = (PagoParcial + Analisis + Manuales + Iva);
}

return TotalProyecto;

}
class Program
{
static void Main(string[] args)
{
int hrAdmin, hrDesa, hrArq;
double CostoTotal;
Software obj = new Software();
///SOlicitamos el nombre del empleado
Console.WriteLine("\n********************* Desarro de Sistemas
*********************");
Console.WriteLine("Titulo del Proyecto:");
obj.TituloProy = Console.ReadLine();
Console.WriteLine("Ingrese el pago por hora del Administrador:");
obj.PagoAdmin = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese el pago por hora del Desarrollador:");
obj.PagoDesarr = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Ingrese el pago por hora del Arquitecto:");
obj.PagoArq = Convert.ToDouble(Console.ReadLine());
Software hrs = new Software(obj.TituloProy, obj.PagoAdmin, obj.PagoArq,
obj.PagoDesarr);
//<por honorarios
Console.WriteLine("\n************* Nmero de horas asignadas a cada participante
del proyecto *************");
Console.WriteLine("Ingrese el Nm. horas del administrador:");
hrAdmin = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Ingrese el Nm. horas del Arquitecto:");
hrArq = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Ingrese el Nm. horas del Desarrollador:");
hrDesa = Convert.ToInt16(Console.ReadLine());
obj.CostoPreliminar(hrAdmin, hrArq, hrDesa);
CostoTotal =obj.CostoTotalProy(obj);
Console.WriteLine("\n\nNombre del Proyecto: " + obj.TituloProy);

Console.WriteLine("\nCosto Total del Proyecto: " + string.Format("{0:c}",


CostoTotal));
obj = null;
Console.Read();
}
}

Vous aimerez peut-être aussi