tengo un problema en c

letman

wenas gente pues haber me han mandado un ejerciico en c y bueno ya lo tengo hecho pero algo falla CONMO SIEMPRE XD haber si sabeis doned peude fallar

[code.]
#include <stdio.h>
#include <math.h>
#include <stdafx.h>

#define TMAX 99
#define TMIN 0
#define N 10
#define ANCHO 67
#define MEDIA 0.5

main()

{
int Temperatura[]={2,9,15,28,36,45,56,80,92,97};
int decim;
int aux;
int aux2;
int numselec;
int i;
int j;
int clave;
char level='*';
char continuar;
int arr[N];

do
{

    //Introduccion al programa:

    printf ("\nPROGRAMA DE PRACTICA 2\n");
    printf ("\n a.- ¿Que temperatura desea visualizar? (Inserte un numero del 1 al 9)\n");
    printf ("\n b.- Visualizar todas las temperaturas presionando 0\n");

    //Leemos el numero seleccionado

    scanf ("%d", &numselec); fflush (stdin);

    //Realizamos las operaciones de floor y ceil para los numeros no enteros y tambien 
    // ajustamos los caractares que se van a visualizar en la pantalla.

    for(i=0;i<10;i++)
    {
        aux=(Temperatura[i]*ANCHO)/TMAX;
        aux2=(int)floor(aux);
        decim=aux-aux2;

        // Aquí haremos que los numeros decimales introducidos a raíz del numero insertado
        // anteiormente haga el "redondeo".

        if (decim>=MEDIA)
        {
            aux2=(int)ceil(decim);
            arr[i]=aux2;
        }

        else if (decim<=MEDIA)
        {
            arr[i]=aux2;
        }
        aux=0;
    }
    // Filtraremos el numero introducido y comprobaremos que está dentro del rango
    // que hemos dicho, y mostraremos la temperatura.
    
    if (numselec>0&&numselec<99)
    {
        printf ("\nVALOR(%d) %d: %c", numselec, Temperatura[numselec], Temperatura[numselec-1]);
        clave=Temperatura[numselec-1];
        for(i=0;i<clave;i++)
        {
            printf("%c", level);
        }
        
        printf("\n");
        
    }
    //Mostraremos todas las temperaturas

    else if (numselec==0)
    {
        for(j=0;j<N;j++)
        {
            printf("\nVALOR(%d): %d ",j+1,Temperatura[j]);
            clave=arr[j];
            for(i=0;i<clave;i++)
            {
            printf("%c",level);
            }
            printf("\n");
        }
    }
    //Opción de continuar:
    
    printf("\n¿Desea continuar? (S)/(N)");
    scanf ("%c",&continuar); fflush (stdin);

}
while(continuar=='s');




getchar ();
return 0;

}
[/code.]

me da el fallo al compilar y me dice q el comando floor y ceil que nose encuentra el identificador.. y nose poruqe haber si alguien me ayuda

Perdonar pero es que no se ponerlo en forma codigo... no era [/code]?

ExTiNcT_

[code.] [/code.] en todo caso xD

#1 sin el punto leñe XDD q yo lo puse para q vieras como se pone realmente q sino me salia como si fuera codigo xD

Angel89

as importado la libreia correcta?¿

letman

yo creo que si aunque ahora he kitado
#include <math.h>
pero me sigue sin funcionar
me sigo dando el fallo de floor y ceil

MTX_Anubis

con copy/paste me compila y ejecuta bien pero ya te digo que hay cosas que tienes mal. Tienes 10 temperaturas y solo pides del 1 al 9, además en la comprobación en el código tienes puesto >0 y <99. El array es de 10 :/

letman

no entiendo porque ati te va y ami no..
esos errores ya los he corregido pero sigo sin poder compilar.. me dice que no se encuentra el identificador de floor y ceil
oO
conq programa lo has compilado?
yo lo ago con c ( visual studio)

letman

otro problema la virgenn
me dice q falta el identificador de tipo; se presupone int nota: c++ NO ADMITE DEFAULT-INT
q es eso ahora
vaya locura

Fr4nk0

El fichero lo habras guardado como .c no? pq creo que dependiendo del entorno de desarrollo que uses, a veces te pone por defecto cpp y te puede dar algún que otro fallo o warning para c.

r2d2rigo

Estas usando esas funciones con enteros, y si mal no recuerdo, floor y ceil necesitaban que el parametro fuese float.

Usuarios habituales

  • r2d2rigo
  • Fr4nk0
  • letman
  • MTX_Anubis
  • Angel89
  • ExTiNcT_