[C con Clase] Problema con array

Sebastian Toledano toledanosebastian en gmail.com
Sab Mayo 20 20:46:58 CEST 2017


Buenas tardes gente, mi problema es el siguiente: necesito que if tome una
determinada decisión basándose en uno de dos valores de un array que yo
ingrese por teclado.

El ejercicio no me lo exije ya que se debe resolver con lo aprendido. El
uso del array solo es para satisfacer mi curiosidad.

Codigo C++:

/*
Este programa toma valores de entrada y devuelve
el costo diario que implica el uso de un automovil.
*/
#include <iostream>
#include <conio.h>

using namespace std;
    float K=0;//Kilometros conducidos
    float C=0;//Precio/litro de combustible.
    float E=0;//Valor de estacionamiento.
    float Vp=0;//Valor del peaje.
    float Co_d=0;//Consumo  diario.
    float Co_s=0;//Consumo semanal.
    float Co_m=0;//Consumo mesual.
    float Co_3m=0;//Consumo c/90 dias.
    int Nv=0;//Cantidad de veces que se pago.

int main()
{
    char peaje[]={'s','n'};
    char s;
    char n;

    cout << "Kms conducidos/dia: ";
    cin >> K;
    cout << "Valor de combustible/Litro: ";
    cin >> C;
    cout << "Estacionamiento/dia: ";
    cin >> E;
    cout << "Pago peaje? ";
    cin >> peaje;

    if (peaje[0])
    {
        cout << "Cuanto pago? ";
        cin >> Vp;
        cout << "Cuantas veces? ";
        cin >> Nv;
        Co_d = ((K+C+E)+Vp*Nv);
    }
    else
        if(peaje[1])
         {
            Co_d = K+C+E;
         }

    if (Vp >= 1)
        Co_s = 6*(K+C+E+Vp);
    else
        Co_s = 6*(K+C+E);

    if (Vp >= 1)
        Co_m = 26*(K+C+E+Vp);
    else
        Co_m = 26*(K+C+E);

    if (Vp >= 1)
        Co_3m = 90*(K+C+E+Vp);
    else
        Co_3m = 90*(K+C+E);

    cout << "\nC/dia\t\t$" << Co_d << endl;
    cout << "C/semana\t$" << Co_s << endl;
    cout << "C/mes\t\t$" << Co_m << endl;
    cout << "C/90 dias\t$" << Co_3m << endl;

    return 0;
}

Mi problema consiste en que si ingreso el valor n cuando me pregunta si
pague peaje, inmediatamente me pregunta cuanto y cuantas veces lo que
significa que va a sumar al valor general. Podría ingresar 0 en ambos casos
pero no es la idea.
Ignoren todo a partir de Co_s, pienso hacer que el programa de la
posibilidad de elegir si computo diario, semanal, mensual, etc. Pero
primero necesito comprender donde estoy fallando con el array.
Los valores 0 y 1 en if, corresponderían a las posiciones en el array de
los caracteres s y n. No estoy seguro de que mi razonamiento sea correcto.

Les pido disculpas si molesto con un problema que puede ser nimio para
otros. Muchas gracias comunidad.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20170520/83e2f5ed/attachment.html>


Más información sobre la lista de distribución Cconclase