Programa para Llevar de TB a GB,MB,KB...

Iniciado por -MicrO-, 26 Junio 2011, 19:03 PM

0 Miembros y 1 Visitante están viendo este tema.

-MicrO-

Hola a todos :D no soy nuevo en el foro por que me registre hace quien sabe cuanto xD. pero si es primera vez que posteo... estoy estudiando programacion y ya nos estan metiendo C++ pero hasta ahora empezando asi que soy noob en esto todavia  :xD

Para clases el professor pidio un programa para llevar de TB a GB,MB,KB...

y pues yo lo tengo asi:

#include <stdio.h>
#include <stdlib.h>
main()
{
int tb,gb,mb,kb,bytes;
printf("----> Programa Para Llevar de TB a GB,MB,KB,Bytes <---- \n");
printf("\n");
printf("Introduzca La Cantidad de TB: \n");
scanf("%d",&tb);
gb=tb*1024;
mb=gb*1024;
kb=mb*1024;
bytes=kb*1024;

printf("El Resultado en GB es= %d  \n",gb);
printf("El Resultado en MB es= %d  \n",mb);
printf("El Resultado en KB es= %f \n",kb);
printf("El Resultado en Bytes es= %f \n",bytes);
printf("\n");
system ("pause");
return 0;

}


El programa me da el resultado en GB y Mb pero KB y Bytes no me da, estoy casi seguro que es el "%f" pero no se por cual cambiar, recordar que ando empezando en esto  :¬¬

Aja el programa esta con prinft, scanft... asi nos enseño la profesora antigua, ahora el nuevo viene a decir que empezemos a usar :"#include <iostream>" y  el cout entre otros, que opinan de esto no es lo mismo?

Salu2 y Gracias  ;D

тαптяα

#1
Bueno esto es cosa que no te sabes los modificadores de la función printf..

te he puesto una especie de tabla donde esta el modificador y al lado la salida y un ejemplo..




specifier   Output   Example
c   Character   a
d or i   Signed decimal integer   392
e   Scientific notation (mantise/exponent) using e character   3.9265e+2
E   Scientific notation (mantise/exponent) using E character   3.9265E+2
f   Decimal floating point   392.65
g   Use the shorter of %e or %f   392.65
G   Use the shorter of %E or %f   392.65
o   Unsigned octal   610
s   String of characters   sample
u   Unsigned decimal integer   7235
x   Unsigned hexadecimal integer   7fa
X   Unsigned hexadecimal integer (capital letters)   7FA
p   Pointer address   B800:0000




PD: %i
PD2: si declaras el valor kb y bytes como entero(int) luego no puedes imprimirlo en consola como valor float... ¬¬

-MicrO-

Cita de: ハセヲ, en 26 Junio 2011, 19:23 PM
Bueno esto es cosa que no te sabes los modificadores de la función printf..

te he puesto una especie de tabla donde esta el modificador y al lado la salida y un ejemplo..




specifier   Output   Example
c   Character   a
d or i   Signed decimal integer   392
e   Scientific notation (mantise/exponent) using e character   3.9265e+2
E   Scientific notation (mantise/exponent) using E character   3.9265E+2
f   Decimal floating point   392.65
g   Use the shorter of %e or %f   392.65
G   Use the shorter of %E or %f   392.65
o   Unsigned octal   610
s   String of characters   sample
u   Unsigned decimal integer   7235
x   Unsigned hexadecimal integer   7fa
X   Unsigned hexadecimal integer (capital letters)   7FA
p   Pointer address   B800:0000




PD: %i
PD2: si declaras el valor kb y bytes como entero(int) luego no puedes imprimirlo en consola como valor float... ¬¬

Gracias ハセヲ  ;D

Como te digo soy noob aun toy crudo y la mayoria de la gente de mi clase ni se diga, tienes razon lo de float... voy a intentar a ver y te cuento...

Te pregunto tambien sobre "#include <iostream>" y  el cout  que coloque arriba, como es mejor trabajar?

y que me aconsejas para aprender c++ bien  :rolleyes:

Salu2

тαптяα

Bueno pues realmente a estos niveles C y C++ es casi lo mismo..supongo que no tendrás problema en saber usar cout.

Ejemplo:
#include <iostream>
using namespace std;

int main ()
{
  int year;
  cout << "Introduce el año actual: ";
  cin >> year;
  cout << "Estamos en el " << year;
  return 0;
}


Y acostumbrate a no hacer funciones principales nulas..pues ahora no importa, pero para que retornas un valor numerico cuando has creado una función nula ¿?

Иōҳ

traducción:
él se refiere a esto
Citarint main ()
{
//[..]
return 0
}

y tú lo pusistes
Citar
main()
{
//[..]
return 0
}

Nox  :-\
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

-MicrO-

Pues no es problema por que ya nos han explicado como es, y lo de las funciones nulas no entiendo a que te refieres, no se si es el "system ("pause");"

Si es eso lo usamos por que estamos trabajando en Visual C++ 6.0 y si no lo pones la ventana del programa se cierra inmediatamente luego de correr.

y como te digo soy noob xD. ando empezando... me estoy viendo los tutoriales:

http://foro.elhacker.net/programacion_cc/video_tutorial_programacion_c-t249577.0.html

para ir aprendiendo. :D

P.D: Esta fino tu blog :D
P.D2: En que trabajas tu C++?

тαптяα

Cita de: -MicrO- en 26 Junio 2011, 19:57 PM
Pues no es problema por que ya nos han explicado como es, y lo de las funciones nulas no entiendo a que te refieres, no se si es el "system ("pause");"

Si es eso lo usamos por que estamos trabajando en Visual C++ 6.0 y si no lo pones la ventana del programa se cierra inmediatamente luego de correr.

y como te digo soy noob xD. ando empezando... me estoy viendo los tutoriales:

http://foro.elhacker.net/programacion_cc/video_tutorial_programacion_c-t249577.0.html

para ir aprendiendo. :D

P.D: Esta fino tu blog :D
P.D2: En que trabajas tu C++?

main() = void main() eso es la función principal nula, en tu caso puedes usarlo, pero no es necesario que retornes ningún valor..

return sirve en las funciones para "retornar"(xdd) un valor y mediante una comprobación..usarlo para lo que sea.mmm tal que así..

declaraciones y toda la pescaa
...
int funcion1(int a){
aqui haces lo que tengas que hacer pero al final tu pones esto:
return a;
}

int main(){
y aqui puedes utilizar esa función y el valor 'a'
}


CitarP.D2: En que trabajas tu C++?
Supongo que te refieres a IDE, CodeBlocks..

-MicrO-

Ah ya entendi...  ::)

Ok. Hice lo que me dijiste y lo puse asi:

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
int main()
{
int tb,gb,mb;
float kb,bytes;
printf("----> Programa Para Llevar de TB a GB,MB,KB,Bytes <---- \n");
printf("\n");
printf("Introduzca La Cantidad de TB: \n");
scanf("%d",&tb);
gb=tb*1024;
mb=gb*1024;
kb=mb*1024;
bytes=kb*1024;

printf("El Resultado en GB es= %d  \n",gb);
printf("El Resultado en MB es= %d  \n",mb);
printf("El Resultado en KB es= %f \n",kb);
printf("El Resultado en Bytes es= %f \n",bytes);
printf("\n");
system ("pause");
return 0;

}



Y corre pero asi:



Coloque los valores como float arriba

Ah y lo de que usas si es eso: pero yo uso es Windows y Visual C++ 6.0 es lo que trabajamos en la uni.   :huh:

тαптяα

Empezaré por abajo..

Visual C++ está bien..cuestión de gustos y de tiempo trabajando con el entorno..

Sigamos:

No pongas:

#include <iostream> si es un codigo en C, pues muchos compiladores si es un archivo.c no lo compilaran..

No pongas: system ("pause"); Hay un tema fijado en este subforo que te explica las razones.

Los valores de coma flotante(float) dan 0, porque estas multiplicando enteros por floats...como en tu escuela te habrán dicho, es como multiplicar peras y manzanas nose puede...

Un puntito aparte...los valores que van a tomar los KB y los bytes, se pasan del rango de los enteros..así que te recomiendo designar todos los valores como float..

Así con todo te quedaría algo así:

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

int main()
{
float tb,gb,mb,kb,bytes;
printf("----> Programa Para Llevar de TB a GB,MB,KB,Bytes <---- \n");
printf("\n");
printf("Introduzca La Cantidad de TB: \n");
scanf("%f",&tb);
gb=tb*1024;
mb=gb*1024;
kb=mb*1024;
bytes=kb*1024;

printf("El Resultado en GB es= %f  \n",gb);
printf("El Resultado en MB es= %f  \n",mb);
printf("El Resultado en KB es= %f \n",kb);
printf("El Resultado en Bytes es= %f \n",bytes);
printf("\n");

return 0;

}

-MicrO-

Ok, pues si seguire con Visual C++

El "#include <iostream>" Disculpa se me fue eso es porque estaba cambiando el ejercicio con el cout.

El System pause como en el tema que es en el sub forum lo aprendi en la uni, y aunque es un mal abito, digamos que se usa por necesidad. yo lo coloco para poder ver el programa, si no el programa corre e instantamente se cierra no puedes ver nada, es error del Visual? o que es?

y con respecto al error de float, ya entendi ^^ todo tendria que ser float para que funcione  ;-)