Título: Programa para Llevar de TB a GB,MB,KB... Publicado por: -MicrO- en 26 Junio 2011, 19:03 pm 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: Código: #include <stdio.h> 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 Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα 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... ¬¬ Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: -MicrO- en 26 Junio 2011, 19:40 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 Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 26 Junio 2011, 19:47 pm Bueno pues realmente a estos niveles C y C++ es casi lo mismo..supongo que no tendrás problema en saber usar cout.
Ejemplo: Código: #include <iostream> 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 ¿? Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: Иōҳ en 26 Junio 2011, 19:56 pm traducción:
él se refiere a esto Citar int main () { //[..] return 0 } y tú lo pusistes Citar main() { //[..] return 0 } Nox :-\ Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: -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++? Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 26 Junio 2011, 20:13 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í.. Código: declaraciones y toda la pescaa Citar P.D2: En que trabajas tu C++? Supongo que te refieres a IDE, CodeBlocks..Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: -MicrO- en 26 Junio 2011, 20:28 pm Ah ya entendi... ::)
Ok. Hice lo que me dijiste y lo puse asi: Código
Y corre pero asi: (http://img101.imageshack.us/img101/6833/33375701.jpg) 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: Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 26 Junio 2011, 20:39 pm 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í: Código: #include <stdio.h> Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: -MicrO- en 26 Junio 2011, 21:43 pm 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 ;-) Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 26 Junio 2011, 21:45 pm Me alegro, que lo hayas entendido todo.
Cualquier otra cosa, preguntala. ;D Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: BlackZeroX en 26 Junio 2011, 23:20 pm .
Revisa la definicion de TeraByte ( 1TB = 1024 GB = 1048576 MB = 1073741824 kb = 1099511627776 bytes) http://www.google.com/search?client=safari&rls=en&q=1+terbyte+a+bytes&ie=UTF-8&oe=UTF-8 Código
temibles Lunas!¡. Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 26 Junio 2011, 23:30 pm . Revisa la definicion de TeraByte ( 1TB = 1024 GB = 1048576 MB = 1073741824 kb = 1099511627776 bytes) http://www.google.com/search?client=safari&rls=en&q=1+terbyte+a+bytes&ie=UTF-8&oe=UTF-8 Código
temibles Lunas!¡. muy bien campeón :) y cuanto es 1024 * 1024 jajajajaja Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: leogtz en 27 Junio 2011, 00:40 am Cuando la función main está como:
main() está implicito que devuelve un int, no es void, para que sea void se tiene que especificar de manera explícita: void main(). Los nuevos estándares creo que cuando se omite la sentencia return ellos automáticamente devuelven un 0. Saludos. Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: BlackZeroX en 27 Junio 2011, 01:03 am .
que idiota, no se en que demonios estaba pensando... Código
Dulces Lunas!¡. . Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: тαптяα en 27 Junio 2011, 11:29 am Cuando la función main está como: Pues nose donde leí que era al revés..pero bueno creo que tienes razón.main() está implicito que devuelve un int, no es void, para que sea void se tiene que especificar de manera explícita: void main(). Los nuevos estándares creo que cuando se omite la sentencia return ellos automáticamente devuelven un 0. Saludos. Título: Re: Programa para Llevar de TB a GB,MB,KB... Publicado por: Queta en 27 Junio 2011, 12:19 pm Citar 5.1.2.2.1 Program startup 1 The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared): int main(int argc, char *argv[]) { /* ... */ } or equivalent;9) or in some other implementation-defined manner. 2 If they are declared, the parameters to the main function shall obey the following constraints: — The value of argc shall be nonnegative. — argv[argc] shall be a null pointer. — If the value of argc is greater than zero, the array members argv[0] through argv[argc-1] inclusive shall contain pointers to strings, which are given implementation-defined values by the host environment prior to program startup. The intent is to supply to the program information determined prior to program startup from elsewhere in the hosted environment. If the host environment is not capable of supplying strings with letters in both uppercase and lowercase, the implementation shall ensure that the strings are received in lowercase. — If the value of argc is greater than zero, the string pointed to by argv[0] represents the program name; argv[0][0] shall be the null character if the program name is not available from the host environment. If the value of argc is greater than one, the strings pointed to by argv[1] through argv[argc-1] represent the program parameters. — The parameters argc and argv and the strings pointed to by the argv array shall be modifiable by the program, and retain their last-stored values between program startup and program termination. 9) Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as char ** argv, and so on. |