[C con Clase] switch no suma

Marcelo marcefont en gmail.com
Mar Sep 18 03:00:44 CEST 2012


Ejercicio sencillo para lógica. Se trata de sumar bolillas de tres colores diferentes las cuales se extraen de a una por vez. Mi problema es que no me suma y me muestra al final todos los valores en cero :@. La variable vOpc está como char porque inicialmente la definí como int (leí que un caracter es un entero y se trataría en éste caso de la misma manera) pero solo me pedía el primer ingreso y luego el bucle se repetía hasta terminar sin pedir nada más.


#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <ctype.h>

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    int i , vConAm , vConRo , vConVe;
    char vOpc;
    vConAm = 0 ; vConRo = 0 ; vConVe = 0;

    for(i = 0 ; i <= 10 ; i++){
        clrscr();
        cout << "Bolilla numero: " << i << "\n\n";
        cout << "Ingrese color de bolilla: 'A' , 'R' , 'V' :\t\a";
        cin >> vOpc;
        toupper(vOpc);
            switch(vOpc){
                case 'A':
                vConAm = vConAm++;
                break;
                case 'R':
                vConRo = vConRo++;
                break;
                case 'V':
                vConVe = vConVe++;
                break;
                //default:
                //cout << "\n\n\tOpcion no valida.";
                }
            }
    cout << "\n\nTotal de Amarillas: " << vConAm;
    cout << "\nTotal de Rojas: " << vConRo;
    cout << "\nTotal de Verdes: " << vConVe << "\n\n";


    system("pause");
    return 0;
}


Desde ya, muchísimas gracias. :-)


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