Autor
|
Tema: El programa deja de funcionar (Leído 3,792 veces)
|
Naimaderis
Desconectado
Mensajes: 74
|
Estaba tratando de hacer una calculadora sencilla, pero por alguna razon el programa deja de funciones. ¿Alguien tiene alguna idea de porque? MOD:Imagen adaptada a lo permitido
|
|
« Última modificación: 11 Diciembre 2016, 20:54 pm por MCKSys Argentina »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
scanf("%d", cantidadnumerossumar );
Los argumentos de scanf son direcciones de memoria donde vas a almacenar los datos. Por tanto, para pasarle las direcciones, usa el operador "&": scanf("%d", &cantidadnumerossumar );
El error es que interpretaba los datos que tenía el int cantidadnumerossimar como si fuera una dirección, y trató de escribir en ella, lo que generó el error.
|
|
|
En línea
|
|
|
|
Naimaderis
Desconectado
Mensajes: 74
|
Muchas gracias!!!!, sabia sobre eso, pero no me di cuenta que era ese el error.
|
|
|
En línea
|
|
|
|
engel lex
|
no se que compilador usas... pero te está dejando pasar muchos errores, las funciones no tienen tipo (main debe ser siempre int), sumar creo que debería ser void según lo que quieras hacer... te está permitiendo compilar sin prototipos y llamar a la función...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Naimaderis
Desconectado
Mensajes: 74
|
Utilizo code::blocks. Ahora que lo dices, el programa compila de maravilla, en el libro que estoy usando, aun no he llegado a la parte de tipos de funciones. Pero he visto que ponen main(void) o cosas asi. En php, siempre ponia funcion(y aca adentro los parametros), estoy ansioso de ver como funciona aca. MOD:Imagen adaptada a lo permitido (Por 2da vez)
|
|
« Última modificación: 12 Diciembre 2016, 11:04 am por MCKSys Argentina »
|
En línea
|
|
|
|
engel lex
|
por que empiezas contador en 1 en la linea 24? al igual que ahí con ese +1 se te va a desbordar la variable al igual que no entiendo abajo la razón del operador ternario (y no se si entiendes como funciona, porque a mucha gente se le complica) y tambien un j empezando en no se que compilador usas... Utilizo code::blocks. code::blocks es el ide, no el compilador... a mi ni por accidente me deja compilar eso XD
|
|
« Última modificación: 12 Diciembre 2016, 05:35 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
por que empiezas contador en 1 en la linea 24? al igual que ahí con ese +1 se te va a desbordar la variable
al igual que no entiendo abajo la razón del operador ternario (y no se si entiendes como funciona, porque a mucha gente se le complica) y tambien un j empezando en
code::blocks es el ide, no el compilador... a mi ni por accidente me deja compilar eso XD
Este hermoso código compila en algunos compiladores de C (ahora estoy usando GCC): main(){ func(5); } func(n){ }
Se toma el uso de las funciones como una "declaracióm implícita". Eso sí, a la hora de linkear, tira error si no encuentra las funciones. Pero como dice engel, Naimaderis, las funciones tienen un retorno siempre (el del main es int), y antes de usar una función, el compilador debe conocerla: #include <stdio.h> void func(int); int main(){ func(5); } void func(int n){ }
O #include <stdio.h> void func(int n){ } int main(){ func(5); }
|
|
|
En línea
|
|
|
|
Naimaderis
Desconectado
Mensajes: 74
|
Ivan, estuve viendo tu blog, cuando avance un poco mas, creo que me va a servir bastante por que empiezas contador en 1 en la linea 24? al igual que ahí con ese +1 se te va a desbordar la variable
No entiendo muy bien el concepto de variable desbordada, me suena a que se pasa de la capacidad, ¿Podrias explicarlo? Gracias Podria cambiar la linea 24, pero entonces tengo que cambiar la linea 33 y 36. No se si sera mejor asi entonces: for (contador = 0; contador < cantidadnumerossumar; contador ++ ) for (j = 0; j < cantidadnumerossumar; j++ ) { (j < cantidadnumerossumar - 1) ? printf("%d + ",numerosasumar [j ]) : printf(" %d = %d",numerosasumar [j ], total );
Igualmente, estoy agregando un -1 abajo al igual que no entiendo abajo la razón del operador ternario (y no se si entiendes como funciona, porque a mucha gente se le complica) y tambien un j empezando en
Segun tengo entendido es como un if con else, no?. Me refiero: Condicion ? Si se cumple pasa esto : Si no, pasa esto code::blocks es el ide, no el compilador... a mi ni por accidente me deja compilar eso XD
Perdon, utilizo gnu gcc compiler. Espero adaptar bien la imagen esta vez:
|
|
« Última modificación: 12 Diciembre 2016, 22:51 pm por Naimaderis »
|
En línea
|
|
|
|
engel lex
|
los vectores empiezan en 0 siempre si declaran por ejemplo int a[4] a |_|_|_|_| 0 1 2 3
a[1] |_|X|_|_| 0 1 2 3
a[4] |_|_|_|_|??? 0 1 2 3
si haces a[4] el intentará acceder a la memoria ram en posición a + 4*size(int) y normalmente retorna "segment fault" y si el operador ternario lo comprendes bien...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Naimaderis
Desconectado
Mensajes: 74
|
no se que compilador usas... pero te está dejando pasar muchos errores, las funciones no tienen tipo (main debe ser siempre int), sumar creo que debería ser void según lo que quieras hacer... te está permitiendo compilar sin prototipos y llamar a la función...
Ya llegue al capitulo de funciones y prototipo, y me encontre con algo interesante: ¿A esto te referias? ¿Deberia actualizar el compilador? Es raro que sea vieja, lo descargue hace poco MOD:Imagen adaptada a lo permitido (Por 3ra vez). Lee las reglas. El tamaño máximo es de 800x600.
|
|
« Última modificación: 17 Diciembre 2016, 01:34 am por MCKSys Argentina »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Hoy deja de funcionar el 11818
Noticias
|
wolfbcn
|
0
|
1,684
|
1 Enero 2012, 18:36 pm
por wolfbcn
|
|
|
[Solucionado] Programa deja de funcionar
Programación C/C++
|
oscarX3M
|
2
|
2,516
|
5 Junio 2014, 01:46 am
por oscarX3M
|
|
|
Teclado deja de funcionar
Hardware
|
alexconan
|
3
|
3,157
|
30 Junio 2014, 19:53 pm
por Aprendiz-Oscuro
|
|
|
¿Por qué mi programa deja de funcionar?
« 1 2 »
Programación C/C++
|
LML-32
|
10
|
6,203
|
26 Mayo 2016, 07:48 am
por LML-32
|
|
|
Deja de funcionar, agregar y mostrar archivos con delimitadores C++
Programación C/C++
|
Abril7
|
1
|
2,135
|
4 Septiembre 2017, 15:05 pm
por ivancea96
|
|