Dev - C++ - Problema c++

   
Vista:

Problema c++

Publicado por Novato2015 (2 intervenciones) el 07/03/2015 04:13:40
Hola a todos.

Es primera vez que entro a esta pagina, necesito ayuda con un problema de c++, ahora tuve un parcial en la universidad
y el problema decía mas o menos lo siguiente:

crear un menu para simular un celular y que contenga lo siguiente:

1. Recargar saldo
2. Hacer llamadas
3. Hacer SMS
4. Revisar Datos
5. Salir

Tener en cuenta que:

1. el celular tiene un saldo inicial de 5$
2. al ingresar el la opción uno, si la recarga del usuario es impar regalarle 1$ de saldo, si es impar 1.5$ y si es primo 2$ sin usar %
3. cuando se entre en la opcion 4 y 5 que determine el mensaje "LLAMADA O SMS" y regresar al menu tomar en cuenta que cuando se hace la llamada o el sms debe descontarse del saldo y verse reflejado en la opcion 4.

LOS UNICOS TEMAS QUE HEMOS VISTO EN CLASES SON:
1. Sentencia condicional
2. Sentencia switch
3. Bucles
Bucle for
Bucle while
Bucles anidados
Sentencias: continue y break

De antemano les doy las gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema c++

Publicado por Rene gar (50 intervenciones) el 09/03/2015 01:35:11
Te dejo mi version se pueden hacer un monton de mejoras
como seria encapsular todo el codigo en funciones pero no se si ya lo hayas visto

asi que te dejo este codigo solo con lo esencial

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include<iostream>
#include<cstdlib>//esta libreria es necesaria para limpiar la pantalla
using namespace std;
 
 
 
int main(){
 
    short opcion=-1,recarga;
    float saldo=5;
    long long telefono;//long long sirve para guardar numeros mayoresa 8 cifras
    string mensaje;
 
 
    while(opcion!=5){//se mantendara dentro del while mientras no sea 5
 
        cout<<"     ******Simulador de Celular******"<<endl;
        cout<<"Escoga una opcion"<<endl;
        cout<<"1: Recargar saldo"<<endl;
        cout<<"2: Hacer llamada"<<endl;
        cout<<"3: Hacer SMS"<<endl;
        cout<<"4: Revisar saldo"<<endl;
        cout<<"5: Salir"<<endl;
 
        cin>>opcion;//lee la opcion
 
 
        switch(opcion){
        case 1:
            cout<<"Cuanto saldo quiere ingresar "<<endl;
            cin>>recarga;
            cout<<"Saldo cargado"<<endl;
 
            if(recarga%2==0){//si es para añade un peso 
                saldo=saldo+recarga+1;
            }
            else if(recarga%2!=0){//si es impar añade 1.5
                saldo=saldo+recarga+1.5;
            }
            break;
 
        case 2:
            cout<<"Ingrese el telefono"<<endl;
            cin>>telefono;
            cout<<"Llamando al "<<telefono<<endl;
            break;
 
        case 3:
            cout<<"Escriba su mensaje "<<endl;
            cin.ignore(); // descartar el salto de linea
            getline(cin,mensaje);
            cout<<"Mensaje Listo"<<endl;
            break;
 
        case 4:
            cout<<"su saldo es de "<<saldo<<endl;
            break;
 
          }
 
          cin.get();
          cin.get();
          system("cls");//limpia la pantalla
       }
 
return 0;}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema c++

Publicado por agustin (310 intervenciones) el 09/03/2015 03:06:48
En el ejercicio se dice que no se puede usar el operador de residuo %. Hay un truco para hacer esas cosas sin el. He creado un mini ejemplo para que veas como funciona:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<iostream.h>
//---------------------------------------------------------------------------
 
bool EsPrimo(double valor)
{
   bool retval=true;
   int parteEntera;
   double parteDecimal;
 
   for(int i=2;i<valor && retval != false;i++){
      parteEntera = valor/i;
      parteDecimal = valor/i - parteEntera;
      if(parteDecimal == 0){
         retval=false;
      }
   }
   return retval;
}
//---------------------------------------------------------------------------
 
bool EsPar(double valor)
{
   bool retval;
   int parteEntera;
   double parteDecimal;
 
   parteEntera = valor/2;
   parteDecimal = valor/2 - parteEntera;
   if(parteDecimal == 0){
      retval=true;
   }else{
      retval=false;
   }
   return retval;
}
//---------------------------------------------------------------------------
 
int main()
{
   double recarga,saldo=100;
 
   cout<<"Cuanto saldo quiere ingresar "<<endl;
   cin>>recarga;
   cout<<"Saldo cargado"<<endl;
   if(EsPrimo(recarga)){
      saldo=saldo+recarga+2;
      cout<<"El valor es primo"<<endl;
   }else if(EsPar(recarga)){//si es para añade un peso
      saldo=saldo+recarga+1;
      cout<<"El valor es par"<<endl;
   }else{//si es impar añade 1.5
      saldo=saldo+recarga+1.5;
      cout<<"El valor es impar"<<endl;
   }
   cout<<"Saldo final: "<<saldo<<endl;
   cin.get();
   cin.get();
   return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema c++

Publicado por jesus alberto jesu_lobito@hotmail.com (1 intervención) el 26/11/2015 16:42:24
Hola a todos:
Bueno nesecito ayuda me dieron un trabajo en la universidad que dice:
Programa para recargar crédito a un móvil
1: entel
2: tigo
3: viva
4: salir
Ingrese el monto de transferencia
R-
Numero del móvil
R-
Nombre a quien se hará la transferencia
R-
Se le transfirió
R- 30
Al numero
R- 74563124
Nombre a quien se transfirió
R- miguel velasquez

Ese era el problema alguíen me ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema c++

Publicado por Novato2015 (2 intervenciones) el 09/03/2015 05:33:22
Muchisimas gracias, me servirá para estudiar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar