Autor
|
Tema: [?] Problemas con código en C++ (Leído 5,831 veces)
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Hola, quería preguntar que errores tienen estos códigos en C++, están escritos por mi, y aunque el compilador no me saca ningun fallo, me falla algo porque el programa rompe.... #include <stdlib.h> #include <stdio.h> #include <string.h> struct TJugadores { char nombre[75]; int puntuacion; }; int main(void) { struct TJugadores name[6]; int n; int punt_max; int punt_min; char mej_jug[75]; char men_jug[75]; for(n=0; n<=5; n++) { printf("\nEscribe el nombre del jugador %d: ", n+1); //Nombre del jugador gets(name[n].nombre); fflush(stdin); printf("\nEscribe la puntuacion: "); //Puntuación del jugador scanf("%d",&name[n].puntuacion); fflush(stdin); } punt_max = name[0].puntuacion; strcpy (mej_jug, name[0].nombre); punt_min = name[0].puntuacion; strcpy (men_jug, name[0].nombre); for(n=0; n<=5; n++) { if (name[n].puntuacion > punt_max) { punt_max = name[n].puntuacion; strcpy (mej_jug, name[n].nombre); } if (name[n].puntuacion < punt_min) { punt_min = name[n].puntuacion; strcpy (men_jug, name[n].nombre); } } printf("\n\nEl mejor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_max, mej_jug); printf("\n\nEl peor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_min, men_jug); fflush(stdin); printf("\nPresione Intro para finalizar...\n\n"); getchar(); }
#include <stdio.h> #include <stdlib.h> void Medida(int Val, int Dist); void Algoritmo(int Longitud, int Diametro); int main(void) { int ValLongA; int DistDiamA; int ValLongB; int DistDiamB; Medida(ValLongA, DistDiamA); ValLongA = ValLongB; DistDiamA = DistDiamB; Algoritmo(ValLongB, DistDiamB); } void Medida(int Val, int Dist) { printf("\n\nIntroduzca la longitud de la circumerencia: "); scanf("%d", &Val); printf("\n\nIntroduzca el diametro de la circumerencia: "); scanf("%d", &Dist); } void Algoritmo(int Longitud, int Diametro) { float PI; PI = Longitud / Diametro; printf("\nEl valor de PI para esos valores es...\n\n"); printf("%f", PI); fflush(stdin); printf("\nPresione Intro para finalizar...\n\n"); getchar(); }
Espero que puedan decirme que falla
Gracias y Saludos.
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
|
|
85
|
Tus códigos tienen ciertas faltas un tanto inocentes, pero se nota que estás aprendiendo, por eso te las arreglé para que funcionen tus programas. Igualmente me puse a depurar algo que en realidad eran errores fáciles como ser un %d por un %s , pero eso dije faltas un tanto inocentes XD #include <stdio.h> #include <stdlib.h> void Medida(int& Val, int& Dist); void Algoritmo(int Longitud, int Diametro); int main(void) { int ValLongA; int DistDiamA; int ValLongB; int DistDiamB; Medida(ValLongA, DistDiamA); ValLongB = ValLongA; DistDiamB = DistDiamA; Algoritmo(ValLongB, DistDiamB); return 0; } void Medida(int& Val, int& Dist) { printf("\n\nIntroduzca la longitud de la circumerencia: "); scanf("%d", &Val); printf("\n\nIntroduzca el diametro de la circumerencia: "); scanf("%d", &Dist); }
void Algoritmo(int Longitud, int Diametro) { float _PI; _PI = (float)((float)Longitud/(float)Diametro); printf("\nEl valor de PI para esos valores es...\n\n"); printf("PI: %f\n", _PI); fflush(stdin); printf("\nPresione Intro para finalizar...\n\n"); getchar(); }
#include <stdlib.h> #include <stdio.h> #include <string.h> struct TJugadores { char nombre[75]; int puntuacion; }; int main(void) { struct TJugadores name[6]; int n; int punt_max; int punt_min; char mej_jug[75]; char men_jug[75]; const int cant=2; for(n=0; n<cant; n++) { printf("\nEscribe el nombre del jugador %d: ", n+1); //Nombre del jugador gets(name[n].nombre); fflush(stdin); printf("\nEscribe la puntuacion: "); //Puntuación del jugador scanf("%d",&name[n].puntuacion); fflush(stdin); }
// MessageBox(0,0,0,0); punt_max = name[0].puntuacion; strcpy (mej_jug, name[0].nombre); punt_min = name[0].puntuacion; strcpy (men_jug, name[0].nombre); // MessageBox(0,0,0,0); for(n=0; n<cant; n++) { if (name[n].puntuacion > punt_max) { punt_max = name[n].puntuacion; strcpy (mej_jug, name[n].nombre); } if (name[n].puntuacion < punt_min) { punt_min = name[n].puntuacion; strcpy (men_jug, name[n].nombre); } } // MessageBox(0,0,0,0); printf("\n\nEl mejor resultado lo ha obtenido %d con una puntuacion de %s puntos.", punt_max, mej_jug); printf("\n\nEl peor resultado lo ha obtenido %d con una puntuacion de %s puntos.", punt_min, men_jug); fflush(stdin); printf("\nPresione Intro para finalizar...\n\n"); getchar(); return 0; }
|
|
|
En línea
|
|
|
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Tus códigos tienen ciertas faltas un tanto inocentes, pero se nota que estás aprendiendo, por eso te las arreglé para que funcionen tus programas.
Si, hace poco mas de un mes que estoy con el C++, muchas gracias por las soluciones, ahora lo cambio e intentaré entender las modificaciones.
En el código de los jugadores, lo único que falle fue en la tontería que me dijiste... printf("\n\nEl mejor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_max, mej_jug); printf("\n\nEl peor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_min, men_jug);
Y tendría que ser asi... printf("\n\nEl mejor resultado lo ha obtenido %s con una puntuacion de %d puntos.", mej_jug, punt_max); printf("\n\nEl menor resultado lo ha obtenido %s con una puntuacion de %d puntos.", men_jug, punt_min);
Pero el de PI no entiendo la modificación.... Pero aun así gracias
|
|
« Última modificación: 24 Febrero 2013, 20:15 pm por MeCraniDOS »
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Una pequeña aclaracion: eso es C, no C++.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
85
|
Si, hace poco mas de un mes que estoy con el C++, muchas gracias por las soluciones, ahora lo cambio e intentaré entender las modificaciones.
En el código de los jugadores, lo único que falle fue en la tontería que me dijiste... printf("\n\nEl mejor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_max, mej_jug); printf("\n\nEl peor resultado lo ha obtenido %s con una puntuacion de %d puntos.", punt_min, men_jug);
Y tendría que ser asi... printf("\n\nEl mejor resultado lo ha obtenido %s con una puntuacion de %d puntos.", mej_jug, punt_max); printf("\n\nEl menor resultado lo ha obtenido %s con una puntuacion de %d puntos.", men_jug, punt_min);
Pero el de PI no entiendo la modificación.... Pero aun así gracias Na en realidad, yo no te digo que son tonterías eso le pasa a cualquiera. Te conviene practicar la depuración de programas. No es necesario el windbg para hacerlo, se puede seguir la ejecución de un programa usando un mísero MessageBox o un printf+pause, cualquier cosa que te muestre por pantalla la situación del programa. Con respecto al primer programa, estas dos asignaciones estaban invertidas y fueron arregladas.. int main(void) { int ValLongA; int DistDiamA; int ValLongB; int DistDiamB; Medida(ValLongA, DistDiamA); ValLongB = ValLongA; DistDiamB = DistDiamA; Algoritmo(ValLongB, DistDiamB); return 0; } Lo que también se hizo fue hacer que, void Medida(int& Val, int& Dist)
reciba los parámetros por referencia, para poder modificarlos. después esto, _PI = (float)((float)Longitud/(float)Diametro);
olvidate , es sólo figurativo hasta luego
|
|
|
En línea
|
|
|
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Vale Vale, muchas gracias, otra cosa, vi que pusiste esto: // MessageBox(0,0,0,0);
Y que me dijiste esto:
Te conviene practicar la depuración de programas. No es necesario el windbg para hacerlo, se puede seguir la ejecución de un programa usando un mísero MessageBox Pero cuando pongo lo del MessageBox(0,0,0,0); dice que no esta declarado, de que Liberia es ese comando??
Saludos
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
No te olvides de usar las etiquetas GeSHi con C++, aunque el código sea en C. Es más fácil de seguirlo con colores.
Están puestas en lo que yo he posteado...
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problemas con este codigo ayuda
Programación Visual Basic
|
ELGRANSOLRAC
|
2
|
1,654
|
17 Febrero 2006, 23:48 pm
por Ironhorse
|
|
|
Problemas con código ASM
ASM
|
Cristhian_Rider
|
0
|
3,530
|
16 Noviembre 2011, 21:38 pm
por Cristhian_Rider
|
|
|
Problemas con código de parquímetro.
Programación C/C++
|
OmarHack
|
8
|
5,752
|
5 Abril 2013, 21:54 pm
por OmarHack
|
|
|
[Resuelto] Problemas con un código de JS
Desarrollo Web
|
noaptebuna
|
6
|
3,224
|
14 Septiembre 2015, 15:51 pm
por noaptebuna
|
|
|
Problemas con codigo de clases en c++
Programación C/C++
|
ianmorar03
|
3
|
2,265
|
27 Marzo 2016, 22:41 pm
por crack81
|
|