informeProyecto2

14
Universidad mayor de san Andrés Facultad de Ciencias Puras y Naturales Carrera de informática Lab-131 PROYECTO – LAB – 131 Elecciones Municipales de la ciudad de La Paz Con sid era ndo que se aprox ima n las ele cci ones Munic ipa les de nu est ro paí s, se req uie re controlar la información de este proceso utilizando estructuras, para esta tarea se pide resolver los siguientes problemas:  ! inscripción de los ele ctores, qu e gene rar" un log in # pass$ ord para la votación virtual del elector %! inscripción de lo s partid os polí ticos # sus po stulantes C! &epositar en una mesa el voto de los electores' (La votaci ón es virtu al! &! Emisión de re sultados co mo ser: n)mero d e votos po r Partido(tex tual # en grafi co estadístico! E! Mostr ar a pa rti do ganador 1. Análisis Lista Mesas. Lista Partidos Políticos. Lista Nro. Mesa Persona: Nombre, Apellido,f echaNac, Ci, logo, paswoord Si voto o no?

description

informe

Transcript of informeProyecto2

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 1/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

PROYECTO – LAB – 131

Elecciones Municipales de la ciudad de La Paz

Considerando que se aproximan las elecciones Municipales de nuestro país, se requiere

controlar la información de este proceso utilizando estructuras, para esta tarea se pide resolver 

los siguientes problemas:

 ! inscripción de los electores, que generar" un login # pass$ord para la votación

virtual del elector %! inscripción de los partidos políticos # sus postulantesC! &epositar en una mesa el voto de los electores' (La votación es virtual!

&! Emisión de resultados como ser: n)mero de votos por Partido(textual # en graficoestadístico!E! Mostrar a partido ganador 

1. Análisis

Lista Mesas.

Lista Partidos Políticos.

ListaNro.

Mesa

Persona:Nombre,Apellido,fechaNac, Ci,logo, paswoord

Si voto

o no?

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 2/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

Como se puede observar en la gura arriba, en primera instancia crearemos

una clase Persona!ob"eto# $ otro clase PartidoPolitico!ob"eto# $ luego unaclase %istaMesas!con informaci&n en cada nodo un %istaPersonas!con

informaci&n en cada nodo Persona!'b"eto# $ votoSioNo?# $ nroMesa# $ luego

otra clase %istaPartidosPoliticos!con informaci&n en cada nodo un

PartidoPolitico $ nro(otos#.

Posteriormente daremos soluci&n al planteamiento del enunciado del

problema, considerando los puntos a resolver )ue se detalla el ob"etivo, a

continuaci&n.

2. Obeti!os.*l ob"etivo de +ste pro$ecto: Con la proimidad de las elecciones Municipales

en nuestro pa-s, se re)uiere controlar la informaci&n, para esta tarea

consideraremos los siguientes puntos:

nscripci&n de los electores para la votaci&n virtual del elector. nscripci&n de los partidos pol-ticos $ sus candidatos. /eali0aci&n de la votaci&n !%a votaci&n es virtual#.

*misi&n de los resultados. Mostrar al o a los partido!s# ganador!es#.

3. "ia#ra$a de clases

PartidoPolitico:

1

NombreCandidat

oNro.

(otos

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 3/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

%.

C&di#o en 'a!a.

 public class Persona { private String Nombre,Paterno,Materno,FechaNacimiento,CI,Login,Password; public Persona()

  { Nombre ="";Paterno =""; Materno = ""; FechaNacimiento = "";CI=""; Login=""; Password=CI;

 public void  !eerPersona()

{ Sstem#out#$rint!n("Intr#% &nombre'a$at'amat'echan'ci*");Leer dat=new Leer();Nombre =dat#datoStr(); Paterno=dat#datoStr();Materno = dat#datoStr(); FechaNacimiento = dat#datoStr();CI=dat#datoStr();

Login=Paterno#char+t()-""-Materno#char+t()-""-Nombre#char+t()-N.mFecha( this#FechaNacimiento);

Password=CI;

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 4/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

 public void  mostrarPersona(){Sstem#out#$rint!n(" ' Nombre +$e!!ido% "-Nombre-" "-Paterno-"

"-Materno);Sstem#out#$rint!n(" ' Fecha de Nacimiento% "-FechaNacimiento);Sstem#out#$rint!n(" ' C#I#% "-this#CI);

Sstem#out

#$rint!n(" ' Login% "-this#Login-"/n"); private String N.mFecha(String Fecha)

  { String a.0="";for(int i=; i1Fecha#!ength(); i--)

if(Fecha#char+t(i)2=3344Fecha#char+t(i)1=353)a.0=a.0-Fecha#char+t(i);

return a.0; public void  CambiarPassword(){

Sstem#out#$rint("Password +ntig.o% ");Leer da=new Leer();String antig.o = da#datoStr();if(antig.o#com$are6o(this#Password)==){

Sstem#out#$rint("Password N.e7o% ");Leer da8=new Leer();String n.e7o=da8#datoStr();Sstem#out#$rint("Conirmar% ");Leer d9=new Leer();String 7er=d9#datoStr();if(n.e7o#com$are6o(7er)==){

this#Password=n.e7o;Sstem#out#$rint!n("Listo#:");

else{Sstem#out#$rint!n("Fa!!o");

else{

Sstem#out

#$rint!n("Password In7a!ido"); public String getLogin()

  { return Login;  public String getPaswoord(){ return Password;

 public class NodoPersona {int inoContro!;Persona inoPersona;NodoPersona sig;NodoPersona(){

sig= null; inoContro!=;inoPersona= new Persona();

int getinoContro!(){

return(inoContro!);Persona getinorPersona(){

return(inoPersona);NodoPersona getsig(){

return(sig);

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 5/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

void  asiginoContro!(int it){

inoContro!= it;void  asiginorPersona(Persona 0){

inoPersona= 0;void  asigsig(NodoPersona 0){

sig= 0;

 public class ListaInscripcionP  {NodoPersona $; public ListaInscri$cionP(){ $= null;  boolean es7acia(){  boolean 0= $==null  true % false;return (0);

NodoPersona get$(){ return($);

void  adi$rimero (Persona it){

NodoPersona 0 = new NodoPersona();0#asiginorPersona(it);if(es7acia()){ 0#asigsig(0); else

{ 0#asigsig(get$());NodoPersona <=$osicion(contar()-);<#asigsig(0);$= 0;

int contar(){int c= ;if(:es7acia()){ NodoPersona <= get$();do

{ c--;<= <#getsig();

 while(<:=$);return(c);

NodoPersona $osicion(int $os){int i;NodoPersona <= get$();for(i=;i1=$os'8;i--){

<= <#getsig();

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 6/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

return(<);

void  adi.!timo(Persona it){

NodoPersona 0 = new NodoPersona();0#asiginorPersona(it);if(es7acia()){ adi$rimero(it); else

{ NodoPersona <=$osicion(contar()-);0#asigsig(<#getsig());<#asigsig(0);

void  !eerListaIP(){

Sstem#out#$rint!n("%2 ''' Lista Inscri$cion%###");int i=,>=; while(i==)

{ Sstem#out#$rint!n(>-"% Persona#");Persona it= new Persona();it#!eerPersona();adi.!timo(it);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar% ");i= dat8#datoInt();>--;

void  mostrarListaIP(){ Sstem#out#$rint!n("%2 ''' Lista Inscri$cion '''");

NodoPersona <= get$();

int c= contar();int i;for(i=; i1c; i--){

Sstem#out#$rint!n(i--"#' Persona");Persona it= new Persona();it= <#getinorPersona();it#mostrarPersona();<= <#getsig();

int b.sca$os(String @){   int $os=,c,sw= ;

NodoPersona <= get$();

c= contar(); while((c2) 44 (sw==)){

Persona it= new Persona();it= <#getinorPersona();$os--;if(it#getLogin()#com$are6o(@)==){ sw= ; <= <#getsig();c'';

if(sw==)

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 7/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

{ $os= ;return($os);

 public  boolean 7eriicaPaswoord(String @){  boolean sw=false;

NodoPersona <= get$();int c= contar(); int i;for(i=; i1c; i--){

Persona it= new Persona();it= <#getinorPersona();if(it#getPaswoord()#com$are6o(@)==){ sw=true; <= <#getsig();

return sw;

 public void  .s.arioAmiteBoto(String $as, ListaInscri$cionPatidosP !$$){

NodoPersona <= get$();

int c= contar();   int i;for(i=; i1c; i--){

Persona it=new Persona();it=<#getinorPersona();if(it#getPaswoord()#com$are6o($as)==){

if(<#getinoContro!()==){ Sstem#out#$rint!n("Intr# sig!a de $artido

$o!itico%###"); Leer da=new Leer();String sg!=da#datoStr();!$$#ac.m.!aBotosIPP(sg!);<#asiginoContro!();

else{ Sstem#out#$rint!n("a emitio s. 7oto####:::::");

<= <#getsig();

 public class NodoMesa {int nroMesa;ListaInscri$cionP !istaSI;NodoMesa sig; public NodoMesa(){

sig= null;!istaSI= new ListaInscri$cionP();

 public int getNroMesa(){

return(nroMesa); public ListaInscri$cionP getListaSI(){

return(!istaSI);NodoMesa getsig(){

return(sig);

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 8/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

 public void  asigNroMesa(int it){

nroMesa= it; public void  asigListaSI(ListaInscri$cionP 0){

!istaSI= 0; public void  asigsig(NodoMesa 0){

sig= 0;

 public class ListaMesas {NodoMesa $; public ListaMesas(){ $= null;  public  boolean es7acia(){  boolean 0= $==null  true % false;return (0);

 public NodoMesa get$(){ return($); public void  adi$rimero (int it, ListaInscri$cionP !ista){ NodoMesa 0 = new NodoMesa();  0#asigNroMesa(it);  0#asigListaSI(!ista);  0#asigsig(get$());  $= 0; public int contar(){

int c= ;NodoMesa <= get$();

 while(<:=null){ c--;<= <#getsig();return(c);

 public NodoMesa $osicion(int $os){

int i;NodoMesa <= get$();for(i=;i1=$os'8;i--){

<= <#getsig();return(<);

 public void  adi.!timo(int it, ListaInscri$cionP !ista){ NodoMesa 0 = new NodoMesa();0#asigNroMesa(it);0#asigListaSI(!ista);if(es7acia()){ adi$rimero(it, !ista); else

{ NodoMesa <=$osicion(contar()-);<#asigsig(0);

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 9/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

 public void  leeM (){int i=,it=; while(i==)

{Sstem#out#$rint!n("%%%%%%%%%% ''' Mesa% & "-it-" *

''' %%%%%%%%%%");ListaInscri$cionP @= new ListaInscri$cionP();@#!eerListaIP();adi.!timo(it, @);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar otra !ista% ");i= dat8#datoInt();it--;

 public void 

  mostrarM (){NodoMesa <= get$();int it; while(<:=null){

ListaInscri$cionP @= new ListaInscri$cionP();it= <#getNroMesa();@= <#getListaSI();Sstem#out#$rint!n("%%%%%%%%%% ''' Mesa% & "-it-" *

''' %%%%%%%%%%");@#mostrarListaIP();<= <#getsig();

 public void   prosesoDeEleccion(ListaInscri$cionPatidosP !$$){

int in=; while(in==){

Sstem#out#$rint!n("Intr# $aswoord de .s.ario%####");Leer da=new Leer();String $aso=da#datoStr();NodoMesa <= get$(); while(<:=null){

ListaInscri$cionP @= new ListaInscri$cionP();@= <#getListaSI();

if(@#7eriicaPaswoord($aso)){

@#.s.arioAmiteBoto($aso, !$$);

<= <#getsig();Sstem#out#$rint!n("Intr# $ara contin.ar");Leer da8=new Leer();int i=da8#datoInt();in=i;

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 10/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

 public class PartidoPolitico  { private String nombreCandidato, a$e!!idoCandidato, nombrePartidoP; private String sig!a; public PartidoPo!itico(){ nombreCandidato=""; a$e!!idoCandidato="";

nombrePartidoP=""; sig!a=""; public void  !eerPartidoP(){ Sstem#out#$rint!n("% &nomCandidato'a$e!!idoCand'nombrePartidoP'

sig!a*");Leer dat=new Leer();nombreCandidato=dat#datoStr(); a$e!!idoCandidato=dat#datoStr();nombrePartidoP=dat#datoStr(); sig!a=dat#datoStr();

 public void  mosrtrarPartidoP(){ Sstem#out#$rint!n("' ?atos candidato% "-nombreCandidato-"

"-a$e!!idoCandidato);Sstem#out#$rint!n("' nombrePartidoP% "-nombrePartidoP);Sstem#out#$rint!n("' sig!a% "-sig!a);

 public String getSig!a(){

return sig!a; public  boolean 7eriicaSig!a(String si){

return(getSig!a()#com$are6o(si)==);

 public class NodoPartidoP  {int nroBoto;PartidoPo!itico ino;NodoPartidoP sig;

NodoPartidoP(){sig= null;nroBoto=;ino= new PartidoPo!itico();

int getnroBoto(){

return(nroBoto);PartidoPo!itico getino(){

return(ino);NodoPartidoP getsig(){

return(sig);void  asignroBoto(int it){

nroBoto= it;

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 11/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

void  asigino(PartidoPo!itico 0){

ino= 0;void  asigsig(NodoPartidoP 0){

sig= 0; public class ListaInscripcionPatidosP  {

NodoPartidoP $; public ListaInscri$cionPatidosP(){ $= null;  boolean es7acia(){  boolean 0= $==null  true % false;return (0);NodoPartidoP get$(){ return($);void  adi$rimero (PartidoPo!itico it)

{ NodoPartidoP 0 = new NodoPartidoP();0#asigino(it);if(es7acia()){ 0#asigsig(0); else

{ 0#asigsig(get$());NodoPartidoP <=$osicion(contar()-);<#asigsig(0);$= 0;

int contar(){

int c= ;

if(:es7acia()){ NodoPartidoP <= get$();do

{ c--;<= <#getsig(); while(<:=$);return(c);

NodoPartidoP $osicion(int $os){

int i;NodoPartidoP <= get$();for(i=;i1=$os'8;i--){

<= <#getsig();return(<);

void  adi.!timo(PartidoPo!itico it){ NodoPartidoP 0 = new NodoPartidoP();

0#asigino(it);if(es7acia()){ adi$rimero(it); else

{ NodoPartidoP <=$osicion(contar()-);

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 12/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

0#asigsig(<#getsig());<#asigsig(0);

void  !eerListaIPP(){

Sstem#out

#$rint!n("%2 ''' Lista Inscri$cion PartidoPo!itico%###");int i=,>=; while(i==){ Sstem#out#$rint!n(>-"% Candidato Patido Po!itico#");

PartidoPo!itico it= new PartidoPo!itico();it#!eerPartidoP();adi.!timo(it);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar% ");i= dat8#datoInt();>--;

void  mostrarListaIPP(){ Sstem#out#$rint!n("%2 '' Lista Inscri$cion $artido $o!itico '''");

NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){

Sstem#out#$rint!n(i--"#' Candidato");PartidoPo!itico it= new PartidoPo!itico();it= <#getino();it#mosrtrarPartidoP();<= <#getsig();

 public void  ac.m.!aBotosIPP(String sg!){ NodoPartidoP <= get$();

int c= contar();int i;for(i=; i1c; i--){

PartidoPo!itico it= new PartidoPo!itico();it= <#getino();if(it#getSig!a()#e<.a!s(sg!)){ int t=<#getnroBoto()-;

<#asignroBoto(t);<= <#getsig();

 public int b.sca$os(String @){

int $os=,c,sw= ;NodoPartidoP <= get$();c= contar(); while((c2) 44 (sw==)){

PartidoPo!itico it= new PartidoPo!itico();it= <#getino();$os--;

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 13/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

if(it#getSig!a()#com$are6o(@)==){ sw= ; <= <#getsig();c'';

if(sw==){ $os= ;return($os);

 public void  resultadosDeEleccion(){

Sstem#out#$rint!n("%2 ''' Lista Des.!tados de A!eccion '''");NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){

Sstem#out#$rint!n(i--"#' Candidato");PartidoPo!itico it= new PartidoPo!itico();int t=<#getnroBoto();it= <#getino();Sstem#out#$rint!n("Nro de 7otos% "-t);it#mosrtrarPartidoP();<= <#getsig();

 public int maor(){

int ma='55555;NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){

int t=<#getnroBoto();if(t2ma){ ma=t; <= <#getsig();

return ma;

 public void  candidatoGanador (){

Sstem#out#$rint!n("%2 ''' Partido $o!itico ganador '''");NodoPartidoP <= get$();int c= contar();int ma=maor();

int i;for(i=; i1c; i--){PartidoPo!itico it= new PartidoPo!itico();int t=<#getnroBoto();it= <#getino();if(t==ma){

it#mosrtrarPartidoP();Sstem#out#$rint!n("Nro de 7otos% "-t);

<= <#getsig();

7/17/2019 informeProyecto2

http://slidepdf.com/reader/full/informeproyecto2 14/14

Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131

(. concl)siones.*n el C&digo en "ava se puede observar $ )uedar demostrado el ob"etivo )ue

era de: controlar la informaci&n sobre las elecciones municipales, pues se

obtuvo los resultados )ue consideramos en la armaci&n del ob"etivo.

*. Biblio#ra+ía.• 2esarrollo de pro$ectos inform3ticos !'scar 4elmonte, Carlos 5ranell, Maria

*rdo0ain#.