Dev - C++ - Ejercicio de Programacion

 
Vista:

Ejercicio de Programacion

Publicado por gary (4 intervenciones) el 01/02/2017 01:34:02
Buenas quisiera que me ayudaran a resolver este ejercicio lo mas pronto posible

Cada estudiante solo vota una única vez por un solo candidato.
La información por candidato: cédula, nombre y edad.
De los 4 candidatos se selecciona uno, el que haya alcanzado la mayoría de
votos (ganador) yun segundo representante suplente, el siguiente en mayoría de
votos.

Se pide:

1. Mostrar la tabla de votación por candidato de los 15 alumnos del total del curso.

2. Proclamar el ganador y suplente por nombre y cantidad de

votos acumulados.

3. Imprimir el nombre del candidato más joven del curso.
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ejercicio de Programacion

Publicado por agustin (522 intervenciones) el 01/02/2017 09:57:40
Y tu código? Cuales son tus dudas?
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

Ejercicio de Programacion

Publicado por gary (4 intervenciones) el 01/02/2017 15:16:07
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
/*La elección del delegado de curso es  el  proceso	en  que	los  alumnos  del
		
En un aula   se  reúnen	para  elegir	al	representante	del	curso	ante	el	consejo
universitario.  Los	candidatos	son	sometidos	a  votación	en	un	proceso
secreto.  Cada estudiante  solo vota una única vez	por un solo candidato.	
La información por candidato: cédula,  nombre y edad.			
De los 4 candidatos se selecciona uno, el que	haya alcanzado la mayoría de
votos (ganador) y	un segundo representante suplente, el siguiente en	mayoría de
votos.								

Se pide:

Analice el problema y resuelva aplicando las estructuras más conveniente para su solución.  

1.	Mostrar la tabla de votación por candidato de los 15 alumnos del total del curso.

2.	Proclamar	el	ganador	y	suplente	por	nombre	y	cantidad	de

votos  acumulados.

3.	Imprimir el nombre del  candidato más joven del curso.
*/
struct Alumnos
{
	char nombre [8];
	char cedula[15];
	int edad;
 
};
 
 
main ()
{
	struct Alumnos Alumnos [4];
	int i, contCa=0, cont1=0,cont2=0,cont3=0,cont4=0,votos, Lista[5];
	system ("cls");
	printf ("Registro de Candidatos: \n");
 
	for (i=0;i<4;i++)
	{
		printf ("Ingrese Nombre: ");
		scanf ("%s",&Alumnos[i].nombre);
		printf ("Ingrese Edad: ");
		scanf ("%d",&Alumnos[i].edad);
		printf ("Ingrese Cedula: ");
		scanf ("%s",&Alumnos[i].cedula);
	}
	printf ("Registro de Alumnos: \n");
	for (i=0;i<4;i++)
	{
		printf ("Candidatos [%d]",i);
		printf ("\n");
		printf ("Nombre: %s\n",Alumnos[i].nombre);
		printf ("Edad: %d \n",Alumnos[i].edad);
		printf ("Cedula: %s\n",Alumnos[i].cedula);
 
    }
	for (i=0;i<5;i++)
	{
		printf ("Ingrese el numero de candidato a votar: 1 - 2 - 3 - 4 \n");
		scanf ("%d",&votos);
		Lista[5]=votos;
		if (votos==1)
			cont1++;
		if (votos==2)
			cont2++;
		if (votos==3)
			cont3++;
		if (votos==4)
			cont4++;
	}
	if ((cont1>cont2) && (cont1>cont3) && (cont1>cont4))
	{
		printf ("El alumno con mayor votos y ganador es el candidato Numero 1: %s  ",Alumnos[0].nombre);
		printf ("Cantidad de votos sumados: %d", cont1);
 
	}
	if ((cont2>cont1) && (cont2>cont3) && (cont2>cont4))
	{
		printf ("El alumno con mayor votos y ganador es el candidato Numero 2: %s  ",Alumnos[1].nombre);
		printf ("Cantidad de votos sumados: %d", cont2);
	}
	if ((cont3>cont1) && (cont3>cont2) && (cont3>cont4))
	{
		printf ("El alumno con mayor votos y ganador es el candidato Numero 3: %s  ",Alumnos[2].nombre);
		printf ("Cantidad de votos sumados: %d", cont3);
	}
	if ((cont4>cont1) && (cont4>cont2) && (cont4>cont1))
	{
		printf ("El alumno con mayor votos y ganador es el candidato Numero 4: %s  ",Alumnos[3].nombre);
		printf ("Cantidad de votos sumados: %d", cont4);
	}
 
	printf ("\n");
	if ((Alumnos[0].edad<Alumnos[1].edad) && (Alumnos[0].edad<Alumnos[2].edad) && (Alumnos[0].edad<Alumnos[3].edad))
	{
	printf ("El alumno mas joven del curso es: %s ",Alumnos[0].nombre);
	}
	else
	if ((Alumnos[1].edad<Alumnos[0].edad) && (Alumnos[1].edad<Alumnos[2].edad) && (Alumnos[1].edad<Alumnos[3].edad))
	{
	printf ("El alumno mas joven del curso es: %s ",Alumnos[1].nombre);
	}
	else
	if ((Alumnos[2].edad<Alumnos[0].edad) && (Alumnos[2].edad<Alumnos[1].edad) && (Alumnos[2].edad<Alumnos[3].edad))
	{
	printf ("El alumno mas joven del curso es: %s ",Alumnos[2].nombre);
	}
	else
	printf ("El alumno mas joven del curso es: %s ",Alumnos[3].nombre);
 
	printf ("\n");
	printf ("LISTA DE DATOS: \n");
		for (i=0;i<4;i++)
		{
			printf ("%s ", &Alumnos[i].nombre);
			printf (" %d ", Lista [i]);
 
		}
    system ("pause");
	return 0;
 
}

El problema es que no encuentro como mostrar la lista y tampoco encuentro como mostrar el alumno suplente y su cantidad de votos quisiera saber que debo hacer y q debo implementar
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
sin imagen de perfil
Val: 24
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ejercicio de Programacion

Publicado por Miguelangel (14 intervenciones) el 01/02/2017 16:08:27
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
//espero este codigo te pueda servir de guia
#include <iostream>
#include <conio.h>
#include <ctype.h>
using namespace std;
int main()
{
int voto;
float cont1,cont2,cont3,cont4,cont5,suma;
char rpt;
cont1=0;cont2=0;cont3=0;cont4=0;cont5=0;
do{cout<<"Lista1, lista2,lista3, lista4, lista5";
cout<<"\nIngrese su voto: ";cin>>voto;
if (voto<=4)
{if (voto<=2)
{if (voto==2) cont2=cont2+1;
else cont1=cont1+1;}
else
{if (voto==4) cont4=cont4+1;
else cont3=cont3+1;}
}
else
{cont5=cont5+1;}
cout<<"\nDesea salir? ";
rpt=getch();
rpt=toupper(rpt);
 
}while(rpt!='S');
suma=cont1+cont2+cont3+cont4+cont5;
cout<<"\nResultados al 100%: ";
cout<<"\nLista1 = "<<cont1*100.0/suma<<" por ciento...";
cout<<"\nLista2 = "<<cont2*100.0/suma<<" por ciento...";
cout<<"\nLista3 = "<<cont3*100.0/suma<<" por ciento...";
cout<<"\nLista4 = "<<cont4*100.0/suma<<" por ciento...";
cout<<"\nLista5 = "<<cont5*100.0/suma<<" por ciento...";
getch();
}
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

Ejercicio de Programacion

Publicado por gary (4 intervenciones) el 01/02/2017 16:59:06
gracias x la ayuda el problema es el problema me da algunas de las preguntas q me pide lo que tengo en duda es como poner por quien votaron los 15 alumnos en una lista y como sacar el alumno suplente ese es el problema
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ejercicio de Programacion

Publicado por agustin (522 intervenciones) el 01/02/2017 19:13:40
No termino de.entender del todo lo que pide pero hice este código basándome en el tuyo:
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
#define NCANDIDATOS 4
#define NVOTANTES 5
 
/*La elección del delegado de curso es  el  proceso	en  que	los  alumnos  del
		
En un aula   se  reúnen	para  elegir	al	representante	del	curso	ante	el	consejo
universitario.  Los	candidatos	son	sometidos	a  votación	en	un	proceso
secreto.  Cada estudiante  solo vota una única vez	por un solo candidato.	
La información por candidato: cédula,  nombre y edad.			
De los 4 candidatos se selecciona uno, el que	haya alcanzado la mayoría de
votos (ganador) y	un segundo representante suplente, el siguiente en	mayoría de
votos.								

Se pide:

Analice el problema y resuelva aplicando las estructuras más conveniente para su solución.  

1.	Mostrar la tabla de votación por candidato de los 15 alumnos del total del curso.

2.	Proclamar	el	ganador	y	suplente	por	nombre	y	cantidad	de

votos  acumulados.

3.	Imprimir el nombre del  candidato más joven del curso.
*/
typedef struct
{
	char nombre [8];
	char cedula[15];
	int edad;
	int votos;
}Pupil;
 
 
main ()
{
	Pupil Alumnos [NCANDIDATOS];
	int i,j, voto,primero=0,segundo=0,mas_joven=0;
 
	system ("cls");
	printf ("Registro de Candidatos: \n");
 
	for (i=0;i<NCANDIDATOS;i++)
	{
		printf ("Ingrese Nombre: ");
		scanf ("%s",Alumnos[i].nombre);
		printf ("Ingrese Edad: ");
		scanf ("%d",&Alumnos[i].edad);
		printf ("Ingrese Cedula: ");
		scanf ("%s",Alumnos[i].cedula);
		Alumnos[i].votos=0;
	}
	printf ("Registro de Alumnos: \n");
	for (i=0;i<NCANDIDATOS;i++)
	{
		printf ("Candidatos [%d]",i);
		printf ("\n");
		printf ("Nombre: %s\n",Alumnos[i].nombre);
		printf ("Edad: %d \n",Alumnos[i].edad);
		printf ("Cedula: %s\n",Alumnos[i].cedula);
 
    }
    printf ("\n");
 
	for (i=0;i<NVOTANTES;i++)
	{
		do {
			printf ("Ingrese el numero de candidato a votar: ");
			for (j=1; j<=NCANDIDATOS; j++){
				printf ("%d",j);
				if (j<NCANDIDATOS)
				    printf (" - ");
			}
			printf ("\n");
			scanf ("%d",&voto);
			if (voto<1 || voto>NCANDIDATOS)
			    printf ("Opcion no valida. Vuelve a intentarlo.\n");
		}while (voto<1 || voto>NCANDIDATOS);
		(Alumnos[voto-1].votos)++;
	}
	for (i=0; i<NCANDIDATOS; i++){
		if (primero < Alumnos[i].votos){
			primero=Alumnos[i].votos;
		}
		if (segundo < Alumnos[i].votos && Alumnos[i].votos != primero){
			segundo=Alumnos[i].votos;
		}
	}
	for (i=0; i<NCANDIDATOS; i++){
		if (Alumnos[i].votos == primero){
			printf ("El alumno con mayor cantidad de votos es el candidato Numero %d: %s\n",i+1, Alumnos[i].nombre);
			printf ("Cantidad de votos sumados: %d\n", Alumnos[i].votos);
		}
	}
	printf ("\n");
 
	for (i=0; i<NCANDIDATOS; i++){
		if (Alumnos[i].votos == segundo){
			printf ("El segundo alumno con mas votos es el candidato Numero %d: %s\n",i+1, Alumnos[i].nombre);
			printf ("Cantidad de votos sumados: %d\n", Alumnos[i].votos);
		}
	}
	printf ("\n");
 
	mas_joven=Alumnos[0].edad;
	for (i=0; i<NCANDIDATOS; i++){
		if (Alumnos[i].edad < mas_joven){
			mas_joven=Alumnos[i].edad;
		}
	}
 
 
	for (i=0; i<NCANDIDATOS; i++){
		if (Alumnos[i].edad == mas_joven){
			printf ("El alumno mas joven del curso es: %s\n", Alumnos[i].nombre);
		}
	}
	printf ("\n");
 
	printf ("LISTA DE DATOS: \n");
	printf ("%8s %18s %13s %13s\n", "Nombre","Cedula","Edad","Votos");
	for (i=0;i<NCANDIDATOS;i++)
	{
		printf ("%8s ", Alumnos[i].nombre);
		printf ("%18s ", Alumnos[i].cedula);
		printf ("%13d ", Alumnos[i].edad);
		printf ("%13d\n", Alumnos[i].votos);
	}
    system ("pause");
	return 0;
}
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

Ejercicio de Programacion

Publicado por gary (4 intervenciones) el 01/02/2017 23:41:40
muchas gracias hermano eres un duro ♥
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