Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - petrusqui

#11
El titulo casi lo dice todo, la idea es crear un subforo, para cada lenguaje de programación donde el usuario pudiera publicar sus códigos fuentes. Ya que ayuda a otros usuarios viendo ejemplos y todo eso, y al mismo creador por los comentarios que hagan otros usuarios.

Espero que haya quedado claro...


Saludos, petrusqui.
#12
Muchas gracias a todos, me voy a poner ahora mismo a estudiar la notación postfija y despues como lograr hacer un programa :D

Gracias de nuevo a todo!
#13
Cita de: BlackZeroX (Astaroth) en  1 Abril 2012, 18:49 PM
Usa una conversión de estructuras infija a postija, y después EVALÚA la estructura postfija!¡.

Dulces Lunas!¡.

Ui, todavia no he llegado a este nivel, cuando lea un poco más me pongo seguro en estudiar las diferentes estructuras :)

Gracias por la respuesta.

Cita de: $Edu$ en  1 Abril 2012, 19:04 PM
Depende a que grado de dificultad quieres hacer que realize operaciones, dependera como lo haras. Por ejemplo.. tenes pensado que haga cosas como esta:

5 + 2 - 1 * 3 + 6

o como esta:

(7+3)*4-1(4+5(2*3+1)+6)+10

¿?

La primera que no hace mucho que empece en C/C++ :P

Gracias por la respuesta :D
#14
Buenas,

Estos dias he estado pensado en como poder hacer un programa que haga operaciónes matemáticas, pero en vez de pedir al usuario que operación quiere realizar, tenga que introducir una cadena y hacer las operaciones, un ejemplo.

5 + 2 - 1

No necesito que me escriban el código ni nada por el estilo, solo necesito alguna idea de como hacer-lo. Como soy nuevo, esto se me hace bastante complicado...

Gracias de antemano.


Saludos
#15
Cita de: satu en  1 Abril 2012, 13:48 PM
Hola

Las comparaciones se hacen con == no con =


if (numero_primo == '/')


Además date cuenta de que al principio haces 2 lecturas

numero_primo = fgetc(fichero_numero_primo);
while (feof(fichero_numero_primo) == 0)
{
numero_primo = fgetc(fichero_numero_primo);


Así pierdes el primer número

Puedes sustituirlo por

while(feof(fgetc(fichero_numero_primo)) == 0)
{
if (numero_primo = '/')
        printf("\n");
else
printf ("%d", numero_primo);
}


Saludos

¡Gracias! Ya lo he solucionado, no me habia fijado que faltaba un igual :P A y ahora he puesto el código de más abajo al final de printf, así no me salto ningun carracter :P
Código (cpp) [Seleccionar]
numero_primo = fgetc(fichero_numero_primo);



Gracias otra vez! =D
#16
Buenas,

Hace poco que he empezado en C++ y ahora estoy intentado usar los ficheros. Y me he quedado estancado en un error. Os dejos una breve explicación de lo que hace el programa.
Calcula los números primos.
Imprime los números en un archivo "primos.txt" separándolos por una barra "/". Por ejemplo: "2/3/5/7/11".
Si el usuario quiere leer los números primos el programa tendría que hacer lo siguiente: si hay un número imprime el número, si hay una "/" hace un salto de linea.

Código donde creo que esta el problema:
Código (cpp) [Seleccionar]

//Abrimos o creamos el fichero numeros_primos.txt
fichero_numero_primo = fopen("primos.txt", "r");

if (fichero_numero_primo == NULL)
printf ("No se ha podido abrir el fichero numeros_primos.txt");

else
{
    numero_primo = fgetc(fichero_numero_primo);
while (feof(fichero_numero_primo) == 0)
{
numero_primo = fgetc(fichero_numero_primo);
if (numero_primo = '/')
        printf("\n");
else
printf ("%d", numero_primo);
}
    fclose (fichero_numero_primo);
}
#17
Cita de: zarkaz en 18 Marzo 2012, 17:53 PM
ah hola bro yo tambien soy nuevo
hmm no se si te refieras a compilar y ejecutar
mira
1 bajate el devC++
http://ftp1.sourceforge.net/dev-cpp/devcpp4.zip

2 haces tu proyecto
   le agregas codigo fuente
   y le das ejecutar y compilar
   y listo ;D

ay un video que te explica
http://www.youtube.com/watch?v=n9v_fLrIrQU&fb_source=message

Buenas, gracias por responder, pero devC++ es un IDE dedicado solo a C/C++/C#. Pero el problema es que creo que Sublime Text es uno de los mejores editores. Y no se si existe algun plugin que permita compilar los archivos creados
#18
Buenas =)

Soy nuevo en programación y tengo una duda con Sublime Text 2. Solo no se como poder compilar C/C++ a lenguaje maquina. Solo quiero que me cree un archivo ejecutable en windows (.exe) para poder probar-lo.

Gracias de antemano :D
#19
Yo hace poco que he empezado con C++ y las primeras preguntas que me vinieron fueron:

**¿Y ahora como puedo crear una interfaz grafica en windows?
**¿Diferencias entre debug i realease?
¿Se puede mezclar diferentes lenguajes en un mismo programa?
¿El mismo código sirve para todos los SO?


Las preguntas con "**" las tengo resuetas y las otras dos más o menos. Ests son las preguntas que tengo ahora, ya que soy bastante novato en esto de C/C++
#20
Cita de: Sagrini en  4 Marzo 2012, 23:03 PM
Mmm... detalles:
1. No uses flush (). Lee las chinchetas
2. Declara main () como "int main (int argc, char *argv)". Es lo más correcto.
3. No uses tanto "scanf ()". Busca algo de fgetc (), getchar (), etc...
Luego, eso es porque ocurre un integer overflow. Puedes intentar solucionarlo usando la palabra clave "long" a la hora de declarar x, y y resultado. Y lo otro... mira la tabla ascii. Prueba con:
printf ("%cWhat?\n", 168)

1. fflush() ya lo he quitado, como lo vi en el libro pensaba que era lo correcto. Gracias por el aviso.
2. ¿Si declaro int main (void) puede provocar algun error?
3. Gracias por el consejo, ¿pero si uso siempre la misma función puede pasar algo?
4. Muchisimas gracisa, aqui has resuelto mi problema con la suma de los dos numeros =D y tambien lo de los accentos :)

Cita de: armizh en  4 Marzo 2012, 23:06 PM
Para escribir el caracter "¿" haces:
printf("&c",(char *)168);
http://es.wikipedia.org/wiki/P%C3%A1gina_de_c%C3%B3digos_850

El problema al sumar los numeros es que 100000000000000000 es igual a 0x5D8A0000, que es un numero de 64 bits, por lo que en un PC de 32 bits no podras sumar.

Si quieres cerrar la ventana podrias probar con retornar EXIT_SUCCESS.
int main()
{
        /*    ...    */
        return EXIT_SUCCES;
}


Con eso se cierra la aplicacion. Tambien puedes retornar 0.

PS: Yo tambien tengo 16 años xd

Saludos

Gracias por lo de los carácteres me ha ayudado muchsíssimo =D Por cierto mi PC es de 64 bits, creo que el problema fue por no poner el long double, diria. Y al final para cerrar la ventana he pusto return 0;


Cita de: Mr.Brooks en  4 Marzo 2012, 23:08 PM
...
break;
}
    /*Pedir al usuario si quiere realizar otra operacion matematica o cerrar la ventana*/
printf("\nQuieres realizar otra operacion (S/N): ");

}

while((cerrar_ventana=getch())==115);


el getch() capta solo un carácter, por ende no tiene sentido incluir la mayúscula pero ta  >:D, para hacer que trabaje solo con s y n has

while((cerrar_ventana=getch())==115 || cerrar_ventana!=110);

(Aunque tampoco tenga sentido lo ultimo e.e)



Es por si el usuario pone "S" que no se le cierre la ventana, ya que c++ es case sensitive, aunque gracias por la ayuda =D

Cita de: Sagrini en  4 Marzo 2012, 23:37 PM
Se me olvidó contestar a eso jajaja
exit (0); / return 0;
En caso de que estés dentro de otra función que no es main (), usa exit, ya que return vuelve a la función anterior.
Por cierto, &c es incorrecto. es %c

PS: Que mayores jejeje

Gracias,  me has ayudado mucho, ya se cierra la ventana =D Y en el código estaba escrito con %c

Cita de: rir3760 en  4 Marzo 2012, 23:56 PM
Es por lo ultimo.

Lo primero que debes hacer es evitar el uso de extensiones como la biblioteca conio de Borland, mas todavía cuando en tu programa su uso no es necesario.

Con "el ultimo trozo del codigo no funciona" supongo te refieres a que el bucle (y por ende la aplicación) no finaliza aun cuando teclees un carácter distinto de 'S' y 's'. Ello se debe a que al utilizar el especificador "%c" este no ignora el espacio blanco y por ello (caso usual) se "traga" el avance de linea introducido después del segundo operando.

Para solucionarlo solo tienes que agregar un espacio antes del especificador "%c", de esta forma:
printf("\nQuieres realizar otra operacion (S/N): ");
scanf(" %c", &cerrar_ventana);


También se puede reducir de forma significativa el programa ya que todas las operaciones son comunes (petición de los operandos, solo varia la operación).

Un saludo

Gracias por la sugerenci, todavia no tengo dominado todas las bibliotecas =P Y tuviste razon tenia que poner un espacio, muchissimas gracias por cierto Esto del c++ tampoco es tan fácil...
Sobre lo de reducir el código lo pense, pero ya que no tengo interfaz gráfica pense en dar un poco más de belleza al castellano =P


GRACIAS A TODOS