Foros del Web » Programación para mayores de 30 ;) » Programación General »

Necesito reducir o ordenar codigo c#

Estas en el tema de Necesito reducir o ordenar codigo c# en el foro de Programación General en Foros del Web. Desarrollar un programa en C#. • El programa deberá formular 5 preguntas de una encuesta con opciones múltiples. • Deberá permitir tantas encuestas como sea ...
  #1 (permalink)  
Antiguo 24/02/2013, 20:02
 
Fecha de Ingreso: abril-2011
Ubicación: Morazan
Mensajes: 27
Antigüedad: 13 años, 1 mes
Puntos: 0
Necesito reducir o ordenar codigo c#

Desarrollar un programa en C#.
• El programa deberá formular 5 preguntas de una encuesta con opciones múltiples.
• Deberá permitir tantas encuestas como sea necesario.
• Deberá tabular los resultados obtenidos al correr el programa:
 Calcular el número de encuestas realizadas.
 Numero de respuestas obtenidas de cada opción múltiple en cada pregunta y los porcentajes que le corresponden de acuerdo al número de encuestas.

Este es el codigo que tengo(he quitado las preguntas 2,3 y 4 por llevar mucho espacio y pues por ser lo mismo que en la primera ) hecho pero quiero reducirlo ya sea con metodo o de otra manera y ordenarlo les pido ayuda


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TareaTLP
{
class Program
{
static void Main(string[] args)
{
int encuesta = 0;
StringBuilder MyStringBuilder = new StringBuilder("\nDigite una opcion (a,b o c) luego 'Enter' para continuar con la siguiente pregunta o exit para terminar");
StringBuilder SBOpcionInvalida = new StringBuilder("\tno es una opcion valida o bloq mayusculas esta activo\n");

Double p1a = 0, p1b = 0, p1c = 0, p2a = 0, p2b = 0, p2c = 0, p3a = 0
, p3b = 0, p3c = 0, p4a = 0, p4b = 0, p4c = 0, p4d = 0, p5a = 0
, p5b = 0, p5c = 0;
Double porcenc;

bool Rp1 = true, Rp2 = true, Rp3 = true, Rp4 = true, Rp5 = true;//variables control Repeticion cada pregunta
while (true) // repeticion indefinida de todo el programa
{
encuesta += 1;//contador numero encuestas
StringBuilder SBEncuesta = new StringBuilder("Encuesta: " + encuesta +"\n");

while (Rp1 == true)// Si es true se repite la pregunta
{

Console.WriteLine(SBEncuesta);
//Pregunta 1
Console.WriteLine("1- ¿Usted Consume bebidas gaseosas?:" + "\n\n a- Si" + "\n b- No" + "\n c- Pocas veces");

Console.WriteLine(MyStringBuilder);
string line = Console.ReadLine(); // captura valor digitado
if (line == "a" || line == "b" || line == "c")//compara si el valor esta dentro de los parametros permitidos
{

Rp1 = false;//Si el valor esta dentro de los parametros el while no se cumple y sigue la siguiente pregunta
}


switch (line)
{
case "a":
p1a += 1;
Console.Clear();//Limpia pantalla
break;

case "b":
p1b += 1;
Console.Clear();//Limpia pantalla
break;

case "c":
p1c += 1;
Console.Clear();//Limpia pantalla
break;
case "exit":
return;

default:
Console.Clear();
Console.WriteLine(line + SBOpcionInvalida);// si no esta dentro de los parametros se advierte
break;
}
}

//pregunta 5
while (Rp5 == true)
{
Console.WriteLine(SBEncuesta);
Console.WriteLine("\n5- ¿Cuantas bebidas gaseosas consume al dia?:" + "\n\n a- Una" + "\n b- Dos" + "\n c- Mas de dos");

Console.WriteLine(MyStringBuilder);
string line = Console.ReadLine(); // Tomando datos


if (line == "a" || line == "b" || line == "c" )
{

Rp5 = false;
}

else
{
Console.Clear();
Console.WriteLine(line + SBOpcionInvalida);//evalua respuesta valida
}

switch (line)
{
case "a":
p5a += 1;
Console.Clear();//Limpia pantalla
break;

case "b":
p5b += 1;
Console.Clear();//Limpia pantalla
break;

case "c":
p5c += 1;
Console.Clear();//Limpia pantalla
break;

}


}
Console.WriteLine("Presione Enter para continuar con otra encuesta o exit para terminar");
string linef = Console.ReadLine(); // Tomando datos
if (linef == "exit") // Chequea si desa terminar
{

porcenc = 100;
Console.WriteLine("1- ¿Usted consume bebidas gaseosas? ");
//Respuestas pregunta 1
//1 opcion a
p1a = Math.Round(((porcenc / encuesta ) * p1a), 2);
Console.WriteLine("\n\ta-Si " + p1a + " %");

//1 opcion b
p1b = Math.Round(((porcenc / encuesta ) * p1b), 2);
Console.WriteLine("\tb-No " + p1b + " %");

//1 opcion c
p1c = Math.Round(((porcenc / encuesta ) * p1c), 2);
Console.WriteLine("\tc-Pocas veces " + p1c + " %\n");

//Resultados pregunta 2
Console.WriteLine("2- ¿Que lo induce a consumir bebidas gaseosas? ");
//2 opcion a
p2a = Math.Round(((porcenc / encuesta ) * p2a), 2);
Console.WriteLine("\n\ta-El sabor " + p2a + " %");

//2 opcion b
p2b = Math.Round(((porcenc / encuesta ) * p2b), 2);
Console.WriteLine("\tb-La sed " + p2b + " %");

//2 opcion c
p2c = Math.Round(((porcenc / encuesta ) * p2c), 2);
Console.WriteLine("\tc-Otro " + p2c + " %\n");


//Resultados pregunta 3
Console.WriteLine("3- ¿Que sabor prefiere? ");
//3 opcion a
p3a = Math.Round(((porcenc / encuesta ) * p3a), 2);
Console.WriteLine("\n\ta-Colas " + p3a + " %");

//3 opcion b
p3b = Math.Round(((porcenc / encuesta ) * p3b), 2);
Console.WriteLine("\tb-De sabores " + p3b + " %");

//3 opcion c
p3c = Math.Round(((porcenc / encuesta ) * p3c), 2);
Console.WriteLine("\tc-Otras " + p3c + " %\n");

//Resultados pregunta 4
Console.WriteLine("4- ¿En que ocasion la consume? ");
//4 opcion a
p4a = Math.Round(((porcenc / encuesta ) * p4a), 2);
Console.WriteLine("\n\ta-Desayuno " + p4a + " %");

//4 opcion b
p4b = Math.Round(((porcenc / encuesta ) * p4b), 2);
Console.WriteLine("\tb-Almuerzo " + p4b + " %");

//4 opcion c
p4c = Math.Round(((porcenc / encuesta ) * p4c), 2);
Console.WriteLine("\tc-Cena " + p4c + " %");

//4 opcion d
p4d = Math.Round(((porcenc / encuesta ) * p4d), 2);
Console.WriteLine("\tc-Otro " + p4d + " %\n");

//Resultados pregunta 5
Console.WriteLine("5- ¿Cuantas bebidas gaseosas consume al dia? ");
//5 opcion a
p5a = Math.Round(((porcenc / encuesta ) * p5a), 2);
Console.WriteLine("\n\ta-Una " + p5a + " %");

//5 opcion b
p5b = Math.Round(((porcenc / encuesta ) * p5b), 2);
Console.WriteLine("\tb-Dos " + p5b + " %");

//5 opcion c
p5c = Math.Round(((porcenc / encuesta ) * p5c), 2);
Console.WriteLine("\tc-Mas de dos " + p5c + " %\n");
Console.WriteLine("\nse realizaron " + encuesta + " encuestas");

return;

}

Rp1 = true;
Rp2 = true;
Rp3 = true;
Rp4 = true;
Rp5 = true;
}

}
}
}

Etiquetas: programa, reducir
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 01:17.