|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - ssaammuu
26
« en: Viernes 13 de Mayo de 2011, 03:16 »
Un array no es necesario ya que por el código, la aplicación no tiene que guardar los datos introducidos, únicamente añadir el número introducido al total en cada iteración y al final dividirlo por el x números introducidos. Por eso usando una variable y cambiandole el valor en cada iteración es la mejor forma de hacerlo. Con un array necesitarías x número de variables en forma de array y después iterar a través de ellos para conseguir la media que no vale la pena Pero en caso de querer guardar todos los números introducido, si, un array sería necesario
27
« en: Miércoles 11 de Mayo de 2011, 02:07 »
MovieData(char t, char d, int y, int t2) //constructor
Primero que el constructor lo has hecho privado por lo que no puedes crear objetos de esta clase desde fuera de la clase. Lo segundo es que si te fijas, tu constructor toma 4 argumentos y tu intentas crear objetos sin argumentos. Creo lo que deberías hacer es: MovieData *miclase; MovieData *movie1, *movie2;
Desués en info_pelicula, crear un objeto nuevo con memoria dinámica y rellernarlo. Es decir info_pelicula sería algo así: void MovieData::impimir_pelicula(MovieData* m1,MovieData* m2){ //recogemos datos de la pelicula uno //en tu caso t, d, y, t2 m1=new MovieData(t, d, y, t2); //recogemos datos de la pelicula dos m2=new MovieData(t, d, y, t2); //... }
Otra cosa es que esto no está bien MovieData(char t, char d, int y, int t2) //constructor { title[M] = t, director[M] = d, year = y, Running_time = t2; }
Creo que intentas hacer esto: MovieData(char* t, char* d, int y, int t2) //constructor { title = t; director = d; year = y; Running_time = t2; }
Una última cosa, lo siento, pero este código está muy mal, y valdría la pena empezar otra vez. Como estás usando C++ también te recomiendo que hagas uso de los string en vez de simularlos con arrays de chars.
28
« en: Martes 10 de Mayo de 2011, 22:19 »
Si tu cadena es un array de chars, podrías utilizar strstr() cplusplus.com/reference/clibrary/cstring/strstr/
Si estás usando C++ y un objeto string puedes usar la función find() del objeto. cplusplus.com/reference/string/string/find/
29
« en: Martes 10 de Mayo de 2011, 20:52 »
La verdad es que no se mucho del tema, pero por lo que veo estás cargando el video otra vez en cada iteración. No deberías hacer las operaciones de cargado una vez. Después tener las funciones de reproducción llamadas en cada iteración y finalmente cerrar el archivo al salir del bucle ?
30
« en: Domingo 8 de Mayo de 2011, 22:01 »
He probado esa palabra con el código que escribí y dice que si es palíndromo. En el código que tu posteaste no porque tus bucles están bastante mal. Si te fijas tienes un bucle que recorre todas las letras, y dentro de él, es decir, para cada letra, tienes OTRO BUCLE que hace algo bastante raro.
31
« en: Domingo 8 de Mayo de 2011, 21:44 »
De nada amigo. Siempre es difícil encontrar un error tan pequeño como ese.
32
« en: Domingo 8 de Mayo de 2011, 19:39 »
Ahora mismo tienes aux = aux+y; fuera del ciclo por lo que solo añade el último valor. Simplemente muevelo dentro del bucle y funcionará for (i=1;i<=x;i++) { cout << "ingrese la" << i << "nota" << endl; cin >> y; aux +=y; }
33
« en: Domingo 8 de Mayo de 2011, 13:04 »
Empezamos asumiendo que la palabra es un palíndromo for(int x=0;x<n/2;x++) if (cad[x]!=cad[n-x-1]) pal=false;
comparamos cada caracter desde 0 hasta la mitad con la posición equivalente empezando desde el final de la cadena y si no son iguales decimos que la palabra no es un pilíndromo. Es decir, toma por ejemplo "reconocer" n/2=4.5 -> 4 porque n es int pal=true; [empieza bucle] x=0 [r]econocer == reconoce[r] x=1 r[e]conocer == reconoc[e]r x=2 re[c]onocer == recono[c]er x=3 rec x=4 == n/2 -> termina bucle resultado: si es palíndromo
34
« en: Viernes 6 de Mayo de 2011, 23:48 »
Te recomiendo que te olvides de crear retrasos de esa manera ya que estás parando el programa entero durante ese tiempo. Una opción que de hecho yo suelo usar bastante, es la de tomar nota del tiempo cada vez que mueves los objetos. Si defines una velocidad para cada objeto, puedes mover el objeto por tiempoTranscurrido*velocidad. Para hacer esto debes tener una variable que guarde el tiempo de la llamada anterior. Cuando epiza el programa hacemos int tiempoAnteior = clock();
Y cada vez que movemos los objetos float deltaTiempo =(clock()-tiempoAnterior )/CLOCKS_PER_SEC ;
Otra cosa es que es imprescindible que uses estructuras y funciones para ordenar tu código, si no, aparte de estar escribiendo lo mismo una y otra vez, te va a costar mucho seguirlo y modificarlo en el futuro. De todas formas este tipo de juego es más complejo de lo que pueda parecer por lo que no te recomiendo empezar así. Empieza con algo más sencillo como el tres en raya o un pequeño juego RPG de texto.
35
« en: Viernes 6 de Mayo de 2011, 02:29 »
Lo podrías simplificar un poquito también #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> int main(int argc, char *argv[]) { char cad[30]; int n=0, cont=0; printf("introduzca una palabran"); bool pal=true; for(int x=0;x<n/2;x++) if (cad[x]!=cad[n-x-1]) pal=false; if(pal )printf("es palindromen"); else printf("no es palindromen"); return 0; }
36
« en: Miércoles 4 de Mayo de 2011, 13:27 »
Voy a ser sincero y decirte que no tengo ni idea de graphics.h. Pero si solo quieres es imprimir una sola letra no pudes hacer esto? #include <stdio.h> #include <graphics.h> void modegraph() { int gd,gm; gd = DETECT; initgraph(&gd,&gm,"C:\tc\bgi"); } void letras (char &punt) { clearviewport(); outtextxy(120,80,(char*)punt); } void main() { char titulo[]={'T','S','E','I','T','R'}; int i=0; modegraph(); clearviewport(); while(i<=5){ for(int p=0;p<=160;p++) { letras(titulo[i]); } i++; } }
Como te he dicho desconozco graphics.h por lo que no he podido probar esto así que perdona si no lo soluciona.
37
« en: Miércoles 4 de Mayo de 2011, 13:05 »
Te olvidas el radio :p Y si bien el ángulo introducido no esta en radianes tendrás que convertirlo
38
« en: Lunes 2 de Mayo de 2011, 19:39 »
Si no consigues hacer que funcione, intenta este código. #include <iostream> #include <stdlib.h> #include <string.h> #include <math.h> using namespace std; int main(string[]) { int bri []={ 50000, 20000, 10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10};// Identificando el arreglo const int numDeBilletes=sizeof(bri)/sizeof(bri[0]);//tamaño de pila int guardar [numDeBilletes];// Estbleciendo el limite del nuevo arreglo for (int i=0;i<numDeBilletes;i++)guardar[i]=0;//reiniciar a 0 double total, pago, devuelta;//Declarandolas como reales porque puede tolerar valores decimales cout<<"n Programa para calcular la devuelta ideal de una compra:"; cout<<"nIntroduzca el Total de su compra: $ "; cin>>total; cout<<" nMe Pagara con un billete de :$"; cin>>pago; devuelta = pago - total;//Operacion int r=0; while (devuelta > 10)// 10 porque es el billete más pequeño { while (devuelta >= bri[r]) { guardar[r]++;// El contador de la cantidad de billetes devuelta -= bri[r]; } r++; } for (r = 0; r < numDeBilletes; r++)// El contador de los tipos de billetes { if (guardar[r] != 0)//Condicionante para saber que no se quedara debiendo!! cout<<guardar[r]<< " billetes de " << " " << bri[r]<<endl; } }
Estaría bien que hacieras algunos chequeos, como mínimo para que el pago sea mayor que la compra...
39
« en: Lunes 2 de Mayo de 2011, 19:36 »
Por lo que tengo entendido, no puedes hacer eso. Vas a tener que iterar a través de los archivos y borrarlos uno a uno.
40
« en: Lunes 2 de Mayo de 2011, 19:19 »
int bri; bri [15]={ 50000, 20000, 10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10};// Identificando el arreglo int guardar; guardar [10];// Estbleciendo el limite del nuevo arreglo
No se puede declarar una variable y despues convertirla en un array while (devuelta >= bri) devuelta -= bri; for (r = 0; r < bri; r++) cout<<guardar<< " billetes de " << " " << bri;
En estas líneas, estás usando arrays como si de variables individuales se trataran, entonces, en lugar de estar usando el contenido de las variables, estás usando la dirección en memoria de el primer elemento del array.
41
« en: Lunes 2 de Mayo de 2011, 13:50 »
Tutorial para principiantes donde se muestra paso a paso como crear este sencillo y popular juego. Contiene tanto el diseño del juego como el desarrollo de este. Esta es una versión de un jugador por lo que incluye IA para controlar los movimientos del oponente (la máquina). >> Tres en Raya en C++Espero que lo disfrutéis. Autor: ssaammuu http://desarrollodejuegos.net/tres-en-raya-en-consola
42
« en: Lunes 2 de Mayo de 2011, 12:39 »
textprintf(screen, font, mens,60, palette_color[15], palabra);
Debería ser algo así textprintf(screen, font, mens,60, palette_color[15], "%c" ,palabra[i]);
De todos modos es recomondado que uses textprintf_ex textprintf(screen, font, mens,60, palette_color[15], -1, "%c" ,palabra[i]);
|
|
|