------------------------------------------------------------------------------------------------------------------
Ya esta, lo resolví.
------------------------------------------------------------------------------------------------------------------
Dejo mi resolución por si a alguien le sirve:
------------------------------------------------------------------------------------------------------------------
Código
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> typedef struct { int codigo; char descripcion[60]; char fecha[9]; int pagado; } registro; void alta(); int baja(); void modificaciones(); void consultas(); int eliminarRegistro(int); void IngresarRegistro(int); int buscar(char[80]); void ingresarClave(char[80]); void grabar(); void leer(); int cantidad = 0; registro registros[100]; FILE* archivo; int main() { int op; do { switch (op) { case 1: printf("[1] Ingrese los datos del pago de la factura de un Usuario para darlos de alta:\n"); alta(); break; case 2: printf("[2] Ingrese el codigo de la facturacion que quiere dar de baja de la lista junto con todos sus datos:\n"); baja(); break; case 3: printf("[3] Ingrese el codigo de la facturacio al cual le quiere modificar todos sus datos, inclusive el mismo codigo: \n"); modificaciones(); break; consultas(); break; grabar(); break; leer(); break; break; default: break; } } while (op != 0); } void alta() { if (cantidad <= 100) { IngresarRegistro(cantidad); cantidad++; } else { } } void IngresarRegistro(int posicion) { while (registros[posicion].pagado > 2 || registros[posicion].pagado < 1) { } } int baja() { int codigo; int indice = buscar(codigo); if (indice != -1) { eliminarRegistro(indice); } else { } return indice; } int buscar(int codigo) { int i = cantidad-1; for (; i > -1 && codigo != registros[i].codigo; i--); return i; } int eliminarRegistro(int eliminar) { for (int c = eliminar; c < cantidad; c++) registros[c] = registros[c + 1]; cantidad--; } void modificaciones() { int codigo; int indice = buscar(codigo); if (indice != -1) { IngresarRegistro(indice); } else { } return indice; } void consultas() { for (int i = 0; i < cantidad; i++) { printf("%27d %15s %15s %6d\n", registros[i].codigo, registros[i].descripcion, registros[i].fecha, registros[i].pagado); } } void grabar() { } void leer() { cantidad = 0; cantidad++; } consultas(); }
MOD: Etiquetas de Código GeSHi insertadas