<br><br><div class="gmail_quote">El 16 de septiembre de 2012 08:03, Oscar Aparicio Holgado <span dir="ltr"><<a href="mailto:enigma-si@hotmail.com" target="_blank">enigma-si@hotmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">
<div dir="ltr">
<div style="font-size:12pt;font-family:'Calibri'">
<div>He visto gente iniciada en C++ nueva en la lista de correo; incluyo este 
programa sencillo (es mi primer programa y tendrá mil maneras de mejorarlo) pero 
puede valer para que vean a través de ejemplos como he logrado lo que el 
programa básicamente hace.</div>
<div> </div>
<div>Estableces un sueldo, conceptos de gastos (ejemplo : coche, luz, comida 
etc) y luego estableces los valores de gastos de cada cosa, luego a través del 
menú te ofrece un mini informe.</div>
<div> </div>
<div>Espero lo disfruten, se aceptan sugerencias.</div>
<div> </div>
<div>un saludo.</div>
<div> </div></div></div></div></blockquote><div><br></div><div><br></div><div>Para quienes estén aprendiendo es chévere. Y si lo pones en un repositorio git? En github o bitbucket? </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div dir="ltr"><div style="font-size:12pt;font-family:'Calibri'">
<div> </div>
<div style="font-size:12pt;font-family:'Calibri'">





<div><font face="Courier New">#include <iostream></font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">using namespace std;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">class gastos</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    private:</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    int sueldo;</font></div>
<div><font face="Courier New">    int vgastos;</font></div>
<div><font face="Courier New">    int ng;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    struct gasto {</font></div>
<div><font face="Courier New">        char 
concepto[50];</font></div>
<div><font face="Courier New">        int 
valor;</font></div>
<div><font face="Courier New">    };</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    public:</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    gasto 
losgastos[9];</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    void menu();</font></div>
<div><font face="Courier New">    void 
establecerg();</font></div>
<div><font face="Courier New">    void 
establecervg();</font></div>
<div><font face="Courier New">    void informe();</font></div>
<div><font face="Courier New">    void 
establecesueldo(int);</font></div>
<div><font face="Courier New">    int sueldoacero();</font></div>
<div><font face="Courier New">    int gastosacero();</font></div>
<div><font face="Courier New">};</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">void gastos::menu()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">char eleccion;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">cout << "Elige la opci\xa2n :" << 
endl;</font></div>
<div><font face="Courier New">cout << "---------------------" << 
endl;</font></div>
<div><font face="Courier New">cout << "1.- Establecer sueldo." << 
endl;</font></div>
<div><font face="Courier New">cout << "2.- Establecer conceptos de 
gastos." << endl;</font></div>
<div><font face="Courier New">cout << "3.- Establecer valores de gastos." 
<< endl;</font></div>
<div><font face="Courier New">cout << "4.- Mostrar informe." << 
endl;</font></div>
<div><font face="Courier New">cout << "5.- Salir del programa." << 
endl;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">cout << endl;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">cin >> eleccion;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">        switch 
(eleccion)</font></div>
<div><font face="Courier New">            
{</font></div>
<div><font face="Courier New">            
case '1':</font></div>
<div><font face="Courier New">                
int valor;</font></div>
<div><font face="Courier New">                
cout << "Introduce el valor del sueldo en euros : "; cin >> valor; 
cout << endl;</font></div>
<div><font face="Courier New">                
establecesueldo(valor);</font></div>
<div><font face="Courier New">                
menu();</font></div>
<div><font face="Courier New">                
break;</font></div>
<div><font face="Courier New">            
case '2':</font></div>
<div><font face="Courier New">                
if(sueldo == 0)</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
cout << "Error, debes establecer un sueldo primero.\n";</font></div>
<div><font face="Courier New">                    
menu();</font></div>
<div><font face="Courier New">                    
break;</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New">                
else</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
establecerg();</font></div>
<div><font face="Courier New">                    
losgastos[0].valor = 1;</font></div>
<div><font face="Courier New">                    
menu();</font></div>
<div><font face="Courier New">                    
break;</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">            
case '3':</font></div>
<div><font face="Courier New">                
if(losgastos[0].valor == 0)</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
cout << "Error, debes establecer un concepto de gastos 
primero.\n";</font></div>
<div><font face="Courier New">                    
cout << losgastos[0].valor << endl;</font></div>
<div><font face="Courier New">                    
menu();</font></div>
<div><font face="Courier New">                    
break;</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New">                
else</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
establecervg();</font></div>
<div><font face="Courier New">                    
menu();</font></div>
<div><font face="Courier New">                    
break;</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">            
case '4':</font></div>
<div><font face="Courier New">                
if(sueldo == 0)</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
if(losgastos[0].valor == 0)</font></div>
<div><font face="Courier New">                    
{</font></div>
<div><font face="Courier New">                        
cout << "Error, debes establecer un sueldo, conceptos y valores 
primero.\n";</font></div>
<div><font face="Courier New">                        
menu();</font></div>
<div><font face="Courier New">                        
break;</font></div>
<div><font face="Courier New">                    
}</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New">                
else</font></div>
<div><font face="Courier New">                
{</font></div>
<div><font face="Courier New">                    
if(losgastos[0].valor == 0 || losgastos[0].valor == 1)</font></div>
<div><font face="Courier New">                    
{</font></div>
<div><font face="Courier New">                        
cout << "Error, debes establecer un sueldo, conceptos y valores 
primero.\n";</font></div>
<div><font face="Courier New">                        
menu();</font></div>
<div><font face="Courier New">                        
break;</font></div>
<div><font face="Courier New">                    
}</font></div>
<div><font face="Courier New">                    
informe();</font></div>
<div><font face="Courier New">                    
menu();</font></div>
<div><font face="Courier New">                    
break;</font></div>
<div><font face="Courier New">                
}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">            
case '5':</font></div>
<div><font face="Courier New">                
return;</font></div>
<div><font face="Courier New">            
default:</font></div>
<div><font face="Courier New">                
cout << "Escoge una opci\xa2n de las que ofrece el men\xa3..." << 
endl;</font></div>
<div><font face="Courier New">                
cout << endl;</font></div>
<div><font face="Courier New">                
menu();</font></div>
<div><font face="Courier New">                
break;</font></div>
<div><font face="Courier New">            
}</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">void gastos::establecesueldo(int a)</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    sueldo = a;</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">void gastos::establecerg()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    cout << "\xa8" << 
"Cu\xa0ntos gastos quieres declarar? escoje un n\xa3mero del 1 al 10 : "; cin 
>> ng;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    if(ng <= 10)</font></div>
<div><font face="Courier New">        
{</font></div>
<div><font face="Courier New">            
int i, j;</font></div>
<div><font face="Courier New">            
for(i = 0, j = 1; i < ng; i++, j++)</font></div>
<div><font face="Courier New">            
{</font></div>
<div><font face="Courier New">            
cout << "Establece un concepto de gasto (" << j << "/10) : "; 
cin >> losgastos[i].concepto; cout << endl;</font></div>
<div><font face="Courier New">            
}</font></div>
<div><font face="Courier New">        
}</font></div>
<div><font face="Courier New">    else</font></div>
<div><font face="Courier New">    {</font></div>
<div><font face="Courier New">        cout 
<< "Error, debes introducir un numero del 1 al 10...\n";</font></div>
<div><font face="Courier New">        
establecerg();</font></div>
<div><font face="Courier New">    }</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">void gastos::establecervg()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    int i;</font></div>
<div><font face="Courier New">    for(i = 0; i < ng; 
i++)</font></div>
<div><font face="Courier New">    {</font></div>
<div><font face="Courier New">        cout 
<< "Establece valor de gasto en euros para " << 
losgastos[i].concepto << " : "; cin >> losgastos[i].valor; cout 
<< endl;</font></div>
<div><font face="Courier New">    }</font></div>
<div><font face="Courier New">    cout << 
endl;</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">void gastos::informe()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    cout << "Gastos de este 
mes :" << endl;</font></div>
<div><font face="Courier New">    cout << 
"--------------------" << endl;</font></div>
<div><font face="Courier New">    cout << 
endl;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    int i;</font></div>
<div><font face="Courier New">    for(i = 0; i < ng; 
i++)</font></div>
<div><font face="Courier New">    {</font></div>
<div><font face="Courier New">        cout 
<< losgastos[i].concepto; cout << " : "; cout << 
losgastos[i].valor; cout << endl;</font></div>
<div><font face="Courier New">    }</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    vgastos = 0;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    for(i = 0; i < ng; 
i++)</font></div>
<div><font face="Courier New">    {</font></div>
<div><font face="Courier New">        vgastos 
+= losgastos[i].valor;</font></div>
<div><font face="Courier New">    }</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    cout << 
endl;</font></div>
<div><font face="Courier New">    cout << "Sueldo : " 
<< sueldo << endl;</font></div>
<div><font face="Courier New">    cout << "Gastos : " 
<< vgastos << endl;</font></div>
<div><font face="Courier New">    cout << "Te sobra : " 
<< (sueldo - vgastos) << endl;</font></div>
<div><font face="Courier New">    cout << 
endl;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">int gastos::sueldoacero()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    return sueldo = 0;</font></div>
<div><font face="Courier New">    losgastos[0].valor = 
0;</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">int gastos::gastosacero()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    return losgastos[0].valor = 
0;</font></div>
<div><font face="Courier New">}</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">int main()</font></div>
<div><font face="Courier New">{</font></div>
<div><font face="Courier New">    gastos 
objetodeclase;</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    
objetodeclase.sueldoacero();</font></div>
<div><font face="Courier New">    
objetodeclase.gastosacero();</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    
objetodeclase.menu();</font></div>
<div><font face="Courier New"></font> </div>
<div><font face="Courier New">    return 0;</font></div>
<div><font face="Courier New">}</font></div>
<p style="MARGIN-BOTTOM:0cm"><br><font color="#548dd4"><font face="Arial, sans-serif"><font><i><b>Oscar</b></i></font></font></font><br><font color="#e36c09"><font face="Tahoma, sans-serif"><font>Administrador de sistemas 
Linux.</font></font></font></p></div></div></div></div>
<br>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Asdrúbal Iván Suárez Rivera<br>

</div><br><i>Si quieres aprender, enseña. </i>Marco Tulio Cicerón.<br><div><i><br></i></div><div><i>¿Tienes twitter?</i></div><div><i>Sígueme: @asdrubalivan</i></div><br>