|
|||||||
| Programación Escribe aquí todo lo relacionado sobre programación, ya sea C, C++, PHP, etc, etc... |
![]() |
|
|
LinkBack | Herramientas |
|
|||
|
Compilado en Dev-C++ bajo Windows el programa tira perfectamente, es mas no tiene ningun error a simple vista. El unico problema que he encontrado antes de compilar es que devc trae mal la libreria conio por lo que he omitido dicha libreria y la funcion clrscr();
//#include <conio.h> //clrscr(); Asi que revisa tu compilador o a omitir las lineas que te he comentado porque el programa funciona sin problemas.... pide los datos dos veces e imprime.
|
| Los siguientes usuarios agradecieron a LiderSS este mensaje: | ||
Im_PaCt (14-Nov-2009)
| ||
|
|||
|
Eso mismo estaba pensando cuando vi el codigo... iba a preguntar si estas usando los compiladores Borland. Se que esa libreria esta incluida.
|
|
||||
|
para dev c++ si esta la libreria conio, hecha por un programador independiendte y de hecho la tengo, en un rato la subo que ahora estoy en la escuela, enviame un mp para que no se me olvide.
para usar el clear screen en dev c++ sin nada extra solo escribe #include <windows.h> system ("pause"); //puede detener la ejecución de un programa system ("clrscr"); // puede limpiar la pantalla
__________________
Última edición por Hagane1; 13-Nov-2009 a las 15:16 |
| Los siguientes usuarios agradecieron a Hagane1 este mensaje: | ||
Im_PaCt (14-Nov-2009)
| ||
|
||||
|
bueno gracias por las respuestas pero en borland no me anduvo no se por q -.- , pero igual complete mas el ejercicio, que era pedir una determinada cantidad de datos a 20 empleados (le puse 5 para hacerlo corto(?)), y tambien habia que hacer un menu. Y justamente ahi me tope con un problema, pues cuando pongo un numero de dni (doc. nacional de identidad) que tiene 8 dogitos si lo guardo en una variable float no queda tal cual se ingreso =/ , me di cuenta de eso por que cuando comparaba me daba como que eran diferentes. El codigo hasta ahora quedo asi, llegue hasta la opcion de comparacion de dni obviamente :p
#include <stdio.h> #include <conio.h> #include <string.h> int i=0; char rta='s'; struct empleado { int leg,edad; char nomb[30],dir[30],loc[30]; float sueldo,dni,tel; } ; /*Declaracion de funciones*/ int menu(); void prosc(); void opc2(); struct empleado empl[5]; main() { int j=0; clrscr(); while(rta=='s') { switch(menu()) { case 1: prosc(); break; case 2: opc2(); break; } printf("Desea continuar? (n/s)"); fflush(stdin); scanf("%c", & rta); } getch(); return 0; } /*Funciones*/ int menu() { int opc; if (empl[0].leg==0) { printf("1- Alta de empleados\n"); scanf("%d", & opc); } else { printf("Seleccione una opcion:\n"); printf("1- Alta de empleados\n"); printf("2- Modificar la direccion a traves del ingreso de DNI"); printf("3- Listar por apellido (A-Z)\n"); printf("4- Obtener el empleado con mayor sueldo basico\n"); printf("5- Obtener el empleado con menor sueldo bsaico \n"); printf("6- Listar por localidades (A-Z)\n"); scanf("%d", & opc); } return opc; } void prosc() { printf("ingrese numero de legajo\n"); scanf("%d", & empl[i].leg); printf("ingrese numero de documento\n"); scanf("%d", & empl[i].dni); printf("ingrese nombre y apellido\n"); fflush(stdin); gets(empl[i].nomb); printf("ingrese edad\n"); scanf("%d", & empl[i].edad); printf("Ingrese telefono\n"); scanf("%d", & empl[i].tel); printf("Ingrese direccion\n"); fflush(stdin); gets(empl[i].dir); printf("ingrese localidad\n"); fflush(stdin); gets(empl[i].loc); printf("ingrese sueldo basico\n"); scanf("%f", & empl[i].sueldo); } void opc2() { int cont=0; float doc,doca=0; printf("Ingrese DNI"); scanf("%f", & doc); for(cont=0;cont<5;cont++) { if (doc==empl[cont].dni) { doca=cont; } } if (doca==0) {printf ("Ingrese DNI valido");} else { printf("la direccion es %s, ingrese la nueva direccion:",empl[cont].dir); gets (empl[cont].dir); } } |
|
|||
|
Un numero de 8 digitos no es la mejor opcion para una variable float; sobre todo si el numero no contiene cifras decimales. Te recomendaria que para esas variables utilizes un char[] del largo que quieras. La comparacion no es tan directa como un "==" pero funciones recursivas para comparar "strings" se pueden conseguir facil en internet.
Wow... entrada para 20 empleados?? Suena una entrada divertida... jajaja |
|
||||
|
Cita:
|
|
||||
|
por que en vez de usar una arreglo de chars, por que no usas algun tipo de entero largo, tales como un long int o algun entero de 64 bits, asi sera mas facil que controles los valores je je XD
__________________
![]() Spoiler para Para paginas:
|
| Los siguientes usuarios agradecieron a Tailmon este mensaje: | ||
Im_PaCt (14-Nov-2009)
| ||
|
||||
|
Creo que te refieres a la sintaxis:
scanf(%?,&var) donde "var" es el nombre de tu variable y "%?" es el tipo segun lo siguiente: %ld - %li..... long int %lu............. unsigned long int Espero que sea eso a lo que te referias. Saludos. PD: corrijanme si estoy mal .
__________________
![]() Spoiler para gracias xoox:
Última edición por Fire; 14-Nov-2009 a las 21:55 |
| Los siguientes usuarios agradecieron a Fire este mensaje: | ||
Im_PaCt (14-Nov-2009)
| ||
![]() |
| (0 miembros y 1 visitantes) | |
| Herramientas | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema al controlar los juegos de RPG | Anakin | RPG Maker | 7 | 26-Oct-2010 19:36 |
| Problema con teclado en aeRO (Ragnarok) | varyto | Juegos (On-line, Off-line) | 7 | 02-Sep-2008 01:54 |
| !!Problema Rakion!! | Blinde | Juegos (On-line, Off-line) | 1 | 31-Oct-2007 15:06 |
| Problema con Doom 3 | KanoLucifer | Juegos (On-line, Off-line) | 7 | 27-Sep-2007 01:23 |
|
Torneo DC 2012
|