C/Visual C - base de datos en c

 
Vista:

base de datos en c

Publicado por manuela (9 intervenciones) el 27/02/2008 19:47:54
Hola a todos

tengo que hacer la siguiente practica, pero la verdad es que ando un poco perdidilla si alguien me pudiera ayudar se lo agradeceria un monton.

tengo que realizar en c la siguiente practica:

implémentar una pequeña base de datos que le permite almacenar una clave y un valor(clave / valor), y luego recuperar esos valores especificando sus claves.

Una clave puede ser cualquier entero (int) diferente de cero. Un valor puede ser cualquier cadena de carácteres hasta una longitud de 20 carácteres.

tiene mas espefecificaciones pero lo importante es esto

si alguien me pudiera ayudar selo agradecira enormemente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:base de datos en c

Publicado por fernando.gomez (1603 intervenciones) el 28/02/2008 01:19:27
¿Y cómo lo estás haciendo? ¿En qué parte estás atorada?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:base de datos en c

Publicado por manuela (9 intervenciones) el 29/02/2008 01:00:22
pues ahora mismo llevo esto (es poquisimo) pero es que no se seguir

struct stock
{
int clé;
char valeur[20];
};

main ()
{
printf(''New key”');
scanf(''%d'',cle);

printf (“New valeur”);
scanf( "%s ", fgets(valeur, 20,??????) );

en la funcion fgets que deberia poner en el tercer parametro?

como puedo guardar la cle/valeur en una lista?

mcuhas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:base de datos en c

Publicado por fernando.gomez (1603 intervenciones) el 29/02/2008 05:00:57
Ok, primero tienes que leer el valor, de igual forma que hiciste. Aunque tienes que declarar una instancia de tu estructura:

struct stock
{
int clé;
char valeur[20];
};

int main()
{
struct stock valor; // aquí instancias donde vas a guardar los datos en memoria

printf("New key");
scanf(''%d'',&valor.cle); // obtienes la clave del usuario
printff("New Value");
scanf("%s", valor.valeur); // obtienes el valor

Luego, tendrías que guardar estos datos en un archivo, ¿correcto? Entonces te declaras una variable de tipo FILE* y empleas fopen para abrir el archivo, con segundo parámetro como a+ para indicar que quieres hacer un "append", es decir, escribir después de la última línea que tenga el archivo. Si éste no existe, lo creará. Y luego empleas fprintf para imprimir tus valores en el archivo. Finalmente, cierras con fclose.

Ahora, antes de continuar supongo que querrás guardar la clave en formato texto en lugar de binario, por lo que antes habría que convertir ese valor numérico en uno de texto.

char clave[20];
itoa(clave, valor.cle, 10);

Y ahora sí, abrimos el archivo y guardamos los datos.

FILE* archivo;
archivo = fopen("C:\archivo.txt", "a+"); // abrimos el archivo
fprintf(archivo, clave);
fprintf(archivo, valor.valeur);
fclose(archivo);

Y para terminar, solo necesitamos regresar un código de éxito al sistema operativo:

return EXIT_SUCCESS;
}

Y listo. Espero te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:base de datos en c

Publicado por manuela (9 intervenciones) el 29/02/2008 11:37:00
muchas gracias por todo en el enunciado de la practica me decia:

El programa se hara en dos fases:
1.Un buclepara las operaciones siguientes:
1. Mostrar al invitado " New key: ", y leer un número decimal.
2. Mostrar al invitado " New value: ", y leer una cadena de carácteres (utilizar fgets () sobre el flujo stdin).
3. Almacenar este par clave/ valor en una estructura de datos. Si la llave ya existe, el valor existente es reemplazado por el nuevo; si no una nueva entrada es creada.
Hasta que el usurario de una clave que sea 0.
2. Un bucle para las operaciones siguientes:
1. mostrar al invitado “Old key:” y leer un número decimal.
2. Mostrar , sólo sobre una línea, la cadena " Old value: " seguida por el valor asociado a la clave introducida. Si no hay, ningún valor será fijado.
Hasta que el utilizador de una clave que sea 0
un ejemplo seria

Ejemplo
New key: -2
New value: Hello World
New key: 431153
New value: something
New key: -2
New value: Hello ULg
New key: 0
Old key: 431153
Old value: something
Old key: 1
Old value:
Old key: -2
Old value: Hello ULg
Old key: 0

y no se como deberia hacer esto

muchisimas gracias fernando por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar