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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  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
62  Programación / Programación C/C++ / Re: No encuentro el error en este programa - Structs + Punteros en: 18 Mayo 2019, 21:56 pm
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  Programación / Programación C/C++ / Re: descubri un problema con una duncion del dev-c++ con la lib. stdio.h en: 18 Mayo 2019, 18:21 pm
¡Muchas gracias!, si me sirvio.
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

Código:
#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  Foros Generales / Noticias / Re: La CIA estrena página web en la red oscura en: 9 Mayo 2019, 03:36 am
: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 / Programación C/C++ / Re: ¿Libreria mysql? en: 7 Mayo 2019, 00:51 am
Muchas gracias srWhiteSkull
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 :)

Código:
#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...

Código:
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.

Código:
#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...
Código
  1. #define MAX_SIZE 20
  2.  
  3. int main(){
  4.    FILE *fichero;
  5.    fichero = fopen("fichero.txt", "r");
  6.    char registro[MAX_SIZE][MAX_SIZE];
  7.    int num_variables = 0; // numero de variables/lineas del fichero
  8.    while(!feof(fichero))
  9.        fgets(registro[num_variables++], MAX_SIZE, fichero);
  10.    num_variables--;
  11. }

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í
Páginas: 1 2 3 4 5 6 [7] 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines