Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: xc0d3 en Junio 11, 2012, 11:30:35 PM

Título: [SOLUCIONADO] Ayuda con codigo en c
Publicado por: xc0d3 en Junio 11, 2012, 11:30:35 PM
Elaborar un programa que acepte por teclado números hasta que exista la condición de término -99. Cada vez que se ingrese un número este debe indicar si es menor o mayor que el ingresado anteriormente.

#include <cstdlib>
#include <iostream>
#include <conio.h>
float numero=0;
float mayor=0 , menor=99999999;
int main()
{
   
   
do
{
    printf ("ingrese el numero : ");
    scanf("%f",& numero);

if (numero<menor)
{
menor=numero;

}

if (numero>mayor)
{
mayor=numero;

}



printf("El Mayor es: %f\n", mayor);
printf("El Menor es: %f\n", menor); 


} while (numero !=-99);
   

    getch ();
   
}
help
Título: Re:ayuda con codigo en c
Publicado por: STANHMAL! en Junio 12, 2012, 01:52:53 AM
Hola, bien veo que cometes muchos errores,

1)

Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>


Estas bibliotecas son de C++ las de C son :


#include <stdio.h>
#include <stdlib.h>


y conio.h es una biblioteca basura, es decir, no es necesaria para nada, el getch (); lo puedes reemplazar por getchar(); o en caso de ser necesario doble  getchar();

2)

Usas variables globales, nunca las uses, son mala practica de programación.


3)

Entrando en materia, supongo que el error que tienes es que no muestra si el número ingresado es mayor que el anterior ingresado, si no que por el contrario muestra el mayor de todos los ingresados y el menor de los mismos, de ser eso acá te lo dejo corregido :


#include <stdio.h>
//#include <stdlib.h> // No es necesaria.

int main(void){
    float numero,         // nuemro actual
          anterior = -99; // nuemro anterior

    do{
        printf("Ingrese un numero : ");
        scanf("%f", &numero);

        // Se mira si es la primera vez que ingresa un numero
        if(anterior == -99)
            printf("El numero ingresado es el mayor\n");
        else { // Si no es la primera vez
            // Se mira cual es mayor
            if (numero > anterior)
                printf("El numero ingresado es el mayor\n");
            else
                printf("El nuemro anterior es el mayor\n");
        }

        //Se guarda el numero
        anterior = numero;

    }while(numero!=-99);

    getchar();
    getchar();

    return 0;
}


$4!u2
Título: Re:ayuda con codigo en c
Publicado por: xc0d3 en Junio 12, 2012, 01:29:17 PM
bro cada ves k ingrese un numero ejmplo ingreso 2 luego el 3 entonces 3 es mayor k dos luego ingreso 5 entonce 5 mayor q 3 asi debe ser :D y tiene k aver una condicion si los dos numeros son iguales :D gracias bro :D
Título: Re:ayuda con codigo en c
Publicado por: STANHMAL! en Junio 12, 2012, 01:55:16 PM
simplemente modifica los printf que están dentro del else y  listo, lo de si son iguales simplemente es añadirle una condición :


...
        if(anterior == -99)
            printf("El numero ingresado es el mayor\n");
        else { // Si no es la primera vez
            // Se mira si son iguales
            if (numero == anterior)
                printf("Los numeros son iguales\n"); // modificar para mostrar los numeros
            // Se mira cual es mayor
            else if (numero > anterior)
                printf("El numero ingresado es el mayor\n"); // Modificar para mostrar los numeros
            else
                printf("El nuemro anterior es el mayor\n"); // modificar para mostrar los numeros
        }
...


$4!u2
Título: Re:ayuda con codigo en c
Publicado por: ANTRAX en Junio 12, 2012, 03:09:29 PM
Luego avisen si quedo solucionado para modificar el titulo
Título: Re:LISTO Y EN C++ Y EN C
Publicado por: xc0d3 en Junio 12, 2012, 03:44:36 PM
Código (cpp) [Seleccionar]
#include<iostream>//LIBRERIAS
#include <conio.h>
using namespace std;
int main() {

int acu;
int n;
int numero;

numero=0;
acu=0;
do {//SIRVE PARA HACER MENUS
printf ("igrese un  numero\n");//SALIDA DE DATOS
scanf ("%d", & numero);//ENTRADA DE DAATOS
if (acu>numero) {
printf("%d Mayor Que \n" ,numero);
} else {
if (acu==numero) {
printf ( "%d El numero es  Igual A %d\n", numero,acu);
} else {
printf("%d el numero es menor Que %d\n",numero, acu );
}
}
acu=numero;
} while (numero!=-99);
printf("como presiono -99 ahora saldra del programa ");
getch ();
return 0;

}



#define SIN_TIPO string


int main() {

int acu;
SIN_TIPO n;
int numero;

numero=0;
acu=0;
do {
cout<<"igrese un  numero"<<endl;
cin>>numero;
if (acu>numero) {
cout<<n<<" Mayor Que "<<numero<<endl;
} else {
if (acu==numero) {
cout<<acu<<" El numero es  Igual A "<<numero<<endl;
} else {
cout<<acu<<" el numero es menor Que "<<numero<<endl;
}
}
acu=numero;
} while (numero!=-99);
cout<<"como presiono -99 ahora saldra del programa "<<endl;

return 0;

}

este seria en c++ muchas gracias por la ayuda :D
Título: Re:ayuda con codigo en c
Publicado por: STANHMAL! en Junio 12, 2012, 04:18:19 PM
bien ^^

en el código de C++ te hace falta el uso del std, usalo como

Código (cpp) [Seleccionar]
using namespace std;

antes del main, y me queda la duda, para que usas el string n?

$4!u2