|
Mostrar Mensajes
|
Páginas: 1 2 3 4 5 6 [7] 8 9
|
61
|
Programación / Programación C/C++ / hacer servidor y cliente en windows
|
en: 21 Mayo 2019, 02:47 am
|
Hola, disculpen la molestia, pero me podrian ayudar a buscar un tuto que funcione en windows, tengo dev-c++ y quisiera un tuto de socket para hacer cliente y servidor mandado una variable e imprimirlo en la otra pc via internet
|
|
|
64
|
Programación / Programación C/C++ / descubri un problema con una duncion del dev-c++ con la lib. stdio.h
|
en: 18 Mayo 2019, 03:46 am
|
El error es que al digitar el numero "26" y guardarlo, al cargarlo no carga nada y si guardas algo mas adelante de eso no se muestra ni se guarda correctamente... quiero saber si se puede reparar o necesitare otro compilador #include <stdio.h>
struct data{ int a; int b; };
void proceso(){ FILE *file; data dat; file = fopen("Prueba.txt", "r"); if(file == NULL) printf("ERROR EN EL ARCHIVO\n\n");
fread(&dat,sizeof(dat),1,file);
while(!feof(file)){ printf("Resultado a: %d \nResultado b: %d\n\n", dat.a, dat.b); fread(&dat,sizeof(dat),1,file); }
fclose(file); }
int main(){ FILE *file; data dat; file = fopen("Prueba.txt", "a"); if(file == NULL) printf("ERROR EN EL ARCHIVO\n\n"); printf("NUMERO a: "); scanf("%d", &dat.a); printf("NUMERO b: "); scanf("%d",&dat.b); fwrite(&dat, sizeof(dat),1,file); fclose(file); printf("\n==============================================\n==============================================\n\n"); proceso(); return 0; }
|
|
|
67
|
Programación / Programación C/C++ / [Solucion] eliminar/editar contenido de un fichero
|
en: 5 Mayo 2019, 16:01 pm
|
Buenas aqui esta la solucion, ahora guarda, carga y edita los datos #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <cctype>
/*==================== [Defines] ======================*/ #define cls system("CLS"); #define File_OpenRead doc=fopen("DB_","r"); #define File_OpenWrite doc=fopen("DB_","a+"); /*==================== [Funciones] ======================*/ void guardar(); void cargar(); void buscar(); /*==================== [Base de Datos] ======================*/ FILE *doc; struct DATA{ char nombre[13]; int edad; };
/*==================== [Programa] ======================*/ int main() { fclose(doc); int selec; printf("1.Guardar \n2.Cargar \n3.Buscar \n"); fflush(stdin); selec = getch();
switch(selec){ case '1':{ cls guardar(); break; } case '2':{ cls cargar(); break; } case '3':{ buscar(); break; } } cls printf("[ESA OPCION NO EXISTE]\n"); main();
return 0; }
void guardar() { DATA e; int selec;
File_OpenWrite // abriendo el archivo.
if(doc == NULL) { cls printf("[ERROR EN EL ARCHIVO]\n"); main(); } do{ cls printf("Ingrese su nombre: "); fflush(stdin); gets(e.nombre);
for (char i = 0; i < strlen(e.nombre) ; i++){ e.nombre[i] = tolower(e.nombre[i]); }
printf("Ingrese su edad: "); fflush(stdin); scanf("%d", &e.edad);
printf("\n\n---Nombre:%s \n---edad: %d\n", e.nombre, e.edad); printf("\n\n1.desea finalizar el registro? \n2.Registrar otro usuario? \nElija una opcion porfavor: "); fflush(stdin); selec = getch(); fwrite(&e, sizeof(e),1,doc); }while(selec == '2');
fclose(doc); cls main(); }
void cargar() { File_OpenRead DATA e;
if(doc == NULL) { cls printf("[ERROR EN EL ARCHIVO]\n"); main(); }
fread(&e, sizeof(e),1,doc); while(!feof(doc)){ printf("\nNombre.....: %s", e.nombre); printf("\nEdad.........: %d", e.edad); fread(&e, sizeof(e),1,doc); }
printf("\n\nPrecione una tecla para volver...");
fclose(doc); getch(); cls main(); }
void buscar() { File_OpenWrite DATA e;
char b_nombre[13];
if(doc == NULL) { cls printf("[ERROR EN EL ARCHIVO]\n"); main(); } cls printf("Ingrese el nombre a buscar: \n");fflush(stdin); gets(b_nombre);
for (char i = 0; i < strlen(b_nombre) ; i++){ b_nombre[i] = tolower(b_nombre[i]); } cls
while(strcmp(e.nombre, b_nombre)){
fread(&e, sizeof(e),1,doc);
if(feof(doc)){ cls printf("[NO SE ENCONTRARON RESULTADOS]\n"); main(); } } printf("\nNombre.....: %s", e.nombre); printf("\nEdad.........: %d\n", e.edad); printf("\n\nPrecione una tecla para volver...");
fclose(doc); getch(); cls main(); }
Listo ya logre conseguir la solucion al problema y dejo la solucion aqui para los que necesiten hacer algo parecido..Funcion: Funciona creando un archivo temporar y mientras que no se encuentre el dato que estas buscando se van guardando los otros... void eliminar() { File_OpenRead FILE *d_temp; d_temp = fopen("DB_TEMP", "w"); DATA e; int b_cedula;
if(doc == NULL) { cls printf("[ERROR EN EL ARCHIVO]\n"); main(); }
cls printf("Escriba el numero de cedula del usuario que desea eliminar: "); fflush(stdin); scanf("%d", &b_cedula);
cls fread(&e, sizeof(e),1,doc);
while(!feof(doc)){
if((e.cedula == b_cedula)==0){ fwrite(&e, sizeof(e),1,d_temp); }else{ printf("Estos datos han sido eliminados..."); printf("\nNombre.....: %s", e.nombre); printf("\nCedula.....: %d", e.cedula); printf("\nEdad.......: %d\n", e.edad); }
fread(&e, sizeof(e),1,doc); } printf("\n\nPrecione una tecla para volver...");
fclose(d_temp); fclose(doc); remove("DB_"); rename("DB_TEMP", "DB_"); getch(); cls main(); }
|
|
|
68
|
Programación / Programación C/C++ / ¿Libreria mysql?
|
en: 26 Abril 2019, 03:18 am
|
buenas, alguien me podria decir que libreria mysql es buena, y si pueden dejarme un ejemplo de su uso se los agradecere mucho...
PD: uso dev-cpp ya que estoy aprendiendo
|
|
|
69
|
Programación / Programación C/C++ / Buscar y modificar lineas de un fichero
|
en: 17 Abril 2019, 22:11 pm
|
Hola, espero que todos esten bien. bueno lo que quiero hacer como explica el titulo es buscar y modificar las lineas de un fichero. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h>
/*==================== [Defines] ======================*/ #define cls system("CLS"); #define File_OpenRead doc=fopen("DB_","r"); #define File_OpenWrite doc=fopen("DB_","a+"); /*==================== [Funciones] ======================*/ void guardar(); void cargar(); /*==================== [Base de Datos] ======================*/ FILE *doc; struct DATA{ char espacio; char nombre[32]; int edad; int cedula; };
/*==================== [Programa] ======================*/ int main() { int selec; printf("1.Guardar dato \n2.Cargar datos\n"); fflush(stdin); selec = getch();//scanf("%d", &selec);
if(selec == '1'){ guardar(); }else if(selec == '2'){ cls cargar(); }else{ cls printf("esa opcion no existe\n"); main(); } return 0; }
void guardar() { cls DATA e; int option; File_OpenWrite // abriendo el archivo. do{ cls e.espacio = '\n';
printf("Ingrese su nombre: "); fflush(stdin); gets(e.nombre); printf("Ingrese su cedula: "); fflush(stdin); scanf("%d", &e.cedula); printf("Ingrese su edad: "); fflush(stdin); scanf("%d", &e.edad); printf("\n\n---Nombre:%s \n---Cedula:%d \n---Edad:%d ", e.nombre, e.cedula, e.edad); printf("\n\n1.Desea ingresar otro usuario? \n2.desea finalizar el registro? \nElija una opcion porfavor: "); fflush(stdin); option = getch();//scanf("%d", &option);
fwrite(&e, sizeof(e),1,doc);
}while(option == '1');
fclose(doc); // cerrando el archivo. cls main(); }
void cargar() { int option; DATA e; File_OpenRead //char palabra; if(doc == NULL) { cls printf("[ERROR EN EL ARCHIVO]\n"); main(); } printf("\t--------Datos Cargados--------\n");
fread(&e, sizeof(e),1,doc); while(!feof(doc)) { printf("\n"); printf("\nNombre...: %s",e.nombre); printf("\nCedula...: %d",e.cedula); printf("\nEdad.....: %d",e.edad); fread(&e, sizeof(e),1,doc); } fclose(doc); getch(); cls main(); }
ese es mi codigo si me pueden ayudar y explicarme como funcionan los cambios que hagan estaria bien, ya que no conozco mucho los codigos(comandos) de los includes y sus funciones.
|
|
|
70
|
Programación / Programación C/C++ / Re: Como comparar un string con una palabra dentro de un documeto de texto
|
en: 5 Abril 2019, 11:53 am
|
Entonces no tiene ningún sentido que guardes los datos en la matriz usando <strcpy()> como has hecho. Lo que tienes que hacer es: de un fichero que ya tiene las variables guardadas con su valor y todo, meterlas en una matriz. Te dejo un ejemplo mejor que ir caracter a caracter... #define MAX_SIZE 20 int main(){ FILE *fichero; fichero = fopen("fichero.txt", "r"); char registro[MAX_SIZE][MAX_SIZE]; int num_variables = 0; // numero de variables/lineas del fichero fgets(registro [num_variables ++], MAX_SIZE , fichero ); num_variables--; }
Luego tienes que pedir una palabra/variable y buscar en la matriz si está y si está devolver el valor que está a la derecha del "=". Mírate las funciones de la librería <string.h> ya que son de utilidad para este ejercicio. PD: Te recomiendo pedir la palabra usando la función <fgets()> (tendrás que hacer una pequeña modificación para quitar el ENTER que le des al terminar de escribir la palabra). Vete probando lo que te comento y cuando te quedes bloqueado, intento ayudarte más específicamente ya que ahora estoy ocupado. Suerte Ok muchas gracias, tratare hacerlo así
|
|
|
|
|
|
|