Dev - C++ - [S.O.S] Problema con vector

 
Vista:

[S.O.S] Problema con vector

Publicado por Sheik (1 intervención) el 24/07/2006 05:17:58
Tengo este problema. Estoy haciendo un programa para un Practico final. Y tengo basura en un vector, pero en el slot 0 :S. Les muestro mi programa.
La cosa es que yo cargo un 3 y cuando consulto el valor de la variable me tira un 32420985, un 20, y numeros que no tienen nada que ver.

Aca dejo mi codigo de fuente. Agradeceria muchisimo si alguien me ayudase con este error. El trabajo es para el martes. Y tengo que tenerlo listo hoy. Muchas Gracias.

PD: (Estoy usando Turbo C++, el viejito de DOS).

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>

void cargar (char Partidos[25][4], float Votos[4][3]) // Carga de datos del programa.
{
int f, c;
clrscr();
for(f=0; f<4; f++)
{
cout<< "Ingrese el nombre del partido a cargar :: ";
gets(Partidos[f]);
cout<< endl;
for(c=0; c<3; c++)
{
cout<< "Ingrese los votos del Partido :: ";
cin>> Votos[f][c];
cout<< endl;
}
}
getch();
}

void TotalVotos (float Votos[4][3], float Suma1[3], float Suma2[4])
{
int c, f;
for(c=0; c<3; c++)
{
Suma1[f] = 0;
for(f=0; f<4; f++)
{
Suma1[f] += Votos[f][c];
}
}

for(f=0; f<4; f++)
{
Suma2[f] = 0;
for(c=0; c<3; c++)
{
Suma2[f] += Votos[f][c];
}
}

}

void Consulta (float Suma2[4], char Partidos[25][4])
{
clrscr();
int f;
char Part1[25];
cout<< "Ingrese el nombre del Partido a consultar :: ";
gets(Part1);
for(f=0; f<4; f++)
{
if(strcmp (Part1, Partidos[f]) == 0)
{
cout<< "Este partido tiene " << Suma2[f] << " Votos";
}
}
getch();
}

void Ordenar(char Partidos[25][4], float Suma2[4])
{
int k, f;
float aux=0;
char aux2[25];
for(k=0; k<4; k++)
{
for(f=0; f<4-k; f++)
{
if(Suma2[f] > Suma2[f+1])
{
aux = Suma2[f];
Suma2[f] = Suma2[f+1];
Suma2[f+1] = aux;
strcpy (aux2, Partidos[f]);
strcpy (Partidos[f], Partidos[f+1]);
strcpy (Partidos[f+1], aux2);
}
}
}

}

void MostrarOrdenado(char Partidos[25][4], float Suma2[4])
{
int f;
clrscr();
for(f=0;f<4;f++)
{
cout<< Partidos[f] << " ------ " << Suma2[f] << endl;
}
getch();
}

void PciaMayor(float Suma1[3])
{
clrscr();
float may;
int f, pos;
may=Suma1[0];
if(Suma1[f] > may)
{
may = Suma1[f];
pos = f;
}
if( pos == 0 )
{
cout<< "La provincia con mayor votos es Buenos Aires.";
}
else
{
if( pos == 1 )
{
cout<< "La provincia con mayor votos es Cordoba.";
}
else
{
cout<< "La provincia con mayor votos es Santa F‚.";
}
}
getch();
}

void Totalvot(float Suma1[3])
{
clrscr();
int f;
float vot;
for(f=0;f<3;f++)
{
vot += Suma1[f];
}
cout<< "El total de votantes en las 3 provincias es de: " << vot;
getch();
}

void main()
{
char Partidos[25][4] ;
float Votos[4][3] ;
float Suma1[3];
float Suma2[4] ;
cargar (Partidos, Votos);
TotalVotos (Votos, Suma1, Suma2);
//Ordenar (Partidos, Suma2);
//MostrarOrdenado (Partidos, Suma2);
//Consulta (Suma2, Partidos);
//PciaMayor(Suma1);
Totalvot(Suma1);

}
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:[S.O.S] Problema con vector

Publicado por Inma (4 intervenciones) el 10/08/2006 10:43:48
cuando utilizas la funcion gets debes de limpiar el vector...
si no recuerdo mal la funcion era:
fflush(stdin)

Es que aqui no tengo los apuntes
Enga nos vemos
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