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

[SOLUCIONADO] programa c++

Estas en el tema de programa c++ en el foro de C/C++ en Foros del Web. Desarrollar una aplicación ejecutable ya sea C++ o en Visual Basic (que se realize con printf y scanf no cout , cin )que realice las ...
  #1 (permalink)  
Antiguo 01/07/2015, 19:38
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 0
programa c++

Desarrollar una aplicación ejecutable ya sea C++ o en Visual Basic (que se realize con printf y scanf no cout , cin )que realice las siguientes tareas:
- Cálculo de resistencia equivalente para circuito serie, paralelo y mixto, mediante un menú de selección en la interfaz del usuario.
- Cálculo de corriente para circuito serie, paralelo y mixto, según corresponda la opción seleccionada.
Los datos ingresados serán:
- Valor de Ohms resistencia 1.
- Valor de Ohms resistencia 2.
- Valor de Ohms resistencia 3.
- Voltaje de la fuente.
- Tipo de circuito: Serie, paralelo o mixto, según corresponda la selección.
- Nombre del usuario.
Los resultados entregados por la aplicación deben ser presentados con el nombre del usuario y los siguientes datos procesados:
- Valor en Ohms de la resistencia equivalente.
- Valor en Ampere de la resistencia total.
- Valor en Amperes de las corrientes parciales.
  #2 (permalink)  
Antiguo 02/07/2015, 00:10
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: programa c++

Antes de que te cierren el hilo te cuento:

  • No se hacen tareas, se ayuda. Si quieres que te hagamos la tarea pide presupuesto... seguro que por 50€ alguno te hace la práctica en 10 minutos.
  • Para que te ayudemos tienes que poner la parte del código donde te has atascado y explicar un poco lo que te sucede... si pones un fragmento que se pueda compilar y ejecutar mejor que mejor.
Un saludo
  #3 (permalink)  
Antiguo 02/07/2015, 15:33
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: programa c++

esto es lo que llevo pero no funciona

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <cmath>
#include <cstdlib>


int _tmain(int argc, _TCHAR* argv[])
{
float a,b,c,r,f,p,h,m,mc,opcion2 ,opcion3;
int op;

printf("\t.ingrese el numero del calculo que desea realizar:");
printf("\n1.calculo de resistencia equivalente");
printf("\n2.calculo de corriente");
printf("\n3.salir");
scanf("%d",&op);
do{
switch(op)
{
case 1:
printf( "\t.seleccione el numero de circuito:");
printf("\n1.resistencia equivalente para circuito serie");
printf("\n2.resistencia equivalente para circuito paralelo");
printf("\n3.resistencia equivalente para circuito mixto");
scanf("%d",&opcion2);

switch(op)
case 1:
printf("\n1.resistencia equivalente para circuito serie");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);

switch(op)

{
printf("resistencia equivalente= %3.2d (ohms)", a+b+c);
}
break;
case 2:
printf("\n2.resistencia equivalente para circuito paralelo");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);
switch(op)

{
printf("resistencia equivalente= %3.2d (ohms)", (1/((1/a)+(1/b)+(1/c))));
}
break;
case 3:
printf("\n3.resistencia equivalente para circuito mixto");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);
switch(op)
{
printf("resistencia equivalente= %3.2d (ohms)", (1/((1/a)+(1/b)))+(c));
}
do{
switch(op)
{
case 1:
printf( "\t.seleccione el numero de circuito:");
printf("\n1.corriente para circuito serie");
printf("\n2.corriente para circuito paralelo");
printf("\n3.corriente equivalente para circuito mixto");
scanf("%d",&opcion3);

switch(op)
case 1:
printf("\n1.corriente para circuito serie");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);
printf("introduzca valor de la fuente:");
scanf("%d",&f);

switch(op)

{
printf("corriente= %3.2d (A)", (f/(a+b+c)));
}
break;
case 2:
printf("\n2.corriente para circuito paralelo");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);
printf("introduzca valor de la fuente:");
scanf("%d",&f);
switch(op)

{
printf("corriente= %3.2d (A)", (f/(1/((1/a)+(1/b)+(1/c)))));
}
break;
case 3:
printf("\n3.corriente para circuito mixto");
printf("indroduzca Valor de Ohms resistencia 1: ");
scanf("%d",&a);
printf("indroduzca Valor de Ohms resistencia 2:");
scanf("%d",&b);
printf("introduzca Valor de Ohms resistencia 3:");
scanf("%d",&c);
printf("introduzca valor de la fuente:");
scanf("%d",&f);
switch(op)
{
printf("corriente= %3.2d (A)", (f/(1/((1/a)+(1/b)))+(c)));

break;

}

}

break;

default:
printf("error ingrese de nuevo");
break;

}
while(op);
printf("\t.ingrese el numero del calculo que desea realizar:");
printf("\n1.calculo de resistencia equivalente");
printf("\n2.calculo de corriente");
printf("\n3.salir");
scanf("%d",&op);
while(op!=5);

return 0;
}
  #4 (permalink)  
Antiguo 03/07/2015, 02:01
 
Fecha de Ingreso: julio-2015
Mensajes: 6
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: programa c++

Bueno, soy muy nuevo en esto, pero creo que aquí falta un paréntesis
printf("resistencia equivalente= %3.2d (ohms)", (1/((1/a)+(1/b)))+(c));
En todo caso, yo comprobaría que las resistencias a, b y c no son cero ninguna de ellas; y haría la cuenta en una variable aparte.
  #5 (permalink)  
Antiguo 03/07/2015, 02:24
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: programa c++

rayeitor tiene mucha razón... aunque parezca una tontería hay que tener presente condiciones de error básicas como divisiones entre cero para evitar que nuestro código funcione de forma incorrecta.

Por otro lado, yo te recomendaría dividir un poco las operaciones a realizar para no tener un número elevado de paréntesis... al final consigues que leer la operación se convierta en un castigo.

Una característica que puedes usar es la prioridad de las operaciones: El producto y la división se ejecutan antes que la suma y la resta, por lo que una operación tal que: (1/((1/a)+(1/b)))+(c)) es equivalente a 1/(1/a+1/b+c).

Si además juegas con los espacios el resultado puede ser mucho más elegante:
1/(1/a + 1/b + c)

Por supuesto, si aun con estos cambios la ecuación sigue siendo complicada de leer, lo mejor es dividirla, usando variables para almacenar los parciales.

Tu piensa que a la hora de tirar código una de tus principales preocupaciones debería ser que el código sea legible.

Un saludo

Etiquetas: int, programa
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:48.