Bienvenido a Preguntas omegaUp, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Categorías

0 votos

He resuelto el problema usando C++, logré los 100 puntos.
declaré como variables

int cuantos,cont=0;
float saldo,cant;
char tipo;
cin>>saldo;
cin>>cuantos;

y a la hora de imprimir, imprimo pues como es común:
cout<<"$"<<saldo;

Quiero que mis alumnos resuelvan el problema usando el lenguaje que ellos decidan, es decir Java o C. El problema es que no les da los 100 puntos.

Ejemplo de solución hecho Java (literalmente traducido de mi código c++) pero nose dónde este el problema:

import java.util.Scanner;
public class Main
{

public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);

    int cuantos,cont=0;
    float saldo,cant;
    String tipo;
    saldo = entrada.nextFloat();    
    cuantos = entrada.nextInt();
    
    while(cont<cuantos){
        tipo = entrada.next();    
        cant = entrada.nextFloat();
        
        if(tipo.equals("G") && (saldo-cant)>=0)
            saldo = saldo - cant;
        else
            if(tipo.equals("G") && (saldo-cant)<0){
                System.out.println("No hay suficiente dinero");
                return;
            }
            else
                saldo = saldo + cant;
        cont++;
    }
    System.out.println("$"+saldo);
}

}

por pgocegue (150 puntos)

Por favor ingresa o regístrate para responder a esta pregunta.

0 votos

Debe ser por la precisión, como todos usan cout de la misma forma (default), tienen el mismo resultado que es el AC, en los demás lenguajes debe truncar de forma distinta eso ocasiona que no siempre de AC, a mi me parece que ese es el problema, aunque tampoco estoy seguro, saludos; te adjunto este link que habla de un problema similar, https://stackoverflow.com/questions/33854825/stdcout-with-floating-number.

por CarlosAlberto1x9 (190 puntos)
...