Sábado 14 de Diciembre de 2024, 17:57
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
No Encuentro El Error
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: No Encuentro El Error (Leído 893 veces)
strudan
Nuevo Miembro
Mensajes: 3
No Encuentro El Error
«
en:
Sábado 11 de Marzo de 2006, 21:23 »
0
hola, se que cualauiera que este programando un poquito seguro lo va asacar, pero yo me estoy volviendo loco y los libros que tengo no me ayudan.
lo que pretendo es que al ordenar el vector sueldo los otros datos hagan lo mismo.
ej:
nombre sueldo n tel
juan 2500 253...
pedro 1200 4256
pero cuando lo ordeno el sueldo cambia, pero de los nombres solo la primer letra, aca les dejo el codigo, no quieron que me lo corrigan solo si pueden indicarme en donde me estoy equivocando.
saludos!
Código: Text
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define TL 10
#define TN 3
#define TD 3
void cargadatos(char [][TL],float[],char[][TL]);
void muestradatos(char[][TL],float[],char[][TL]);
void ordena(char[][TL],float[],char[][TL]);
void main()
{
float vecsueldos[TN];
char vecnombres[TD][TL],vectel[TD][TL];
clrscr();
cargadatos(vecnombres,vecsueldos,vectel);
clrscr();
muestradatos(vecnombres,vecsueldos,vectel);
getch();
clrscr();
ordena(vecnombres,vecsueldos,vectel);
getch();
}
void cargadatos(char vecnom[][TL],float vecsueld[],char vectel[][TL])
{
int i;
char nombre[TL],tel[TL];
for (i=0;i<TD;i++)
{
printf("ingrese el nombre del empleado: ");
fflush(stdin);
gets(nombre);
strcpy(vecnom[i],nombre);
printf("ingrese el sueldo del empleado :");
scanf("%f",&vecsueld[i]);
printf("ingrese el numero de telefono: ");
fflush(stdin);
gets(tel);
strcpy(vectel[i],tel);
}
}
void muestradatos(char vecnom[][TL],float vecsueld[],char vectel[][TL])
{
int i;
printf("Los datos ingresados son: ");
for(i=0;i<TD;i++)
printf("\n\t %s \t\t %f \t %s",vecnom[i],vecsueld[i],vectel[i]);
}
void ordena(char vecnom[][TL],float vecsueld[],char vectel[][TL])
{
int i,h,z,a,f;
float aux;
char auxi,auxil;
for (i=0;i<TD-1;i++)
for (h=i+1;h<TD;h++)
{
for(a=0;a<TL;a++)
for(f=0;f<TL;f++)
{
if (vecsueld[i]>vecsueld[h])
{ aux=vecsueld[i];
vecsueld[i]=vecsueld[h];
vecsueld[h]=aux;
auxi=vectel[i][a];
vectel[i][a]=vectel[h][f];
vectel[h][f]=auxi;
auxil=vecnom[i][a];
vecnom[i][a]=vecnom[h][f];
vecnom[h][f]=auxil;
}
}
}
{
printf(" los datos ordenados por sueldo son: \n");
{
for(z=0;z<TD;z++)
printf("\n\t %s \t\t %f \t %s",vecnom[z],vecsueld[z],vect[z]);
getch();
}
}
}
Tweet
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: No Encuentro El Error
«
Respuesta #1 en:
Martes 14 de Marzo de 2006, 16:42 »
0
la verdad no has sido lo suficientemente claro con lo que deseas hacer, asi que no te puedo ayudar.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
No Encuentro El Error