Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - leosansan

#1241
En segundos no restastes los correspondientes a minutos y horas. El resto estaba O.K:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int hin,min,seg,segsum;
    int soloSegundos,hOut,mOut,sOut;
//capturar en la pantalla los datos
cout<<"Digite la hora (24hrs): ";
cin>>hin;
cout<<"Digite los minutos: ";
cin>>min;
cout<<"DIgite segundos: "<<endl;
cin>>seg;
//Calculo todo en seg
soloSegundos = hin*3600+(min*60)+seg;

cout<<"Digite los segundos a sumar: ";
cin>>segsum;


soloSegundos += segsum;

hOut = soloSegundos / 3600;
mOut = ((soloSegundos /60)-(hOut*60));
sOut=(soloSegundos-(mOut*60)-(hOut*3600));
cout<<"Horas:  "<<hOut;
cout<<"  Minutos:"  <<mOut;
cout<<"  Segundos:  "<<sOut<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

#1242
Programación C/C++ / Re: Ayuda con un problema;
5 Octubre 2012, 23:04 PM
Cita de: Onigiri en  5 Octubre 2012, 14:51 PM
Veran tengo que ingresar par de temperaturas diarias máx. y min.
El proceso terminara cuando ambas son cero.
Creo que podrías tratarlo con arrays. Como no introduces el número de días previamente, habrá que sobredimensionar el array, cosa que hago en el "define" a 100. Puedes cambiar ese valor a tu caso. Te propongo un código algo diferente, ya que calculo tanto temperaturas máxima y mínimas de las máxima y mínima. Mejor lo ves en "acción":
#include <iostream>
#include <stdio.h>
#define MAX 100
using namespace std;
int main()
{
   int dias=1,i,n=1;
   float max_max=-273,max_min=400,max_media=0,min_max=-273,
       min_min=400,min_media=0,max[MAX],min[MAX],suma_max=0,
       suma_min=0,max_menor_cero=0,min_menor_cero=0;
   cout << "\n\n\t\tIngresar en temperatura maxima 1122 para SALIR"<< endl;
   for (i=0;i<MAX;i++)
       {
           cout << "\nIngresar temperatura maxima = ";
           cin >> max[i];
           cout<<"\nIngresar temperatura minima = ";
           cin >> min[i];
           if (min[i]==0 && max[i]==0) break;
           if (max[i]<0) max_menor_cero++;
           if (max[i]>max_max) max_max=max[i];
           if (max[i]<max_min) max_min=max[i];
           suma_max+=max[i];
           if (min[i]<0) min_menor_cero++;
           if (min[i]<min_min) min_min=min[i];
           if (min[i]>min_max) min_max=min[i];
           suma_min+=min[i];
       }
   cout<<"\nEl numero de dias medidos es = "<<i<< endl;
   cout<<"\nLa temperatura max_max ingresada fue = "<<max_max<< endl;
   cout<<"\nLa temperatura max_min ingresada fue = "<<max_min<< endl;
   cout<<"\nLa temperatura min_min ingresada fue = "<<min_min<< endl;
   cout<<"\nLa temperatura min_max ingresada fue = "<<min_max<< endl;
   cout<<"\nLa temperatura media_max  es = "<<suma_max/(i)<< endl;
   cout<<"\nLa temperatura media_min  es = "<<suma_min/(i)<< endl;
   cout<<"\nPorcentaje de dias (= "<<  max_menor_cero <<") de max inferior a cero es =" <<max_menor_cero*100/(i)<< endl;
   cout<<"\nPorcentaje de dias (= "<<  min_menor_cero <<") de min inferior a cero es =" <<min_menor_cero*100/(i)<< endl;
   cout<<"\n\nPresione cualquier tecla para salir"<< endl;
   getchar ();getchar ();
   return 0;
 }

Espero te sea útil. Saludos!
#1243
Cita de: luchofiattipo en  5 Octubre 2012, 00:33 AM
Leosansan podrias ayudarme el ejercicio esta bien pero hay que Cargar los productos por mes de cada representante por teclado. como seria ?
No entiendo bien tu pregunta. y además ¿qué quiere dedir por teclado?. Entiendo que los tienes que entrar a "mano". Avísame.
Saludos!
#1244
Programación C/C++ / Re: Duda
4 Octubre 2012, 20:18 PM
Cita de: djdac3 en  4 Octubre 2012, 20:06 PM
El problema es que no se efectúa la suma que se debería efectuar
Difícil que sume cuando para empezar, no tienes declarada la función suma en main. Lo demás es un error repetido; cuando te refieras a los "elementos" del array has de usar la expresión A[i]  
Te dejo el código corregido:
#include <iostream>
using namespace std;

void datos(float A[]){
  for(int i=0;i<5;i++)

  {
       cout<<"Ingrese un numero:";
       cin>>A[i];
  }
}
void suma(float A[]){
  for(int i=0;i<5;i++)
       A[i]=A[i]+2;
}
void muestra(float A[]){
   for(int i=0;i<5;i++)
       cout<<"Despues de sumarle 2 queda "<<A[i]<<endl;
}
int main()
{
   float A[5];
   datos(A);
   /*system("cls");*/
   suma( A);
   muestra(A);
  return 0;
}

Saludos!
PD usa las etiquetas "Geshi" en formato C o C++ para "meter" el código entre ellas, si no no se entiende ni pijo.
#1245
Cita de: 1996marioful en  4 Octubre 2012, 18:37 PM
Igual creo que ya entendi el funcionamiento creo que lo que hace es convertir a total en un tipo double temporalmente para hacer esa cuenta
Exacto, lo puedes comprobar con:
#include <iostream>
using namespace std;

int main ()
{
   double promedio;
   int total=8;
   int contadorCalif=3;
   promedio = static_cast <double> (total) / contadorCalif;
   cout << promedio << endl;
}

donde ya promedio toma el valor 2.6667.
Saludos 1996marioful
#1246
Programación C/C++ / Re: Ayuda con Vectores
4 Octubre 2012, 19:12 PM
CitarMuy interesante, especialmente para mí que me muevo en C y apenas en C++. Muchas gracias por la aportación, repito :muy interesante.
Saludos!
#1247
Programación C/C++ / Re: Arreglo bidimensional
4 Octubre 2012, 14:31 PM
Cita de: luiisyolmaan en  4 Octubre 2012, 04:07 AM
Creo que así te funcionará, sólo tienes que cambiar TAM por 20:

void intercambiar (int M[20][20], int f, int c)
{
 
       for (j=0;j<TAM;j++) /*<==intercambio*/
           {
                temp1=a[0][j];
                temp2=a[TAM-1][j];
               a[0][j]= temp2;
               a[TAM-1][j]= temp1;
           }
}
}

Ya me dirás que tal.
Saludos!.
#1248
Cita de: dato000 en  4 Octubre 2012, 00:40 AM
fgets(cadena,100,stdin); /*<==obtiene cadena con espacios incluidos*/

Muy pero muy bueno!! Eso lo sacaste del reto verdad XD... Y
NO lo saqué yo y lo colgué yo en los retos.
Saludos! .... y merecía más puntos por lo corto que es.
#1249
Cita de: Mari2012 en  3 Octubre 2012, 23:33 PM

       printf("Ingrese tamaño de la cadena (maximo 80 caracteres) : ");
       scanf("%d",&tam);<==NO ES LÓGICO ESTE DATO, SE INGRESA LA CADENA Y SE CALCULA
Me cansé de tu código, así que te propongo otro:
#include <stdio.h>
main()
{
    int i=0;
    char cadena [100];
    fgets(cadena,100,stdin); /*<==obtiene cadena con espacios incluidos*/
    while (cadena[++i]!='\0'); /*calcula la longitud de la cadena*/
    i=i-1;
    while (i>=0) */ <==imprime al revés*/
        printf ("%c",cadena [i--]);
    printf ("\nPresione ENTER para salir:");
    while (getchar()!='\n') ;
    return 0;
}

       
#1250
Programación C/C++ / Re: Ayuda con Vectores
4 Octubre 2012, 00:12 AM
Cita de: jadiaz en  3 Octubre 2012, 20:07 PM
Deberia poder ingresar cuantos nombres voy a necesitar, luego al pedir el primer nombre  "Roman Ruiz" guardarlo en el primer espacio del vector y asi ir agregando.
El código corregido, aunque con la tan denostada función fflush, hace exactamente lo que quieres: introducir nombre y apellido que se va guardando en el array bidimensional. Supongo que existen otras soluciones más óptimas, pero lo mío no es el C++:
Código (cpp) [Seleccionar]
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>

using namespace std;

void ingresa_datos ()
{
    int a, x,cont = 0;
    cout<<"     D A T O S  D E  A L U M N O S "<<endl;
    cout<<" Cuantos datos quiere ingresar <15 maximo>: ";
    cin>>a;
    char ch,nom[100],nomb [a][100];
    for (x=0;x<=a-1;x++)
        {
            cout<<" Nombre del Alumno "<<x+1<<" :";
            fflush (stdin);
            fgets(nom,100,stdin);
            strcpy (nomb [x],nom);
        }
   for (x=0;x<=a-1;x++) /*<===Imprime los nombres introducidos*/
        cout<<nomb[x];
}

main()
{
      ingresa_datos();
}