Jueves 14 de Noviembre de 2024, 04:00
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Error en la compilacion de programa en c++
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Error en la compilacion de programa en c++ (Leído 1834 veces)
lukescott
Nuevo Miembro
Mensajes: 2
Error en la compilacion de programa en c++
«
en:
Domingo 21 de Noviembre de 2010, 22:41 »
0
Buenas tardes, vi que ya han publicado este ejercicio aca queriendo que se lo resuelvan y bueno yo tengo la misma necesidad por el ejercicio, pero lo he tratado de hacer por mi mismo y me parece qeu el codigo esta completo, el problema es que al compilar al momento de cargar los resultados no avanza la carga, si me podrian dar una mano con eso desde ya muy agradecido.
Realizar un programa que permita cargar los resultados de un torneo de futbol. Este programa debera presentar un menu de opciones:
1-CARGA INICIAL
2- LEER ARCHIVO
3- INGRESAR RESULTADOS
4- MOSTRAR POSICIONES
5- SALIR DEL PROGRAMA
Al elegir la opcion 1, el usuario debe ingresar la cantidad de equipos que tendra el torneo y los nombres de cada uno de ellos.
Al elegir la opcion 2, el programa debe leer los datos del archivo "torneo.dat"
Al elegir la opcion 3, el usuario ingresa los nombres de dos equipos y los goles convertidos por cada uno. El programa debera calcular los puntos de cda equipo (3 si gano el partido, 1 si empato y 0 si perdio) y acumular los goles a favor y en contra de cada equipo.
Al elegir la opcion 4, el programa debera ordenar la lista de equipos por cantidad de puntos. Si hay igualdad de puntos, por diferencia de gol(Goles a favor-Goles en contra).
Si hay igualdad, en puntos y diferencia de gol, se ordenara por goles a favor. Si persiste la igualdad, se ordenara alfabeticamente. Un vez ordenada, el programa mostrara la tabla de posiciones.
Al elegir la opcion 5 guarda los datos en el archivo "torneo.dat" y cierra el programa.
Luego de cada opcion (Excepto la 5), se vuelve a mostrar el menu. Todas las entradas de datos deben ser validadas.
Ahora mando el código que ya desarrolle:
Código: C
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void
creartorneo
(
FILE
*
)
;
void
leerarchivo
(
FILE
*
)
;
void
ingresarresultados
(
FILE
*
)
;
void
mostrarposiciones
(
FILE
*
)
;
struct
sequipos
{
char
nombre
[
]
;
int
equipo
[
]
,
gf
,
gc
,
pts
;
}
equipo
;
int
main
(
)
{
FILE
*
torneo
;
int
n
,
exit
=
0
;
while
(
!
exit
)
{
cout
<<
"Elija una opcion"
<<
endl
<<
endl
;
cout
<<
"1-Carga Inicial"
<<
endl
<<
"2-Leer archivo"
<<
endl
<<
"3-Ingresar Resultados"
<<
endl
<<
"4-Mostrar Posiciones"
<<
endl
<<
"5-Salir del Programa"
<<
endl
;
cin
>>
n
;
switch
(
n
)
{
case
1
:
creartorneo
(
torneo
)
;
break
;
case
2
:
leerarchivo
(
torneo
)
;
break
;
case
3
:
ingresarresultados
(
torneo
)
;
break
;
//case 4:{
// mostrarposiciones(torneo);
// }
case
5
:
exit
=
1
;
break
;
}
}
}
void
creartorneo
(
FILE
*
torneo
)
{
int
i
,
tot
;
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"wb"
)
;
if
(
torneo
!=
NULL
)
{
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"ab"
)
;
cout
<<
"Ingrese cantidad de equipos "
;
cin
>>
tot
;
for
(
i
=
1
;
i
<=
tot
;
i
++
)
{
cout
<<
"Ingrese nombre del equipo "
<<
i
<<
endl
;
scanf
(
"%s"
,
equipo.
nombre
)
;
fwrite
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
}
fclose
(
torneo
)
;
}
return
;
}
void
leerarchivo
(
FILE
*
torneo
)
{
int
numero
=
1
;
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"rb"
)
;
if
(
torneo
==
NULL
)
{
cout
<<
"El archivo no existe, por favor creelo!!!!"
;
}
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
while
(
!
feof
(
torneo
)
)
printf
(
"n%d t%s t%d t%d t%d t%d"
,
numero
,
equipo.
nombre
,
equipo.
gf
,
equipo.
gc
,
equipo.
pts
)
;
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
numero
++;
fclose
(
torneo
)
;
return
;
}
void
ingresarresultados
(
FILE
*
torneo
)
{
char
equipo1
[
25
]
,
equipo2
[
25
]
;
int
gf1
,
gc1
,
gf2
,
gc2
,
pts1
,
pts2
,
bandera
=
1
,
i
=
0
;
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"a+b"
)
;
gets
(
equipo1
)
;
cout
<<
"Ingrese nombre del equipo 1: "
;
gets
(
equipo1
)
;
cout
<<
"nIngrese nombre del equipo 2: "
;
gets
(
equipo2
)
;
cout
<<
"Ingrese goles del equipo 1: "
<<
endl
;
cin
>>
gf1
;
gc2
=
gf1
;
cout
<<
"Ingrese goles del equipo 2: "
<<
endl
;
cin
>>
gf2
;
gc1
=
gf2
;
if
(
gf1
>
gf2
)
{
pts1
=
3
;
pts2
=
0
;
}
else
if
(
gf1
<
gf2
)
{
pts2
=
3
;
pts1
=
0
;
}
else
{
pts1
=
pts2
=
1
;
}
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
while
(
!
feof
(
torneo
)
)
{
while
(
equipo1
[
i
]
!=
0
)
{
if
(
equipo1
[
i
]
==
equipo.
nombre
[
i
]
)
{
i
++;
}
else
{
bandera
=
0
;
}
}
if
(
bandera
==
1
)
{
equipo.
pts
=
pts1
;
equipo.
gf
=
gf1
;
equipo.
gc
=
gc1
;
fwrite
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
break
;
}
else
{
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
}
}
fclose
(
torneo
)
;
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"a+b"
)
;
i
=
0
;
bandera
=
1
;
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
while
(
!
feof
(
torneo
)
)
{
while
(
equipo2
[
i
]
!=
' '
)
{
if
(
equipo2
[
i
]
==
equipo.
nombre
[
i
]
)
{
i
++;
}
else
{
bandera
=
0
;
}
}
if
(
bandera
==
1
)
{
equipo.
pts
=
pts2
;
equipo.
gf
=
gf2
;
equipo.
gc
=
gc2
;
fwrite
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
}
else
{
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
}
}
fclose
(
torneo
)
;
return
;
}
void
mostrarposiciones
(
FILE
*
torneo
)
{
int
i
=
0
;
equipo arreglo
[
]
,
aux
;
torneo
=
fopen
(
"c:
\t
orneo.dat"
,
"rb"
)
;
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
while
(
!
feof
(
torneo
)
)
{
arreglo
[
i
]
=
equipo
;
i
++;
fread
(
&
equipo
,
sizeof
(
struct
sequipos
)
,
1
,
torneo
)
;
}
i
--;
for
(
j
=
0
;
j
<
i
-
1
;
j
++
)
{
for
(
k
=
j
+
1
;
k
<
i
;
k
++
)
{
if
(
arreglo
[
j
]
.
pts
<
arreglo
[
k
]
.
pts
)
{
aux
=
arreglo
[
j
]
arreglo
[
j
]
=
arreglo
[
k
]
;
arreglo
[
k
]
=
arreglo
[
j
]
;
}
}
}
for
(
j
=
0
;
j
<=
i
;
j
++
)
{
printf
(
"n t%s t%d t%d t%d t%d"
,
arreglo
[
j
]
.
nombre
,
arreglo
[
j
]
.
gf
,
arreglo
[
j
]
.
gc
,
arreglo
[
j
]
.
pts
)
}
fclose
(
torneo
)
;
}
Desde ya muchas gracias
Tweet
«
última modificación: Lunes 22 de Noviembre de 2010, 19:26 por lukescott
»
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: Programa en c++
«
Respuesta #1 en:
Lunes 22 de Noviembre de 2010, 10:29 »
0
Usa las etiquetas de código y pon el codigo formateado si esperas que alguien gaste su tiempo en leer eso.
Fr33k K0mpu73r
lukescott
Nuevo Miembro
Mensajes: 2
Re: Programa en c++
«
Respuesta #2 en:
Lunes 22 de Noviembre de 2010, 17:11 »
0
disculpame pero soy nuevo en este foro y en la programacion en general y no se a que te refieres con codigo formateado o vinculos, podrias explicarme para hacer más eficiente mi pregunta?
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: Programa en c++
«
Respuesta #3 en:
Lunes 22 de Noviembre de 2010, 18:00 »
0
Esto se aplica a todos los foros. Léete las normas y los consejos aquí:
viewforum.php?f=1
Saludos
Fr33k K0mpu73r
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Error en la compilacion de programa en c++