Autor
|
Tema: Ayuda con ejercicio a entregar en c++ (Leído 3,092 veces)
|
gabyricardo92
Desconectado
Mensajes: 11
|
Buenos dias gente, mi intención no es que resuelvan mi ejercicio ya que no tendría sentido ni molestarlos, tan solo les pido un punto de partida para agarrar viaje, se los agradeceria muchisimo. Tengo que hacer un programa que pida nombre de usuario y contraseña y si lo pongo mal 3 veces que salga, si no que me mande a un menu desde donde maneje el resto del ejercicio (Esto ya lo tengo realizado) Estoy teniendo serios problemas en la carga de datos, no se como encararlo, estoy mareado entre matrices y vectores y me frustra Dice lo siguiente: Una univdad desea analizar los sueldos abonados a sus 60 docentes, para ello sabe: Lote 1:-Legajo del docente -Mes -Categoria -Cantidad de Hs Trabajadas Lote 2: El valor de cada categoria y su descripcion se deberan cargar en memoria y son 3, titular, asociado, y adjunto (Esto no entiendo, por que yo lo que pense fue VectorCat[3]=Descripcion, pero como hago eso en c? :S me dice que es imposible convertir un int en char, y es logico, por que char es la descripcion e int la categoria. Se desea saber: Sueldo anual de cada profesor total de sueldos pagados por cada mes Para cada profesor cantidad de sueldos mayores a su sueldo promedio Imprimir ordenado por sueldo anual de menor a mayor: 1-Sueldo anual 2-Legajo del PRofe 3-Sueldo Promedio 4-Porcentaje Ademas que tampoco me dan un valor de la hora como para sacar el sueldo, pero eso se lo voy a inventar yo. Si pudieran darme un punto de partida, lo agradeceria enormemente y disculpen las molestias
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Pues a ver, para manejar los datos lo mejor sería utilizar estructuras de datos. El lote 1 podría ser algo así struct lote1 { char[MAX] legajo; int mes; char[MAX] categoria; // si fuese un indice podrias usar un int o un puntero int horas_trabajadas; };
Y el lote 2... struct lote2 { char[MAX] titular; char[MAX] asociado; char[MAX] adjunto; };
... a no ser que los datos del lote 2 sean referencias, en cuyo caso deberías sustituir los arrays por punteros.
|
|
« Última modificación: 9 Julio 2013, 16:05 pm por eferion »
|
En línea
|
|
|
|
gabyricardo92
Desconectado
Mensajes: 11
|
Eferion, muchisimas gracias por tu ayuda, he estado viendo muchos videos de estructuras (estoy hace horas con esto y no pude avanzar casi nada u.u) y es mas simple, el problema es que aun no lo vimos, y en lo posible quisiera evitarlas, hemos visto hasta Matrices y Vectores con el profesor, Gracias!
|
|
|
En línea
|
|
|
|
gabyricardo92
Desconectado
Mensajes: 11
|
int main () { int vcat[3]={0}; int i=0,cat,mes,leg,ch; printf("Ingrese numero de LEGAJO del docente o 0 para finalizar la carga"); scanf("%d", &leg); while (leg!=0) { printf("Ingrese mes trabajado"); scanf("%d",&mes); printf("Ingrese categoria a la que pertenece el docente"); scanf("%d",&cat); printf("Ingrese la cantidad de horas que trabajo"); scanf("%d",&ch); } printf("Ingrese numero de LEGAJO del docente o 0 para finalizar"); } Hasta aqui he avanzado en lo que seria la carga de datos, el tema es que estoy mareado entre las matrices y vectores :_
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Un ejemplo sencillo de la utilidad de las estructuras. Imagínate que tienes que gestionar una clase de 30 alumnos y para cada alumno necesitas guardar su nombre, sus apellidos, su edad, y la nota media de cada trimestre. con estructuras: struct alumno { char nombre[MAX]; char apellidos[MAX]; int edad; float nota_media[3]; }; struct alumno alumnos[30]; void imprimir( struct alumno alumnos[30] ) { int i; for ( i=0; i<30; ++i ) { printf( "%s\n", alumnos [ i ]. nombre ); printf( "%s\n", alumnos [ i ]. apellidos ); printf( "%d\n", alumnos [ i ]. edad ); // y esto podría ir en otro bucle printf( "%f\n", alumnos [ i ]. nota_media[ 0 ] ); printf( "%f\n", alumnos [ i ]. nota_media[ 1 ] ); printf( "%f\n", alumnos [ i ]. nota_media[ 2 ] ); } }
sin estructuras char nombres[30][MAX]; char apellidos[30][MAX]; int edades[30]; float notas_medias[30][3]; // ... void imprimir( char nombres[30][MAX], char apellidos[30][MAX], int edades[30], float notas_medias[30][3] ) { int i; for ( i=0; i<30; ++i ) { printf( "%s\n", nombres [ i ] ); printf( "%s\n", apellidos [ i ] ); printf( "%d\n", edades [ i ] ); // y esto podría ir en otro bucle printf( "%f\n", nota_medias_medias [ i ][ 0 ] ); printf( "%f\n", nota_medias_medias [ i ][ 1 ] ); printf( "%f\n", nota_medias_medias [ i ][ 2 ] ); } }
Queda claro que con estructuras todo queda más recogido y "estructurado"... sin estructuras cada array va a su bola y es muy fácil meter la pata.
|
|
|
En línea
|
|
|
|
gabyricardo92
Desconectado
Mensajes: 11
|
Claro, entiendo, es mas sencillo y queda mas prolijo, el tema es que no voy a poder usarlas ya que no llegamos ahi todavia en clase. De ultima si se me complica mucho con el tema de las matrices y vectores tendre que hacerlo así, me quedare toda la noche u.u eso pasa por dejar las cosas a ultimo momento, el que me lee nunca haga esto D= jaja. Agradezco una ves mas tu ayuda. No me gusta molestar pero realmente no le encuentro la vuelta al asunto, y estoy hace horas, me siento frustrado, pero lo conseguire
|
|
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
En tal caso, si no quieres beber de la fuente de la locura, hazte esquemas en papel donde quede bien claro que arrays tienen que ir de la mano y qué almacena cada uno.
Mantener demasiada información en la cabeza no suele ser una buena idea si quieres que tu software funcione.
|
|
|
En línea
|
|
|
|
gabyricardo92
Desconectado
Mensajes: 11
|
Si, voy a tratar de hacer los diagramas primero a ver si puedo llegar a una conclusión. Agradezco por tus respuestas. Deseame suerte jajaja, esperemos que funcione, lo necesito entregar mañana u.u
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ejercicio] Aca tienen un ejercicio para practicar
« 1 2 3 »
Programación Visual Basic
|
Dreamaker
|
20
|
16,648
|
5 Septiembre 2010, 02:57 am
por TGa.
|
|
|
Cuatro meses de cárcel por no entregar contraseña a la policía
« 1 2 »
Noticias
|
wolfbcn
|
11
|
5,856
|
8 Octubre 2010, 14:45 pm
por d(-_-)b
|
|
|
Ayuda ejercicio de Pascal, cuando uno no lo ve claro pide ayuda
Programación General
|
manu3742
|
1
|
3,561
|
31 Marzo 2011, 15:43 pm
por d(-_-)b
|
|
|
¿Reclamar por no entregar los criterios mínimos?
Foro Libre
|
Psyke1
|
0
|
1,338
|
15 Diciembre 2011, 12:02 pm
por Psyke1
|
|
|
O2 deberá entregar información de más de 9.000 IPs
Noticias
|
wolfbcn
|
0
|
1,448
|
31 Marzo 2012, 13:55 pm
por wolfbcn
|
|