SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: CoronelTC en Viernes 11 de Noviembre de 2011, 06:58

Título: Comprender un código de bucles
Publicado por: CoronelTC en Viernes 11 de Noviembre de 2011, 06:58
Hola, he comenzado C++ hace 15 días. Ahora he ingresado a estudiar y practicar las estructuras repetitivas, en este caso do...while(hacer...mientas).

Ejemplo :
Código: Text
  1. #include "stdafx.h"
  2. #include <cstdlib>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.         int I, N;
  9.         float NOMINA, SUE;
  10.         I = 0;
  11.         NOMINA = 0;
  12.         cout<<"Ingrese la cantidad de empleados: "; cin>>N;
  13.         system("CLS");
  14.  
  15.         do
  16.         {
  17.                 cout<<endl<<"Ingrese sueldo N "<<I+1<<" :"; cin>>SUE;
  18.                 NOMINA = NOMINA + SUE;
  19.                 I = I +1;
  20.         }
  21.         while(I<N);
  22.         cout<<"El total de la NOMINA es: "<<NOMINA<<endl;
  23.         system("PAUSE");
  24.         return EXIT_SUCCESS;
  25. }

N: Número de empleados
SUE: Sueldo de cada empleado
NOMINA: Suma de todos los salarios

¿Dónde ocurre el problema?
Lo que no entiendo es el porque luego de sueldo es necesario introducir I+1:
Citar
      cout<<endl<<"Ingrese sueldo N "<<I+1<<" :"; cin>>SUE;

Gracias por las futuras respuestas, actualmente no domino C++ pero hago lo posible para superarme en este aspecto y ayudar a más miembros que en algún momento estuvieron en problemas parecidos.
Título: Re:Comprender un código de bucles
Publicado por: herzdark en Viernes 11 de Noviembre de 2011, 23:37
vos tenes q usar el I+1 porque empezaste desde cero, ademas como estas pidiendo el sueldo de un empleado ese empleado no puede ser 0 porque sino no existe, si hubieras empezado con i=1 no tendrías q poner el i+1
Título: Re:Comprender un código de bucles
Publicado por: SevenX3 en Domingo 13 de Noviembre de 2011, 00:15
La verdad, es que te pide cada sueldo de cada empleado, y suma +1 para que cuando sea igual a N, deje de pedir. Ademas cada ves que pide un sueldo, ya lo suma. Entiendes?

Y esto es solo un arreglo cout<<endl<<"Ingrese sueldo N "<<I+1<<" :"; cin>>SUE;
Para que cada ves que pida un sueldo, Diga: "Ingrese sueldo N 32 :" Por ejemplo.