Autor
|
Tema: [RESUELTO, AHORA VARIANTES]Hola, tengo un ligero problema (Leído 8,669 veces)
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Mira, has declarado la función main como int main(), entonces debes retornar un entero, es por eso que debes de usar la sentencia return. Cuando retornamos algo en la función main() le estamos avisando a nuestro sistema operativo cómo finalizó nuestro programa. Ejemplo: tres.c: #include <stdio.h> int main(void) { int x = 23; /* Supongamos que no debe de dar 23 la comprobación si da 23 es que algo hubo mal y salimos insatisfactoriamente del programa */ if(x == 23) return 1; return 0; }
Cuando ejecuto y compruebo cómo salió mi programa: ┌─[0 leo@archero ~/c_proyects]$ └─> ./tres; echo $? 1 ┌─[0 leo@archero ~/c_proyects]$ └─>
Fijate que me devolvió un 1, esto es porque en nuestro programa algo salió mal. ┌─[0 leo@archero ~/c_proyects]$ └─> ./tres && echo -e "Todo bien" || echo -e "Algo salió mal" Algo salió mal ┌─[0 leo@archero ~/c_proyects]$ └─>
Es por eso que es importante retornar algo, retornar el diagnóstico de nuestro programa.
|
|
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Y si quieres que cuando el programa acabe espere a que presiones una tecla utiliza getchar() que sí es estándar.
Saludos
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
alex030293
Desconectado
Mensajes: 12
Aprendiendo a programar en C a pocos...
|
vale, entonces meto siempre return 0; al final de todo como medida "formal".
Por otro lado, habia leido lo de getchar(); pero no me hace lo mismo que getch() por algun motivo, se cierra sola al acabar.
|
|
|
En línea
|
www.flickr.com/photos/alex030293Mi equipo: Intel i7 955 @4.0GHz + Nvidia GTX 460 + Nvidia 9800GT para Physx + 12Gb RAM DDR3 1600 Mghz + HDD Seagate Barracuda + Themaltake ProWater 850i.
|
|
|
Samael.Black
Desconectado
Mensajes: 19
|
vale, entonces meto siempre return 0; al final de todo como medida "formal".
Por otro lado, habia leido lo de getchar(); pero no me hace lo mismo que getch() por algun motivo, se cierra sola al acabar.
utiliza la libreria stdlib.h y la funcion system("pause") es estandar y pausa el programa que es lo que quieres... y el return como dijieron se deve de poner pues la funcion main la estas declarando como int main() lo cual al finalizar estas diciendo que tendra un valor de retorno... y pues te recomiendo repasar la informacion que has estudiado y centrarte en los distintos tipos de datos que puedes manejar (int, char, float, bool, double,etc)...
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Lo recomendable es limpiar el buffer y utilizar getchar() o fgetc(stdin) para pausar el programa. Si utilizas system("pause") no funcionaría en otros sistemas operativos.
|
|
|
En línea
|
|
|
|
xassiz~
|
Y de todas formas no hace falta, algo tan sencillo se acaba antes llamando desde la consola.
|
|
|
En línea
|
|
|
|
alex030293
Desconectado
Mensajes: 12
Aprendiendo a programar en C a pocos...
|
Bien, ahora que ya repasé algunos conceptos, y este programa va sin problema, voy a intentar algo diferente.
Alguien sabe la forma de hacer lo mismo, solo que en vez de introducir coeficiente por coeficiente, el usuario escriba la ecuación directamente (pej: 2x^2+4x-3=0)??
Gracias de antemano.
|
|
|
En línea
|
www.flickr.com/photos/alex030293Mi equipo: Intel i7 955 @4.0GHz + Nvidia GTX 460 + Nvidia 9800GT para Physx + 12Gb RAM DDR3 1600 Mghz + HDD Seagate Barracuda + Themaltake ProWater 850i.
|
|
|
Acermax
Desconectado
Mensajes: 55
|
Bueno, por ejemplo, podrías leer la expresión, y luago tratarla caracter a caracter. Por ejemplo, se me ocurre guardar la ecuación en un array de tamaño variable (podrías usar la clase vector de stl para esto, que es muy útil), en la que en la posición 0 del vector guardas el termino independiente, en la posición 1 el termino de grado 1 etc... También piensa que en realidad no tienes que tratar de manera especial que sea una suma o una resta, simplemente puedes guardar en el array el vector cambiado de signo o no, y con el término o términos de la derecha de la igualdad lo mismo, solo tendrías que cambiarles el signo para luego operar fácilmente...
PD: Vale veo que solo pretendes hacerlo para ecuaciones de segundo grado, asi que lo tienes más fácil si quieres, no necesitas ni crear un "vector" de stl, puedes hacerlo con variables directamente o con un array fijo de 3 posiciones.
|
|
|
En línea
|
|
|
|
alex030293
Desconectado
Mensajes: 12
Aprendiendo a programar en C a pocos...
|
Bueno, por ejemplo, podrías leer la expresión, y luago tratarla caracter a caracter. Por ejemplo, se me ocurre guardar la ecuación en un array de tamaño variable (podrías usar la clase vector de stl para esto, que es muy útil), en la que en la posición 0 del vector guardas el termino independiente, en la posición 1 el termino de grado 1 etc... También piensa que en realidad no tienes que tratar de manera especial que sea una suma o una resta, simplemente puedes guardar en el array el vector cambiado de signo o no, y con el término o términos de la derecha de la igualdad lo mismo, solo tendrías que cambiarles el signo para luego operar fácilmente...
PD: Vale veo que solo pretendes hacerlo para ecuaciones de segundo grado, asi que lo tienes más fácil si quieres, no necesitas ni crear un "vector" de stl, puedes hacerlo con variables directamente o con un array fijo de 3 posiciones.
Me parece una buena idea. Pero me la apunto para más adelanto, porque llevo tres días con C/C++ y aún no llegue a los arrays. Cuando controle un poco eso pruebo. Gracias de todos modos
|
|
|
En línea
|
www.flickr.com/photos/alex030293Mi equipo: Intel i7 955 @4.0GHz + Nvidia GTX 460 + Nvidia 9800GT para Physx + 12Gb RAM DDR3 1600 Mghz + HDD Seagate Barracuda + Themaltake ProWater 850i.
|
|
|
xassiz~
|
Me temo que no podrás leer una expresión así si no tienes conocimientos sobre arrays por lo menos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema anterior resulto,tengo otro ahora
Software
|
bob76
|
1
|
1,779
|
13 Julio 2003, 12:08 pm
por Songoku
|
|
|
Desactive mi foro y Ahora tengo un problema muy grande
« 1 2 3 »
PHP
|
Shalashaska
|
21
|
7,605
|
24 Junio 2007, 22:25 pm
por Shalashaska
|
|
|
[Resuelto] Como hago para que HOLA = hola?
Programación Visual Basic
|
agus0
|
4
|
3,668
|
12 Febrero 2010, 11:48 am
por egrimm
|
|
|
[Resuelto] Estoy creaando un bat y tengo algunas fallas que no se como arreglar
Scripting
|
miguel0542
|
1
|
2,554
|
3 Septiembre 2012, 10:21 am
por Eleкtro
|
|
|
[Resuelto] Tengo un problema descargando un .txt de un fuente.
« 1 2 »
PHP
|
@XSStringManolo
|
10
|
5,046
|
8 Septiembre 2019, 22:03 pm
por @XSStringManolo
|
|