[ Foro de C ]

en mi programa quiero calcular la distancia ediente velocidad entre frecuencia pero me sale el mismor esultado

14-May-2014 16:34
Invitado (ayuda para proyecto)
1 Respuestas

Mi programa trata de calcular la distancia mediante una frecuencia dada este es:


//Programa que calcula la distancia mediante una frecuencia dada (FM)

#include<stdio.h>  //encabezado estandar
#include<math.h> //encabezado que contiene prototipos de funciones matematicas

int division ( int distancia, int velocidad, int frecuencia);

int main ()
{
     int frec;
    int distancia;
   int velocidad=300000000;
    int frecuencia;
    
    float   frecuenciaA=885;
    float   frecuenciaB=901;
    float   frecuenciaC=909;
    float   frecuenciaD=919;
    float   frecuenciaE=93.1;
    float   frecuenciaF=94.1;
    float   frecuenciaG=953;
    float   frecuenciaH=961;
    float   frecuenciaI=969;
    float   frecuenciaJ=977;
    float   frecuenciaK=985;
    float   frecuenciaL=993;
    float   frecuenciaM=1001;
    float   frecuenciaN=1021;
    float   frecuenciaO=1031;
    float   frecuenciaP=1039;
    float   frecuenciaQ=1049;
    float   frecuenciaR=1057;
    float  frecuenciaS=1071;
int Radiouniversidad;
  /*int  RadioFormula;
  int  MasFM;
  int  Xtrema;
  int  Romantica;
  int  Candela;
  int  Amor;
  int  Factor;
  int  ExaFM;
  int  LaCaliente;
  int  LaComadre;
  int  Mix;
  int  Hundred;
  int  LaZ;
  int  Imagen;
  int  Los40Principales;
  int  ABCRadio;
  int  PoderFM;
  int  Magnetica;
*/
     /*float velocidad=300000000;
     float frecuencia;
     float periodo;
      float distancia; */
  printf("Introduzca la frecuencia de la emisora preferida ");
  scanf("%d\n", &frecuencia);
  printf("la distancia es:%d\n",distancia);
    
switch(frec)
{


case  'A':
case  'a':
     
      distancia=division (distancia, velocidad,frecuencia);
      printf("%f",distancia);
     
     
      break;

case  'B':
case  'b':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
     
      case  'C':
case  'c':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
case  'D':
case  'd':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'E':
case  'e':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'F':
case  'f':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'G':
case  'g':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'H':
case  'h':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'I':
case  'i':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'J':
case  'j':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'K':
case  'k':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'L':
case  'l':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'M':
case  'm':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'N':
case  'n':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'O':
case  'o':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'P':
case  'p':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'Q':
case  'q':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
      case  'R':
case  'r':
      distancia=division (distancia,velocidad,frecuencia);
      printf("%f",distancia);
      break;
     
}
   
    if (frecuencia=58);{
    printf("Radiouniversidad");
    scanf("d\n",Radiouniversidad);
}
    system("PAUSE");
   
    return 0;

   
   
}
int division ( int distancia, int velocidad, int frecuencia){
   
    distancia =( 300000000/frecuencia);
    return(distancia);
    }



14-May-2014 17:39
Nacho Cabanes (+84)

Veo algunos errores de concepto graves:

- Pides una frecuencia, número entero. Hasta ahí de acuerdo.

- Pero muestras una distancia, número entero, que no tiene valor, de modo que en algunos compiladores te mostrará 0, y en la mayoría te mostrará "basura".

- Luego analizas el valor de "frec"... pero no le has dado valor.

- Además, "frec" es un número entero pero comparas su valor con caracteres individuales.

- El último "scanf" no tiene el símbolo de porcentaje.

- La función "division" recibe un parámetro "velocidad", que no usa, y otro parámetro "distancia", cuyo valor destruye.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)