Resultados 1 al 15 de 15

Tema: Consulta simple C++

  1. #1
    i like turtles somewhere.com Avatar de ArKnGl
    Fecha de ingreso
    05 oct, 11
    Mensajes
    622

    Consulta simple C++

    Buenas les explico

    tengo que hacer un programa en el cual tengo que preguntarle(en consola) al usuario si quiere realizarse algún tipo de "test" de esos que te preguntan varias cosas como por ejemplo preguntan:
    "
    ¿ud cuanto come al dia?
    a)1 vez al día
    b)2 veces al día
    c)3 veces al día
    d)mas de 4 veces al dia
    "

    cada opción suma un numero que al final se suma para enviar el mensaje correspondiente a la suma de estos.
    el usuario debe ingresar la letra de su opción, pero la verdad no puedo hacer que la letra que ingrese el usuario, adquiera un valor y se sume con los otras respuestas para enviar el mensaje final, he usado variables en char, en int y no me sale, la verdad reconosco que aun me falta mucho, pero quisiera que me ayudaran con esta inquietud.

    cualquier cosa se agradece
    Dap:SansaFuze V2 / Amp: Fiio e11 / IEM: Fischer DBA-02 mkII, Hifiman Re-Zero, Audiotechnica ck10(semi muertos ) / Fullsize: Sennheiser hd25-1-II / Parlantes: Edifier R1600T plus

  2. #2
    Programmar Avatar de YaRock
    Fecha de ingreso
    27 jun, 07
    Ubicación
    North Belloto
    Mensajes
    243
    Hola como estas,
    La verdad no te entendi bien que fue lo que no te salio.
    Por lo comun lees una variable por consola, pero el valor a calcular es algo interno de tu programa... el problema lo tienes con leer dato de pantalla??

    Enviado desde mi U20i usando Tapatalk 2

  3. #3
    i like turtles somewhere.com Avatar de ArKnGl
    Fecha de ingreso
    05 oct, 11
    Mensajes
    622

    Re: Consulta simple C++

    el problema es que el usuario debe ingresar "simbolo" letra (a,b,c,d,e) y dependiendo de que letra ingreso debo asignarle (dentro del programa) un valor numérico, que se sumara con los siguientes letras que ingresara el usuario a medida que va respondiendo las preguntas...

    eso, es un test de esos que salen en algunos libros y diario, uno responde la pregunta según las opciones que te entregan y respuesta que doy adquiere un valor numérico, luego la suma de todos los valores se comparan con una tabla final y te dicen la "conclusión del test".

    saludos

    pd: estoy bn aca estudiando y tu?
    Dap:SansaFuze V2 / Amp: Fiio e11 / IEM: Fischer DBA-02 mkII, Hifiman Re-Zero, Audiotechnica ck10(semi muertos ) / Fullsize: Sennheiser hd25-1-II / Parlantes: Edifier R1600T plus

  4. #4
    Programmar Avatar de YaRock
    Fecha de ingreso
    27 jun, 07
    Ubicación
    North Belloto
    Mensajes
    243
    Entonces puedes hacer esto
    Si ya conoces la cantidad de preguntas.
    Creas un arreglo de dos dimensiones. Una dimension char y la otra int.
    Por cada pregunta lees la respuesta del usuario y la dejas en el elemento char del arreglo.
    Una vez que recopiles las alternativas.
    Te faltaria darle el valor de cada alternativa. Esto lo puedes hacer al momento de guardar la alternativa en el arreglo, asi te quedaria algo como esto.
    C,20
    E,5

    Donde al final del proceso, con un ciclo sumas los elemtnos int del arreglo y tienes tu sumatoria de alternativas..

    Enviado desde mi U20i usando Tapatalk 2

  5. #5
    Desarrollador Avatar de waiflih
    Fecha de ingreso
    27 jul, 08
    Ubicación
    Santiago
    Mensajes
    475

    Re: Consulta simple C++

    Y probaste haciendo algo como

    if(respuesta='a')
    suma+=1
    else if(respuesta='b')
    suma+=2
    ...etc
    W̢͎̳̞̲͈̪̳̻ͮͩȁ̟̳ͬ̔͒̈́ͦ͠i̞̤̝̟ͫ̽̂̈́ͪ͐͘f͕͐͑ͪ͐ͦ͋ͮ̅l͚̗̎ͫ̌ ̙î̗̬͓͍͍̳̥͆̕͠h

  6. #6
    Puros Problemas Avatar de FaneL
    Fecha de ingreso
    25 may, 08
    Mensajes
    843

    Re: Consulta simple C++

    Cita Iniciado por YaRock Ver mensaje
    Entonces puedes hacer esto
    Si ya conoces la cantidad de preguntas.
    Creas un arreglo de dos dimensiones. Una dimension char y la otra int.
    Por cada pregunta lees la respuesta del usuario y la dejas en el elemento char del arreglo.
    Una vez que recopiles las alternativas.
    Te faltaria darle el valor de cada alternativa. Esto lo puedes hacer al momento de guardar la alternativa en el arreglo, asi te quedaria algo como esto.
    C,20
    E,5

    Donde al final del proceso, con un ciclo sumas los elemtnos int del arreglo y tienes tu sumatoria de alternativas..

    Enviado desde mi U20i usando Tapatalk 2
    this.
    Mi nuevo PC:
    ECS P67H2-A2
    INTEL Core i3 2100 3.1Ghz
    HITACHI SATA3 500GB
    CORSAIR Vengeance 8GB DDR31666
    ASUS Geforce GTX550 1Gb DDR5

    -Mi Feedback-

  7. #7
    COD 4 Player :D
    Avatar de lampard_8
    Fecha de ingreso
    15 oct, 07
    Ubicación
    Santiago, pero Antofa se lleva en el (L)
    Mensajes
    2,354

    Re: Consulta simple C++

    tiempo atras tuve un ejercicio parecido y me funciono como dijo waifilih
    Intel Q6600@ 3.6 Ghz // Sunbeam CCF // Biostar Tpower I45 // ASUS 5850 DIrectCU // G.Skill PI 2x2GB
    HP w2207h // Topower M5 SilentEZ 600w // Thermaltake Armor Black // Western Digital Sata II 500GB
    Microsoft Sidewinder X-5 // Razer ExactMat Xcontrol // Logitech Z4




  8. #8
    Pajarito Nuevo Avatar de Rapska
    Fecha de ingreso
    06 jul, 12
    Mensajes
    6

    Re: Consulta simple C++

    Cita Iniciado por waiflih Ver mensaje
    Y probaste haciendo algo como

    if(respuesta='a')
    suma+=1
    else if(respuesta='b')
    suma+=2
    ...etc
    iba a decir algo muy parecido a esto...
    Pudiste solucionar el problema¿?
    Si no, puedes intentar esto. Pero si mal no recuerdo, sería

    if(respuesta=='a'){--}

    creo xD

  9. #9
    Nadie me gana Avatar de andresgamer
    Fecha de ingreso
    27 jul, 09
    Ubicación
    Santiago y Curicò
    Mensajes
    158

    Re: Consulta simple C++

    Cita Iniciado por waiflih Ver mensaje
    Y probaste haciendo algo como

    if(respuesta='a')
    suma+=1
    else if(respuesta='b')
    suma+=2
    ...etc

    x2 con esto te lo dejoo clarito para q no te des tantas vueltas

  10. #10
    Pajarito Nuevo Avatar de tolueno7
    Fecha de ingreso
    28 feb, 08
    Mensajes
    7

    Re: Consulta simple C++

    Un select case es lo mas adecuado y le puedes dar diferente orden por pregunta (como los test de las minas) por ejemplo:

    //Pregunta 1
    switch(letra){
    case 'a': caso_uno++;break;
    case 'b': caso_dos++;break;
    case 'c': caso_tres++;break;
    default:puts("error");
    }

    //Pregunta 2
    switch(letra){
    case 'a': caso_tres++;break;
    case 'b': caso_dos++;break;
    case 'c': caso_uno++;break;
    default:puts("error");
    }

  11. #11
    ENTERO CHORO Avatar de gilberts
    Fecha de ingreso
    23 jun, 09
    Ubicación
    Santiago, Puente Alto
    Mensajes
    55

    Re: Consulta simple C++

    arriba te dijeron todo correr 2 arreglos y asignar con algunos if, depende de tu concimiento como dices que no cachas mucho yo te recomendaria el if
    AMD Phenom II x2 555 3.2 ghz
    ATI HD 3870 DDR4 512MB 256BITS
    2.5 GIGA 667Mhz PATRIOT
    ECS A780GM-A ULTRA


  12. #12
    Moderador

    Moderador
    Avatar de [VJ]
    Fecha de ingreso
    09 ene, 06
    Ubicación
    Santiago, Chile
    Mensajes
    10,255

    Re: Consulta simple C++

    Es posible que este leyendo un char* (un string) en vez de un char solo, aunque yo tampoco entendi muy bien la pregunta.


    Cotiza tu notebook en SoloNotebooks

    Arma tu tarro en SoloHardware

    Encuentra tu nuevo LCD/LED en SoloElectro


  13. #13
    Usuario Avatar de ryan.chappelle
    Fecha de ingreso
    15 nov, 05
    Ubicación
    Temuco, CHILE
    Mensajes
    180

    Re: Consulta simple C++

    En ninguna parte dice qué es "respuesta", pero dado que el tópico dice Consulta simple C++ asumiré que, bueno, se está usando herramientas de C++. Escrito más o menos de memoria un posible pseudocódigo C++ para evaluar una pregunta es como sigue, genérico para evitar esos ifs (se omiten los #include necesarios):

    Código:
    const unsigned NUM_OCIONES=5;
    string respuesta;
    string opciones[NUM_OPCIONES] = { "a", "b", "c", "d", "e"};
    unsigned valores[NUM_OPCIONES] = {1, 2, 3, 4, 5}; // debe tener el mismo tamaño que opciones
    .... // plantear la pregunta al usuario
    cin>> respuesta; // insertar el valor o letra
    ... // validar que la respuesta está en opciones[], queda como ejercicio para el lector
    // -- Alternativa 1 para conseguir la respuesta:
    const unsigned indice_respuesta= distance( opciones, find(opciones+0, opciones+NUM_OPCIONES, respuesta) );
    // a este punto, valores[indice_respuesta] es el valor de la respuesta del usuario
    // -- Alternativa 2 para conseguir la respuesta:
    const unsigned* puntero_respuesta= valores + find(opciones+0, opciones+NUM_OPCIONES, respuesta) - opciones;
    // a este punto, *puntero_respuesta es el valor de la respuesta del usuario
    ...
    Obviamente queda de tarea cómo generalizar este código para N preguntas, M respuestas, o para valores dinámicos de respuestas, etcétera.
    Última edición por ryan.chappelle; 23/08/2012 a las 01:50 Razón: + alternativa

  14. #14
    localhost Avatar de Neo Smith
    Fecha de ingreso
    03 jul, 09
    Ubicación
    Valdivia, Chile
    Mensajes
    240
    Eso es muy engorroso y ocupa muchas lineas de código, como mencionaron anteriormente mejor ocupa arreglos bidimensionales

  15. #15
    Usuario Avatar de ryan.chappelle
    Fecha de ingreso
    15 nov, 05
    Ubicación
    Temuco, CHILE
    Mensajes
    180

    Re: Consulta simple C++

    NeoSmith: es lo mismo, sólo que es la manera C++: genérico y extensible. Además si consideras que una sola línea de cálculo, que no tiene más dependencias que simplemente el estándar de C++, es "mucho", pues tienes problemas más graves que si lo haces en C++ o no.


    En cualquier caso sí, desde un punto de vista metodológico los arreglos bidimensionales son la solución de perillas para el problema.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*