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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11
41  Programación / Programación C/C++ / Re: [Consulta] (Soy un estudiante nuevo en la universidad) Necesito que me ayuden! en: 10 Abril 2018, 22:33 pm
bueno por donde comienzo veamos
Citar
"Ingrese tres números enteros; determine e informe el mayor de ellos."
según esa definición es para calcular el numero mayo de tres
y por lo que veo tu tratas de calcular si un numero es paro o no... (o eso creo)
y encuanto los errores es por un mal manejo de c++ te recomiendo que busque un buen curso de c++ en youtube o bien el curso de pauek la pagina de minidocis http://www.minidosis.org/#/
42  Programación / Programación C/C++ / Re: "archivos" ayuda explicación de código en: 6 Abril 2018, 18:38 pm
el objeto ifstream viene con 4 constructores
Código
  1. ifstream(); //pordefecto
  2. ifstream (const char* filename, ios_base::openmode mode = ios_base::in); //inicializacion
  3. ifstream (const string& filename, ios_base::openmode mode = ios_base::in); //inicializacion
  4. ifstream (const ifstream&) = delete; //copia
  5. ifstream (ifstream&& x); //movimiento
  6.  

el que tratas de utilizar es el
ifstream (const char* filename, ios_base::openmode mode = ios_base::in);
que como habrás notado el argumento mode es ios_base::in que esta puesto pordefecto al no especificarlo, con esto lo que hacemos es intentar abrir el fichero const char* filename que es el primer argumento, pero ese argumento no te crea el fichero especificado en el primer argumento solo lo intenta abrir sin mas, si lo que quieres es que también te cree el fichero has esto

Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main(int argc, char *argv[]) {
  6. ifstream f;
  7. string fn;
  8. cout << "Introduzca el nombre del archivo de entrada: ";
  9. cin >> fn;
  10. f.open(fn, std::ofstream::out | std::ofstream::app);
  11.        /* codigo para excribir dentro del fichero */
  12. f.close();
  13. return 0;
  14. }
  15.  
43  Programación / Programación C/C++ / Re: Problema al delimitar con la función strtok en: 6 Abril 2018, 14:08 pm
primero el código se pone entre etiquetas  GeSHi
segundo en la condición del while no pones la función  strtok

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[]) {
  7. string txt = "\"pepe\" como frutas";
  8. const char delim[2] = "\"";
  9. char* token;
  10.  
  11. token = strtok((char*)txt.c_str(), delim);
  12.  
  13. while(token != NULL){
  14. fprintf(stdout, "%s\n", token);
  15. token = strtok(NULL, delim);
  16. }
  17.  
  18. return 0;
  19. }
  20.  

este código me da como salida
pepe
 como frutas

ya que la funcion strtok devuelve un puntero al primer token encontrado en la cadena y devuelve un puntero nulo si no quedan tokens para recuperar
44  Programación / Programación C/C++ / Re: Problema al delimitar con la función strtok en: 6 Abril 2018, 01:07 am
pon tu codigo.
pero creo que uno de los errores es que estas poniendo mal el limitador en c/c++ no puedes hacer esto """ para introducir una comillas dentro de comillas haces esto "\""
45  Programación / Programación C/C++ / Re: Estructura de datos en C en: 5 Abril 2018, 01:15 am
te dejo esta lista de reproducción para que le eches un ojo
https://www.youtube.com/playlist?list=PLTd5ehIj0goMTSK7RRAPBF4wP-Nj5DRvT
46  Programación / Programación C/C++ / Re: Guardar Lista Enlazada en Archivo Binario en: 4 Abril 2018, 04:57 am
Linea 109 sscanf(Linea, "%d", persona->telefono);

te falto mandar por referencia la bariable

sscanf(Linea, "%d", &persona->telefono);

47  Programación / Programación C/C++ / Re: Fscanf en lenguaje C en: 28 Marzo 2018, 01:39 am
a mi me funciona bien con double

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[]) {
  4. int estado = 0;
  5. double id;
  6. FILE* fp;
  7.  
  8. fp = fopen("texto.txt", "r");
  9.  
  10. while(!feof(fp)){
  11. fscanf(fp, "%lf %d", &id, &estado);
  12. if(estado == 1){
  13. fprintf(stdout, "ID: %.0lf\n", id);
  14. }
  15. estado = 0;
  16. }
  17.  
  18. fclose(fp);
  19.  
  20. return 0;
  21. }
  22.  
48  Programación / Programación C/C++ / Re: Fscanf en lenguaje C en: 27 Marzo 2018, 22:26 pm
veras tu error es que estas usando un tipo de dato int para almacenar un numero que sobre pasa la capacidad y el tipo de dato int solo almacena 2 bytes si la arquitectura de tu maquina es de x32 o 4 bytes si es de x64,

capacidad de almacenamiento de un int
2 bytes -32768 a 32767
4 bytes -2147483648 to 2147483647

6058267724 -> lo que intentas almacenar
2147483647 -> capacidad de un int x64

como ves el int es mucho mas pequeño de lo que le intentas almacenar
49  Programación / Programación C/C++ / Re: Ayuda, Uso de Do y While en: 23 Marzo 2018, 18:58 pm
lo que puedes hacer es tratarlo como cadenas de texto de ese modo podes verificar las siguientes condiciones:

1)si es un numero buscamos en todas las posiciones si esa coincidencia es un numero o no
Código
  1. char* calificaciones = "12a";
  2.  
  3. for(int i=0; i<3; i++){
  4.  if((int)calificaciones[i] > 47 && (int)calificaciones[i] < 58){
  5.    /*Calificaciones es un numero*/
  6.  }else{
  7.    /*Calificaciones no es un numero*/
  8.    break;
  9.  }
  10. }
  11.  
  12.  

2) si es un numero de coma flotante
Código
  1. char* calificaciones = "12.5";
  2.  
  3. for(int i=0; i<4; i++){
  4.  if(calificaciones[i] == '.'){
  5.    /*Calificaciones es un numero entero*/
  6.  }else{
  7.    /*Calificaciones no es un numero entero*/
  8.    break;
  9.  }
  10. }
  11.  

y por ultimo hacemos una función que lo convierta de texto a entero

Código
  1. int convertToInt(string num){
  2. int ret, aux;
  3.  
  4. ret = (int)num[num.size()-1] - 48;
  5. for(int i = num.size()-2, cont = 1; i>=0; i--, cont++){
  6. aux = ((int)num[i] - 48) * eleva10(cont);
  7. ret += aux;
  8. }
  9.  
  10. return ret;
  11. }
  12.  
50  Programación / Programación C/C++ / Re: Problema con pantalla completa en SDL2 en: 22 Marzo 2018, 22:44 pm
para que sea mas facil lo haremos haci

Código
  1. while (SDL_PollEvent(&tecla) != 0) {
  2.  if (tecla.type == SDL_QUIT) {
  3.   exit(0);
  4.  }
  5. }
  6.  

ya que
int SDL_PollEvent(SDL_Event* event)

es una funcion que devuelve 1 si hay un evento pendiente o 0 si no hay ninguno disponible.

y en el while cundo capturabas el evento te decía que quedaban eventos pendientes por
procesar de ese modo al no tratarlos el bucle se estancava dentro de sa parte del codigo

ademas te recomindo que agas una funcion booleana que te permita salir del gameLoop asi

Código
  1. bool quit = false;
  2.  
  3. while(!quit){
  4. SDL_UpdateWindowSurface(window);
  5. SDL_BlitSurface(fondo,NULL,windowSurface,NULL);
  6. while (SDL_PollEvent(&tecla)) {
  7.  if (tecla.type == SDL_QUIT) {
  8.   quit = true;
  9.  }
  10. }
  11.  
  12. return 0;
  13.  

de ese modo no cierras la ejecución del programa inesperada mente, de esa forma dejas que la función main finalice correcta mente sin errores ademas de permitirte destruir los
SDL_Window *window
SDL_Surface*windowSurface
SDL_Surface*fondo

como es devido y no dejarlos almacenados en la memoria ram
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines