Y no se como solucionarlo.
Lo que hace este programa es un sistema básico de altas, bajas y consultas.
Código
#include <stdio.h> #include <string.h> struct Tadress{ char streetNo[50]; char colonia[40]; char codP[8]; char city[20]; char tel[12]; }; struct Templ{ int idEmpl; char entName[60]; char depar[40]; Tadress direc; float sal; }; void altas(char pers[100][9],Templ& ppl, int& lim); void bajas(char pers[100][9], int& lim); void listado(char pers[100][9], int& lim); int main () { char personal[100][9]; int op,lim=0; Templ ppl; ppl.idEmpl=1; do{ printf("EMPRESA\n\n1 ALTAS\n2 BAJAS\n3 CONSULTAS\n4 SALIR\nOpcion: "); scanf("%i", &op); switch(op){ case 1: altas(personal,ppl,lim); break; case 2: bajas(personal,lim); break; case 3: listado(personal,lim); break; } }while(op<4); } void altas(char pers[100][9],Templ& ppl, int& lim){ for(int i=0;i<lim;i++){ printf("\nALTAS\n\nNo. Empleado: %i",ppl.idEmpl); pers[i][0]=ppl.idEmpl; ppl.idEmpl++; printf("\nIngresar el nombre del empleado: "); fflush(stdin); gets(ppl.entName); strcpy(&pers[i][1], ppl.entName); printf("\nIngresar el nombre del departamento: "); fflush(stdin); gets(ppl.depar); strcpy(&pers[i][2], ppl.depar); printf("\nDireccion\n Calle y numero: "); fflush(stdin); gets(ppl.direc.streetNo); strcpy(&pers[i][3], ppl.direc.streetNo); printf("\n Colonia: "); fflush(stdin); gets(ppl.direc.colonia); strcpy(&pers[i][4], ppl.direc.colonia); printf("\n Codigo Postal: "); fflush(stdin); gets(ppl.direc.codP); strcpy(&pers[i][5], ppl.direc.codP); printf("\n Ciudad: "); fflush(stdin); gets(ppl.direc.city); strcpy(&pers[i][6], ppl.direc.city); printf("\n Telefono: "); fflush(stdin); gets(ppl.direc.tel); strcpy(&pers[i][7], ppl.direc.tel); printf("\n Ingresar el salario mensual del trabajador: "); scanf("%f", &ppl.sal); pers[i][8]=ppl.sal; } lim++; } void bajas(char pers[100][9], int& lim){ int idBaja; printf("\nBAJAS\n\nIngresar el ID a dar de baja: "); scanf("%i", &idBaja); lim--; for(int i=idBaja-1;i<lim;i++){ for(int j=0;j<9;j++){ pers[i][j]=pers[i+1][j]; } } } void listado(char pers[100][9], int& lim){ char busqD[40]; printf("\nCONSULTAS\n\nIngresar el nombre del departamento: "); fflush(stdin); gets(busqD); printf("\n\nID EMPLEADO\tNOMBRE\t\tSALARIO"); for(int i=0;i<lim;i++){ for(int j=0;j<9;j++){ [color=red]if(strcmp(busqD, pers[i][2]) == 0){<-- ERROR[/color] printf("\n%i\t %s\t %.2",pers[i][0],pers[i][1],pers[i][8]); } } }