elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con ejercicio en C ayuda!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con ejercicio en C ayuda!!!  (Leído 3,303 veces)
hugg

Desconectado Desconectado

Mensajes: 6


Ver Perfil
problema con ejercicio en C ayuda!!!
« en: 14 Enero 2011, 23:51 pm »

hola a todos primero que nada una felicitacion por el foro esta buenisimo aki eh aprendido muchas cosas pero bueno quisera que me ayudaran estoy comenzando a aprender a programar en c y me estoy leyendo el libro de deitel & deitel y estoy escribiendo unpo de los ejercicios se que puede ser algo muy sencillo y tonto para ustedes pero es que voy empexando y estoy atrapado con un while controlado por centinela escribo el centinela para que se rompa el ciclo pero no lo hace sigue repitiendose estoy cxompilando en dev-c++ miren aki esta el codigo
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5.  
  6. {
  7. float litros;
  8. float km_por_litro,litros_y_km_portanque, total_litros, total_km, total_promedio, contador; // declaro variables
  9. litros_y_km_portanque = km_por_litro / litros; // asigno valores
  10. total_promedio = total_km / total_litros; //
  11.  
  12. printf(" introduzca los litros utilizados (escriba -1 para terminar): "); // se solicita dar los datos
  13. scanf("%f", &litros); // asigna el valor a la variable litros
  14.  
  15. printf(" escribe la cantidad de km: "); // pide valores
  16. scanf("%f", &km_por_litro); // asigna valores km por litro
  17.  
  18. litros_y_km_portanque = km_por_litro / litros; // asigno valores
  19.  
  20. printf(" el promedio de kilometros por litro de este tanque es: %.3f\n", litros_y_km_portanque); // resultado de km/litro
  21.  
  22. while(litros!=-1) // comienza el ciclo mientras litros o km/litro sea distinto que -1 (centinela)
  23. { // continua
  24.  
  25. printf(" introduzca los litros utilizados (escriba -1 para terminar): ");
  26. scanf("%f", &litros);
  27.  
  28. printf(" escribe la cantidad de km: ");
  29. scanf("%f", &km_por_litro);
  30.  
  31. litros_y_km_portanque = km_por_litro / litros;
  32.  
  33. printf(" el promedio de kilometros por litro de este tanque es: %.3f\n", litros_y_km_portanque);
  34.  
  35. total_litros += litros;
  36. total_km += km_por_litro;
  37. }
  38. if(litros > 0)
  39. {
  40. total_promedio = total_km / total_litros;
  41.  
  42. printf(" el total promedio de km//litro es: %.3f\n" , total_promedio ); // si se imprimio por lo menos un valor
  43. } // saca el promedio general de km/
  44. system("pause");
  45.  
  46. return 0;
  47. }
  48.  
  49.  


« Última modificación: 15 Enero 2011, 00:24 am por hugg » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: problema con ejercicio en C ayuda!!!
« Respuesta #1 en: 15 Enero 2011, 00:29 am »

La secuencia del programa es incorrecta. Mira esto:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5.    float litros;
  6.    float km_por_litro,litros_y_km_portanque, total_litros, total_km, total_promedio, contador; // declaro variables
  7.    litros_y_km_portanque = km_por_litro / litros; // asigno valores
  8.    total_promedio = total_km / total_litros; //
  9.  
  10.    printf(" introduzca los litros utilizados (escriba -1 para terminar): "); // se solicita dar los datos
  11.    scanf("%f", &litros); // asigna el valor a la variable litros
  12.  
  13.    while(litros != -1) // comienza el ciclo mientras litros o km/litro sea distinto que -1 (centinela)
  14.    { // continua
  15.  
  16.        printf(" escribe la cantidad de km: ");
  17.        scanf("%f", &km_por_litro);
  18.  
  19.        litros_y_km_portanque = km_por_litro / litros;
  20.  
  21.        printf(" el promedio de kilometros por litro de este tanque es: %.3f\n", litros_y_km_portanque);
  22.  
  23.        total_litros += litros;
  24.        total_km += km_por_litro;
  25.  
  26.        printf(" introduzca los litros utilizados (escriba -1 para terminar): "); // se solicita dar los datos
  27.        scanf("%f", &litros); // asigna el valor a la variable litros
  28.  
  29.    }
  30.    if(litros > 0)
  31.    {
  32.        total_promedio = total_km / total_litros;
  33.        printf(" el total promedio de km//litro es: %.3f\n" , total_promedio ); // si se imprimio por lo menos un valor
  34.    } // saca el promedio general de km/
  35.    while(getchar() != '\n');
  36.    getchar();
  37.  
  38.    return 0;
  39. }
  40.  


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
hugg

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: problema con ejercicio en C ayuda!!!
« Respuesta #2 en: 15 Enero 2011, 02:33 am »

muchisimas gracias ya entendi al escribir al final en la variable litros el valor -1 while comprueba que la condicion aun no se cumpla en cuyo caso sigue y de lo contrario termina el bucle muchas gracias de verdad me estaba rompiendo la cabeza oye
  :huh: :huh: :huh: :huh: pero tengo otra duda mas bueno en realidad son dos si me pudieras explicar, se termina el bucle (while) al escribir el valor centinela pero no me ejecuta la segunda condicion "if" para imprimir el promedio general, simplemente termina el programa :huh: :huh: :huh: :huh: y la otra duda: entiendo que se sustituye system() por getchar() por razones de rendimiento pero no me queda claro para que usas antes while(getchar() != '\n') de antemano gracias.

----->
Citar
if(litros > 0)
 {
 total_promedio = total_km / total_litros;
 
 printf(" el total promedio de km//litro es: %.3f\n" , total_promedio ); // si se imprimio por lo menos un valor
 } // saca el promedio general de km/
« Última modificación: 15 Enero 2011, 05:22 am por hugg » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: problema con ejercicio en C ayuda!!!
« Respuesta #3 en: 15 Enero 2011, 03:32 am »

Edita tu mensaje y usa comas. Así se podrá entender.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ problema ] ejercicio 100
Ejercicios
_mÙëK§™_ 2 4,961 Último mensaje 1 Diciembre 2007, 01:31 am
por Iñaki Viggers
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 16,531 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
problema con un ejercicio
Java
shing18 3 3,933 Último mensaje 3 Junio 2011, 22:14 pm
por sapito169
Tengo un problema con un ejercicio
Programación Visual Basic
Senior++ 5 2,775 Último mensaje 18 Junio 2011, 18:49 pm
por Senior++
Problema en ejercicio Ayuda please
Programación C/C++
mimel 5 9,763 Último mensaje 25 Marzo 2015, 08:23 am
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines