bit a bitdoc

Páginas: 6 (1379 palabras) Publicado: 14 de junio de 2015
#include
#include
#include
#include
#include
using namespace std;



/*** Macros ***/

#define TAMBUF 1024 /* Tamanyo para bufer de entrada */

/*** Definicion de tipos de datos personalizados ***/

/* Tipo de datos para la gestion del menu del programa */

typedef enum _OpcionMenu OpcionMenu;

enum _OpcionMenu
{MENU_LISTAR_DATOS = 1,

MENU_AGREGAR_DATO,
MENU_ELIMINAR_DATO,
MENU_MODIFICAR_DATO,

MENU_LEER_ARCHIVO,
MENU_GUARDAR_ARCHIVO,

MENU_SALIR,

MENU_FIN /* Elemento especial para marcar el final de la
* enumeracion */
};


/* Tipo de datos que almacena valores y descripciones para el menu */

typedef struct _Menu Menu;

struct _Menu
{OpcionMenu valor;

/* Le damos un tamanyo fijo, a sabiendas de que solo el
* programador puede operar sobre este tipo de
* estructuras. Asumimos que el programador sabe lo que hace,
* cierto? */
char descripcion[81];
};


typedef unsigned char uchar; /* Alias para unsigned char */



/*** Prototipos de funciones ***/

void arreglar (char *);

voidbit_definir (uchar *, int, int);
int bit_recuperar (uchar *, int);

int bits_agregar (uchar **, int);
int bits_eliminar (uchar **, int);
void bits_listar (uchar *, int);
void bits_modificar (uchar *, int);

void bits_guardar (uchar *, int);
int bits_leer (uchar **);

int leer_entero (void);



/*** Funcion principal ***/

int
main (void){
static Menu datos_menu[]= {
{MENU_LISTAR_DATOS, "Listar datos"},
{MENU_AGREGAR_DATO, "Agregar dato"},
{MENU_ELIMINAR_DATO, "Eliminar dato"},
{MENU_MODIFICAR_DATO, "Modificar dato"},
{MENU_LEER_ARCHIVO, "Leer datos desde archivo"},
{MENU_GUARDAR_ARCHIVO, "Guardar datos en archivo"},
{MENU_SALIR, "Salir"}};

OpcionMenu opcion;int i;

uchar *secuencia = NULL; /* Secuencia de bits */
int cantidad = 0; /* Cantidad de bits que se estan manipulando */


/* Mensaje de introduccion. Se siente un poco mejor cuando el
* programa le da la bienvenida al usuario, y le dice brevemente
* de que se trata el asunto. */

printf ("\n""Bienvenido.\n" "Este programa realiza algunas manipulacionessimples con bits.\n\n"
"Por favor seleccione una opcion:\n\n");


for (i = 0; i < MENU_FIN - 1; i++)
printf (" %d. %s\n", datos_menu[i].valor, datos_menu[i].descripcion);


do {
printf ("\nopcion> ");

// opcion = leer_entero();

switch (opcion) {
case MENU_LISTAR_DATOS:
bits_listar (secuencia, cantidad);
break;case MENU_AGREGAR_DATO:
cantidad = bits_agregar (&secuencia, cantidad);
break;

case MENU_ELIMINAR_DATO:
cantidad = bits_eliminar (&secuencia, cantidad);
break;

case MENU_MODIFICAR_DATO:
bits_modificar (secuencia, cantidad);
break;

case MENU_LEER_ARCHIVO:
cantidad =bits_leer (&secuencia);
break;

case MENU_GUARDAR_ARCHIVO:
bits_guardar (secuencia, cantidad);
break;

case MENU_SALIR:
break;

default:
printf ("\nOpcion invalida.\n");
}

} while (opcion != MENU_SALIR);

printf ("\nAdios pues..\n");

return 0;
}



/*** Declaracion defunciones ***/


/* arreglar()
*
* Sencilla funcion que se encarga de asegurarse de que una cadena
* solo contenga caracteres validos, de acuerdo a la funcion
* isgraph(). Todos los caracteres no-validos son eliminados */

void
arreglar (char *cadena)
{
int i, j;
int longitud;

longitud = strlen (cadena);

for (i = j = 0; i < longitud; i++) {
if...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • El Bite
  • Qué Es Un Bit
  • bita
  • el bit
  • bita
  • Bita
  • Copia Bit A Bit
  • Bit, Bite, Codigo Asc Ii

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS