Dev - C++ - bucle en C++

 
Vista:

bucle en C++

Publicado por Nicolas (2 intervenciones) el 07/10/2008 21:12:38
bueno tengo un problemita
cuando quiero insertar un bucle (do-while) no se corta o no lo ejecuta directamente aca les dejo el programa entero con lo que tiene que hacer, el bucle se lo quiero agregar al momento de ingresar el sexo de la persona, el programa compila y corre a la perfeccion hace lo que pido, quier saber como insertar ese bucle y de que manera se puede mejorar el programa


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//el programa debe permiter ingresar una cierta cantidad de datos
//de personas mostrar el promedio de las edades, el nombre de las
//mujeres y subir un 20% el sueldo a los mayores de 40 años
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
const int cantmax=3;
 
struct Persona {
char nombre[20];
int edad ;
char sexo; /*{'F', masculino y 'M', maculino}*/
float sueldo;
};
struct Persona empleados[cantmax];
 
void cargar (struct Persona *per){
int j,i;
for (i=0 ; i<cantmax ; i++){
    printf ("ingrese la edad de la persona%d: ",i);
    scanf ("%d", &per[i].edad);
    j=getchar();
    printf ("ingrese el sueldo de la persona %d: ",i);
    scanf ("%f", &per[i].sueldo);
    j=getchar();
    printf ("ingrese el sexo de la persona (F o M) %d: ",i);
    scanf ("%c", &per[i].sexo);
    j=getchar();
    printf ("ingrese el nombre de la persona %d: ",i);
    scanf ("%s", per[i].nombre);
    j=getchar();
    }
};
 
void p (Persona *em){
    float prom,aux=0; int k;
    for (k=0; k<cantmax; k++)
        aux=aux+em[k].edad;
    prom=aux/k;
    printf ("el promedio de la edad es %f:
",prom);
};
 
void buscar (struct Persona *pers){
    int i;
for (i=0; i<cantmax;i++){
    if (pers[i].sexo == 'f')
        printf ("%s
",pers[i].nombre);
};
};
 
void sueldo (struct Persona *perso){
    int i;
    for (i=0; i<cantmax ; i++){
         if (perso[i].edad >= 40){
           printf ("%f
",perso[i].sueldo);
           perso[i].sueldo= perso[i].sueldo*1.20;
           printf ("%f
",perso[i].sueldo);
         };
    };
};
int main (){
cargar (empleados);
p (empleados);
buscar (empleados);
sueldo(empleados);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:bucle en C++

Publicado por Edgar Efrain dp (3 intervenciones) el 16/10/2008 18:11:21
de primera instancia no te aguites si no te arranca a la primera a si empezamos todos. Un consejo seria usar la biblioteca <conio.h> para que no se te quejen los "getchar" y la sintaxis de un do while es:

do
{
acciones del ciclo;
}
while(sentencia de comparacion);

/*recuerda que la sentencia de comparacion hace que el ciclo se repita hasta que esta sentencia sea falsa*/

nota:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:bucle en C++

Publicado por Edgar Efrain dp (3 intervenciones) el 16/10/2008 18:14:25
de primera instancia no te aguites si no te arranca a la primera a si empezamos todos. Un consejo seria usar la biblioteca <conio.h> para que no se te quejen los "getchar" y la sintaxis de un do while es:

do
{
acciones del ciclo;
}
while(sentencia de comparacion);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*recuerda que la sentencia de comparacion hace que el ciclo se repita hasta que esta sentencia sea falsa*/
nota: NO ES PARA QUE TE LO TOMES A MASL PERO INTENTA UN ESTILO DE PROG. ESTRUCTURADO COMO:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
void captura(int *a,int *b);
void suma(int x,int y);
void multiplica(int x,int y);
 
int main()
{
    int n1,n2,opcion;
 
do
{
    system("cls");
    printf(""  M   E   N   U"
");
    printf("1.- Leer dos numeros.
");
    printf("2.- Sumarlos.
");
    printf("3.- Multiplicarlos.
");
    printf("4.- Salir.
");
    printf("    Opcion:");
    scanf("%d",&opcion);
    switch(opcion)
    {
    case 1:captura(&n1,&n2);
    break;
    case 2:suma(n1,n2);
    break;
    case 3:multiplica(n1,n2);
    break;
    }
}
    while(opcion!=4);
}
void captura(int *a,int *b)
{printf("Dame el valor del Primer numero:
");
     scanf("%d",a);
     printf("Dame el valor del segundo numero:
");
     scanf("%d",b);
     }
     void suma(int x,int y)
     {
        time_t ini,fin;
        printf("la suma es %d
",x+y);
        getch();
        ini=time(NULL);
        while(fin-ini<5)
        fin=time(NULL);
        atexit(0);
     }
     void multiplica(int x ,int y )
     {
        time_t ini,fin;
        printf("La multiplicacion es %d
",x*y);
        ini=time(NULL);
        while(fin-ini<5)
        fin=time(NULL);
        atexit(0);
}
Y PARA CUALQUIER DU DA ANEXAME A TU MESSENGER TO ESTOY CONECTADO LUNES Y MIERCOLES DE 11 A 12 PM. O MANDAME UN CORREO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:bucle en C++

Publicado por Nicolas (2 intervenciones) el 24/10/2008 15:01:25
Muchas gracias gente la verdad que e sto me re sirvio :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar