Foros del Web » Programación para mayores de 30 ;) » C/C++ »

lenguaje c++

Estas en el tema de lenguaje c++ en el foro de C/C++ en Foros del Web. tengo que precentar un programa como leccion antes de las 12 del dia de mañana y tengo un problema en el programa tengo que impedir ...
  #1 (permalink)  
Antiguo 03/02/2016, 22:53
 
Fecha de Ingreso: febrero-2016
Mensajes: 1
Antigüedad: 8 años, 3 meses
Puntos: 0
De acuerdo lenguaje c++

tengo que precentar un programa como leccion antes de las 12 del dia de mañana y tengo un problema
en el programa tengo que impedir el ingreso de numeros repetidos

por ejemplo tengo que ingresar el codigo de 2 empleado pero el programa no me deve aseptar un codigo repetido y deve volverme a pedir que lo ingrese
================================================== ==

#include <stdio>
#include <stdlib>
#include <conio>



typedef struct nomina
{

char nombre[50];
float sueldo;
int codigo;
}pagos;



main()
{
int i,codigo;
pagos arreglo[5];
for(i=0;i<5;i++)
{
clrscr();
printf("Datos # %i\n",i+1);

printf("Codigo: ");
scanf("%i",&arreglo[i].codigo);

if(arreglo[i].codigo==codigo)

printf("ERROR, Codigo existente\n");
else
codigo=arreglo[i].codigo;

fflush(stdin);
printf("Nombres y Apellidos: ");
gets(arreglo[i].nombre);
printf("Sueldo: ");
scanf("%f",&arreglo[i].sueldo);

}

system ("cls");

float iess=0;
float lr=0;

printf("Codigo\t Nombres\t\t Sueldo\t IESS\t\t Liquido a Recivir");
for(i=0;i<5;i++)
{
iess=(arreglo[i].sueldo*90.55)/100;
lr=(arreglo[i].sueldo*9.45)/100;
printf("\n");
printf("%i\t %s\t\t %8.2f\t %8.2f\t %8.2f",arreglo[i].codigo,arreglo[i].nombre,arreglo[i].sueldo,iess,lr);
}

system("pause>nul");
}
  #2 (permalink)  
Antiguo 04/02/2016, 00:13
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: lenguaje c++

Bienvenido al foro.

Una de las normas del foro es que hay que decorar el código fuente para que éste sea legible. Para ello mira el desplegable "highlight" situado arriba a la derecha en el cuadro de edición de mensajes.

Por otro lado agradeceríamos que nos tratases con un poco de respeto y evitases escribir con faltas de ortografía. Una o dos pasen pero tu mensaje está plagado.

En lo referente a tu problema, que no es C++ sino C:

Código C:
Ver original
  1. if(arreglo[i].codigo==codigo)
  2.   printf("ERROR, Codigo existente\n");
  3. else
  4.   codigo=arreglo[i].codigo;

La comparación no tienes que hacerla con el elemento que encuentres en i, sino con todos los anteriores:
  • El primer código será siempre bueno pues no puede haber repetidos.
  • El segundo código hay que compararlo con el único que tenemos, es decir sólo con el primero.
  • El tercer código se compara con el primero y el segundo...

Y cómo se hace eso? Con un for y haciendo un par de cambios en ese código.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: char, int, lenguaje, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:08.