Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - K-YreX

#861
Windows / Re: Restaurar Windows 10
2 Diciembre 2018, 21:11 PM
Vale, muchas gracias por ayudarme a aclarar el montón de cosas que tenía mezcladas. :-X

Ahora lo raro es lo que comentas de que una vez acabado el período de prueba, la pantalla se queda en negro. En mi caso sigue funcionando como el primer día y lo tengo desde hace casi un año, lo que sí tengo es como una marca de agua del logo de Windows pero que es casi imperceptible y esa es una de las cosas que leí que tenías que aguantar mientras no tuviese licencia. Aclarar que no he hecho nada para conseguir una licencia; es decir, descargué la ISO de una página de microsoft, creé el usb booteable usando Rufus e instalé Windows 10 en una máquina en la que tenía Ubuntu 16.04 con arranque dual.
#862
Windows / Re: Restaurar Windows 10
2 Diciembre 2018, 20:05 PM
Cita de: Machacador en  2 Diciembre 2018, 17:06 PM
La imagen del sistema hecha con el creador de herramienta de recuperación del Windows 10 se crea en un USB, y el tamaño del mismo depende de lo que tengas guardado en la maquina...

Entonces lo que no termino de entender es que una imagen de Windows 10 descargada desde la página oficial (quiero decir que no la saqué de ningún sitio desconocido) ocupa 10GB y la imagen que intento crear yo de mi Windows 10 recién adquirido al cual no le he añadido nada ocupa más de 16GB... Eso es porque la mía incluye más cosas que la que se descarga de internet? Igual parece una pregunta tonta pero nunca me he metido en estos temas y estoy intentando empezar a entenderlos bien ahora :-X

Cita de: Machacador en  2 Diciembre 2018, 17:06 PM
Las ISO de Windows nunca traen la licencia, ellas se descargan libremente de gratis y dan un periodo de prueba de 30 días... la licencia se compra aparte...

Lo del período de 30 días no sabía que era así. Cuando yo descargué la ISO de Windows 10 se me especificaba que mientras no tuviese una licencia podía usarlo pero por ejemplo no puedes modificar la configuración. Como yo no uso Windows habitualmente y sólo lo quería para salir del paso cuando me veía obligado a utilizarlo, no quise comprar la licencia ya que no era necesaria.

Cita de: Machacador en  2 Diciembre 2018, 17:06 PM
Para activar el Windows hay varios métodos que se te pueden explicar una vez que lo necesites... o compra tu licencia...
El mejor programa para crear un USB bootable con una imagen ISO de Windows  es Rufus: https://rufus.ie/es_ES.html

Sí, Rufus fue el programa que usé para crear el USB booteable cuando descargué la ISO de internet. Sin embargo ahora lo estoy haciendo todo desde las herramientas que vienen preinstaladas en el Windows 10 que he adquirido.

Entonces lo que yo entiendo hasta ahora, juntando la información que he ido sacando de aquí y de allá, es que si creas únicamente una unidad de recuperación esta te permite arrancar tu pc para poder solucionar algún problema que tuvieses pero no te permite reinstalar el sistema operativo. Si creas la unidad de recuperación y le incluyes una copia del sistema de archivos entonces te sirve para reinstalar el sistema operativo. Y si quieres mantener todos tus documentos y programas entonces tiene que ser mediante una imagen del sistema. Es así?

Y ya para terminar, ahora que ya tengo la licencia de Windows 10; si por ejemplo formateo el pc y vuelvo a instalar este sistema operativo usando la unidad de recuperación que he creado, cómo hago para mantener mi licencia? Eso va almacenado en la cuenta de microsoft que usas para registrarte o hay que buscar algún número de licencia para cuando te lo vuelva a pedir o algo así?

Muchas gracias por la ayuda.  :-X
#863
Windows / Re: Restaurar Windows 10
2 Diciembre 2018, 14:44 PM
Entonces el problema es por el tamaño del USB? Lo digo porque estuve buscando información por ahí y en una página decían que la imagen del sistema no había que hacerla en un USB y entonces pensaba que no se podía hacer independientemente del tamaño.

Además cuando perdí el Windows 7 que tenía descargué una iso de Windows 10 sin licencia (es decir, con las limitaciones que trae) y esta la pude guardar en un USB de 16GB y acabo de mirarlo y me ocupó 10GB. Y ahora mismo no tengo nada personal guardado ni programas instalados quitando los que trae por defecto.

Pero en efecto, si con la unidad de recuperación puedo recuperar el sistema en caso de tener algún problema no necesito la imagen del sistema ya que lo que quiero es poder restaurar el sistema lo más limpio posible, por eso he querido hacer esto nada más adquirir el pc.
#864
Envía el código de tu programa a ver cómo has hecho los cambios.

Edit: Te escribo aquí un par de cosas más para agilizar esto. Hay dos formas de hacer lo que quieres hacer (bueno igual hay más pero te voy a comentar dos):
- Forma 1: Pasar el puntero a <FILE> como parámetro y que el fichero se abra en la función. Para ello hay que pasar el puntero por referencia y en C todo el paso de parámetros se hace por valor. Entonces no tienes que pasar un <FILE*>, sino un <FILE**>.

void pedirNombre(char nombreFichero[], FILE **fichero){
    do{
        printf("Nombre del fichero: ");
        scanf("%s", nombreFichero);
        *fichero = fopen(nombreFichero, "r");
        if(*fichero == NULL)
            perror("Error al abrir el archivo\n");
    }  while(*fichero == NULL);
}

int main(){
    char nombreFichero[STRMAX];
    FILE *fichero;
    pedirNombre(nombreFichero, &fichero);
    // ahora ya haces lo que quieras con <fichero> pues ya esta el fichero abierto
}


- Forma 2: Pasar como parámetro la cadena donde vas a guardar el nombre y hacer que la función devuelva <FILE*>. En ese caso tendrías que asignar el retorno de la función a una variable de tipo <FILE*>.

FILE* pedirNombre(char nombreFichero[]){
    FILE *fichero;
    do{
        printf("Nombre del fichero: ");
        scanf("%s", nombreFichero);
        fichero = fopen(nombreFichero, "r");
        if(fichero == NULL)
            perror("Error al abrir el archivo\n");
    }  while(fichero == NULL);
    return fichero;
}

int main(){
    char nombreFichero[STRMAX];
    FILE *fichero = pedirNombre(nombreFichero);
    // Y ahora ya haces lo que quieras con <fichero>
}


Ahora recomendaciones aparte:
- Usas una variable de tipo <float><cantidadNumeros> que siempre va a ser un entero ya que sumas de uno en uno y luego usas una variable tipo <int><i> que hace exactamente lo mismo que <cantidadNumeros>. Una de las dos sobra. Pensarás que para que en <media> se guarde un <float> ambos operandos deben ser <float> pero con que lo sea uno es suficiente, entonces con que <suma> sea de tipo <float>, la media también lo va a ser.

- Al finalizar el programa haces <%.0f> para mostrar la cantidad de números sin decimales. Usa <%d> que sirve para representar enteros y deja el <%.2f> por ejemplo para la media (o con los decimales que quieras).

- Para inicializar los contadores y sumas a 0 lo puedes hacer a la vez que los declaras y así lo haces de una vez. Porque si lo haces por separado puedes usar el valor de una variable antes de inicializarla por lo que tendría basura en ese momento.

- Tu programa también funciona si como has hecho tú abres el fichero en la función <pedirNombre()> y como no lo has pasado por referencia lo vuelves a abrir en el <main> pero es una solución un poco absurda tener que abrirlo en los dos sitios.

Corrige los fallos que tienes y fíjate en cómo están implementadas las dos formas de hacer la función que te he puesto arriba ya que tienen algunas sutiles diferencias por si hay algo que no entiendas. Suerte.
#865
Tienes que poner los parámetros que le pasas a la función, claro.
#866
La función <pedirNombre()> dices que tiene argumentos de entrada pero en la implementación de la función no los tiene...
#867
Yo estoy cursando el segundo año de ingeniería informática. Siempre me han gustado las matemáticas y los ordenadores así que yo tenía claro que quería estudiar esto. Ahora estoy pensando en dejar la carrera pero no por haberme equivocado de carrera sino porque creo que este sistema educativo no funciona.
Empecé la carrera porque quería saber sobre esto y encima iba a conseguir un título que es lo único que miran muchas empresas para darte trabajo. Pero la informática me gusta de verdad y es la universidad la que me está quitando las ganas de seguir.

Cada uno tendrá su experiencia personal pero desde luego la mía no es buena. En mi caso siento de verdad que la universidad (y en general todo el sistema educativo, al menos en mi país) te quita las ganas de aprender. Hay muchas personas que se quejan de profesores que ponen exámenes difíciles o de asignaturas a las que hay que dedicar mucho esfuerzo; sin embargo, a mí eso no me molesta. Yo no me quejo de un profesor que pone exámenes difíciles, lo hago de un profesor que no sabe o no quiere enseñar. Si no tienes ganas de enseñar deja tu puesto a alguien que sí quiera. El año pasado tuve un profesor que todo el mundo decía que era el peor de la universidad y para mí ha sido el mejor. Es cierto que sus exámenes eran difíciles, no servía con aprenderte la teoría de memoria y soltarla, tenías que entender lo que habías estudiado y saber aplicarlo (para mí eso es aprender y es lo que le molestaba a la mayoría).

Este año es muy diferente, vas a una clase de dos horas donde el profesor se limita a leer unas diapositivas creadas por otra persona hace 5 años o más, que luego podemos descargar. O nos mandan hacer prácticas también creadas hace años por otras personas; es decir, esfuerzo 0. No me gusta que me hagan perder el tiempo en clase para que me lean lo que me puedo leer yo en casa. Si voy a clase es para ver como el profesor explica cosas apoyándose en la presentación, no para que la lea sin añadir información y luego cuando preguntas algo te esquivan la pregunta y no te dejan aprender. Es por eso que no voy a clase, me descargo las presentaciones, las leo yo, y luego investigo por internet cuando quiero profundizar en un tema concreto (sé que lo que yo busque no va a entrar en el examen, pero esa es la diferencia entre querer aprender algo o sólo querer aprobar).

Mucha gente dirá que si no te gusta la carrera que la dejes y ya está, pero para los que nos encontramos en esta situación y valoramos las posibilidades que tenemos no es tan fácil. Yo ya llevo un tiempo pensando en dejarla y he estado pensando alternativas: la primera es seguir en una universidad a distancia donde se puede ser más autodidacta pero me da miedo equivocarme otra vez; otra es hacer cursos online de programación (no sé si tienen alguna validez a la hora de buscar trabajo y esto parecerá contradictorio al buscarle una utilidad laboral pero al final aunque quieras aprender algo, no se vive de la ilusión, hace falta trabajar).

Por eso para todos los que decís que si no te gusta la carrera que lo dejes y ya está poneos en nuestra piel, no es una decisión que puedas tomar a la ligera y menos viendo como está el mundo. Qué es mejor? Entrar en la universidad, perder tu personalidad crítica y aprender a asentir todo lo que te dicen los profesores o dejar la carrera, hacer lo que te gusta y no tener un título que pueda acreditar tu nivel de estudios?

La verdad es que yo empiezo a tener esperanzas en que cada vez más empresas dejen a un lado la importancia del título universitario, vale que sea algo a tener en cuenta y que te asegure un nivel pero también hay que darle importancia a otras cosas como la experiencia o el haber aprendido de una manera autodidacta (ya que para mí vale más que una persona sea capaz de aprender algo porque le gusta y de forma autodidacta y no de que alguien haya aprobado cuatro exámenes que si tu profesor te lo ha dado mascado te están acreditando unos conocimientos que no tienes). Y no estoy menospreciando la universidad, creo que se pueden aprender muchas cosas, pero si se hace bien y en la mayoría de sitios no se está haciendo bien. Pensad en todas las horas que habéis gastado en memorizar cosas y que ahora no os acordáis porque no lo habéis vuelto a utilizar en vuestra vida. Por qué tenemos que memorizarlo todo? Almacenar información es algo que ya puede hacer una máquina.

Y me alegra de verdad que una persona sin título universitario pueda demostrar que sabe tanto o más que una persona con título. Primero para que el mundo vea que el título universitario no lo es todo y podamos estudiar como más nos guste sin tanta preocupación y segundo para que la universidad se ponga las pilas y se esfuercen por cambiar a mejor. Respeto a quien quiera estudiar en la universidad pero eso no te hace superior frente a alguien que estudia de otra forma.

Para quien no haya tenido la suerte de ver este vídeo ya, aquí os lo dejo (también está en español por si alguien prefiere verlo así  ;D):
[youtube=640,360]https://www.youtube.com/watch?v=d5nYHIDUsi8[/youtube]
#868
Programación C/C++ / Re: me ayudan a hacer esto
30 Noviembre 2018, 12:11 PM
Te ayudamos a hacerlo, pero no te lo vamos a hacer nosotros.
Piensa cómo podrías hacerlo y te diremos si estás en lo cierto o cómo corregirlo.
Además la entrada del programa entiendo que es desde un fichero :huh:
#869
Windows / Re: Restaurar Windows 10
30 Noviembre 2018, 02:47 AM
Muchas gracias por la ayuda.
El tema de conservar mis archivos no me preocupa ya que antes de ponerme a trastear con los sistemas operativos paso todos mis archivos a un disco duro externo. Y siempre tengo esa copia a mano.
Lo que me preocupaba es que con mi ordenador viejos intenté restaurarlo usando la partición de recuperación y se me quedó pillado. Entonces lo que hice fue instalar ubuntu desde un usb que había preparado pero perdí el sistema de windows que tenía por aquel entonces. Por eso lo que quiero es estar seguro de que si vuelvo a tener un problema de ese estilo, podré recuperar el sistema operativo mediante el usb.
De todos modos en estas horas he preparado en un usb que tenía de 16GB una unidad de recuperación con la opción de hacer una copia de seguridad de los archivos del sistema, ya que no me dejaba crear una imagen del sistema en el usb.

Para dar por zandajo el tema, cuál es la diferencia entre la unidad de recuperación y la imagen del sistema? Y por qué la imagen del sistema no puedo guardarla en un usb?
#870
Primero, las funciones <funcion_s> como <gets_s> no son estándar. En compiladores GNU/Linux no funcionan. En su lugar te recomiendo usar <fgets> que permite pasar como parámetro el tamaño máximo.

char nombre[20];
printf("Introduce nombre: ");
fgets(nombre, 20, stdin);


Segundo, las llamadas al sistema <system> son muy pesadas. La mejor alternativa del <system("pause")> es <getchar()> en C y cin.get() en C++.

Tercero, no se puede usar <fflush> con la entrada estándar, su comportamiento no está definido.

Cuarto, haces 3 veces el mismo bucle el cual no está muy bien implementado para contar las vocales. Haz una función que haga eso y pásale distintos parámetros en cada llamada.

int contarVocales(char *palabra, int size){
   int contadorVocales = 0;
   for(int i = 0; i < size; i++)
       if(palabra[i] == 'a' || palabra[i] == 'e' || palabra[i] == 'i' || palabra[i] == 'o' || palabra[i] == 'u')
           contadorVocales++;
   return contadorVocales;
}

Tus bucles comparan con cada una de las vocales por separado y aunque coincida la 'a' siguen comparando con todas las demás vocales (lo cual es absurdo, si una letra es 'a' no va a ser 'e' también). Usando el operador || en cuanto una coincide se incrementa el contador y se salta el resto de comprobaciones.

Quinto, entiendo que quieres juntar el nombre con sus apellidos con un espacio entre medias. Luego lo imprimes todo junto pero al después imprimes cada caracter en orden inverso, por qué?

Sexto, entiendo también que quieras vaciar las cadenas de caracteres pero no uses 4 variables distintas si todas son iguales (una cadena vacía), usa la misma para todo.

Séptimo, no hagas una asignación de <w> con <if else>. Ese tipo de códigos se implementa así:

int w = 0;
if(/*lo que sea*/)
   w = 1;

Y no se utiliza el <else>.
Edit: Y en tu caso ni siquiera es necesario usar esa variable. Mete directamente la comparación de <strcmp> como condición para el <do while>. Además soy el único que se ha dado cuenta de que según el valor de la comparación le asignas el opuesto a <w>... :huh:. Es como si yo hiciese

int a = 0, b;
if(a == 0)
    b = 1;
else
    b = 0;

Es decir, un poco absurdo.

Octavo, te recomiendo usar las funciones en las que indicas el número de caracteres a tratar, por seguridad. En vez de <strcmp>, usar <strncmp>; en vez de <strcpy>, usar <strncpy>, etc.

Noveno, ese código es muy mejorable. Pero tampoco voy a matarme a darte un montón de consejos cuando si has llegado a leer hasta aquí es porque sólo te interesaba el décimo punto (por eso lo he dejado para el final, para asegurarme de que no has ignorado todas mis recomendaciones :silbar:)

Décimo, quieres reiniciar el número de vocales? Pues pon los contadores a 0 en cada repetición del programa, es decir, dentro del <do while>. Tan simple como eso. Suerte. :-X