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 - lordluisiv

#61
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
#62
Oye puedes guiarte de aqui

es un sistemita de guardado que hice, ahi puede revisar como escribir en un archivo y sacar esa informacion, y editarla.
https://foro.elhacker.net/programacion_cc/solucion_eliminareditar_contenido_de_un_fichero-t495331.0.html

#63
¡Muchas gracias!, si me sirvio.
#64
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;
}

#65
:O tengo una base secreta en la esquina de mi casa, pero no se alarmen es igual que mi casa...
si aja que mas :v
#66
Programación C/C++ / Re: ¿Libreria mysql?
7 Mayo 2019, 00:51 AM
Muchas gracias srWhiteSkull
#67
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 C/C++ / ¿Libreria mysql?
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
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
Cita de: YreX-DwX en  4 Abril 2019, 22:00 PM
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
    while(!feof(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 :-X

Ok muchas gracias, tratare hacerlo así