|
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 - oscarmgg
Páginas: [1]
1
« en: Domingo 16 de Noviembre de 2008, 18:27 »
Hola amigos,mil gracias por su ayuda... bien tengo un programita que lo que hace es a traves de un menu seleccionar una de las operaciones propuestas,sin embargo cuando me visualiza el menu nuevamente dado que esta dentro de un do while me sale lo siguiente: A.- SUMA B.-RESTA C.-PRODUCTO D.-DIVISION E.-SALIR SELECCIONE UNA OPCION: A(o la a minuscula) Digite el primer numero: 5 Digite el segundo numero:6 suma:la suma es:11 A.- SUMA B.-RESTA C.-PRODUCTO D.-DIVISION E.-SALIR seleccione una opcion: opcion incorrecta,intentelo de nuevo presione una tecla para continuar... no se porque me esta entrando al default??? como podria hacer para que me muestre correctamente el menu cada vez que realice una operacion o si se escoge una opcion de menu distinta a las posibles????porfa su ayuda es importante mil gracias. aqui les dejo el programa,esta hecho en dev- c++ #include "stdio.h" float numero_suma(float numero_a, float numero_b) { float suma; suma= numero_a + numero_b; return suma; }; float numero_resta(float numero_a,float numero_b) { float resta; if(numero_a > numero_b) resta=numero_a - numero_b; return resta; }; numero_producto(float numero_a,float numero_b) { float producto; producto= numero_a * numero_b; return producto; }; numero_division( float numero_a,float numero_b) { float division; if(numero_b!=0) { division= numero_a/numero_b; } else { printf("no puedes dividir por cero"); printf("n"); system("pause"); exit(2); } return division; }; main() { /*del main*/ char op; float a; float b; float numsuma; float numresta; float numproducto; float numdivision; do { printf("ntA.- Suma"); printf("ntB.- Resta"); printf("ntC.- Producto"); printf("ntD.- division"); printf("ntE.- salir"); printf("n"); printf("selecciona una opcion: "); scanf("%c", &op); printf("n"); switch (op) { case 'a': case'A': { printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Suma: "); numsuma =numero_suma(a,b); printf("la suma es %.2fn",numsuma); } break; case 'b': case 'B': { printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Resta: "); numresta = numero_resta(a,b); printf("la resta es %.2fn",numresta); } break; case 'c': case 'C': { printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Producto: "); numproducto = numero_producto(a,b); printf("el producto es %.2fn",numproducto); }break; case 'd': case 'D': { printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Division: "); numdivision = numero_division(a,b); printf("la division es %.2fn",numdivision); }break; case 'e': case 'E': { printf("ha elegido salir del programa...Adios..."); printf("n"); system("pause"); exit(0); } break; default:{ printf("opcion incorrecta,intentalo de nuevo"); printf("n"); }break; } /* del switch*/ }while((op=='A') ||(op=='a')|| (op=='B') ||(op=='b')|| (op=='C') ||(op=='c')||( op=='D') ||(op=='d')||( op=='E')||(op=='e')); system("pause"); } /* del main*/
2
« en: Sábado 15 de Noviembre de 2008, 11:55 »
oye muchisimas gracias por tu ayuda,has solucionado mi inquietud. suerte
3
« en: Viernes 14 de Noviembre de 2008, 20:45 »
Hola amigos un cordial saludos,bien es que tengo un programilla que hice pero que al intentar modificarlo con el objetivo de hacer un do while para que ma pregunte repetidamente el menu de opciones,y no se porque me hace un bucle infinito tanto con or(||) o and(&&),si alguien puede ayudarme le agradeceria muchisimo es cuestion no de tarea solo de practica que estoy realizando con el objetivo de aprender cada vez algo nuevo ...mil gracias el codigo fuente es el siguiente,destacando que sin el do while me funciona perfecto ,quiero decir que me hace correcto las operaciones pero al colocar el do while como les indico con el objetivo de que cada vez que me haga una operacion el menu de opciones vuela a visualizarse hasta que el usuario decida escoger la opcion E.SALIR
#include "stdio.h" float numero_suma(float numero_a, float numero_b) { float suma; suma= numero_a + numero_b; return suma; }; float numero_resta(float numero_a,float numero_b) { float resta; if(numero_a > numero_b){ resta=numero_a - numero_b; } if(numero_a < numero_b){ resta= numero_b - numero_a; } return resta; }; numero_producto(float numero_a,float numero_b) { float producto; producto= numero_a * numero_b; return producto; }; numero_division( float numero_a,float numero_b) { float division; if(numero_b!=0) { division= numero_a/numero_b; } else { printf("no puedes dividir por cero"); printf("n"); system("pause"); exit(2); } return division; }; main() { /*del main*/ char op; float a; float b; float numsuma; float numresta; float numproducto; float numdivision; do { printf("ntA.- Suma"); printf("ntB.- Resta"); printf("ntC.- Producto"); printf("ntD.- division"); printf("ntE.- salir"); printf("n"); printf("selecciona una opcion: "); scanf("%d", &op); printf("n"); switch (op) { case 'A':{ printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Suma: "); numsuma =numero_suma(a,b); printf("la suma es %.2fn",numsuma); }break; case 'B':{ printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Resta: "); numresta = numero_resta(a,b); printf("la resta es %.2fn",numresta); }break; case 'C':{ printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Producto: "); numproducto = numero_producto(a,b); printf("el producto es %.2fn",numproducto); }break; case 'D':{ printf("digite el primer numero"); scanf("%f",&a); printf("n"); printf("digite el segundo numero"); scanf("%f",&b); printf("n"); printf("Division: "); numdivision = numero_division(a,b); printf("la division es %.2fn",numdivision); }break; case 'E': { printf("ha elegido salir del programa...Adios..."); printf("n"); system("pause"); exit(0); }break; default:{ printf("opcion incorrecta"); printf("n"); }break; } /* del switch*/ }while(op!='A' || op!='B' || op!='C' || op!='D' || op!='E'); // LO HE INTENTADO ASI TAMBIEN Y ME HACE LO MISMO BUCLE INFINITO. //while(op!='A' && op!='B' && op!='C' && op!='D' && op!='E'); que a mi apreciacion no podria ser puesto //que no hay una opcion que cumpla con todo //while(op!='E'); system("pause"); } /* del main*/
4
« en: Viernes 14 de Noviembre de 2008, 18:59 »
Hola amigos antetodo agradeceros su valiosa ayuda para quienes como yo estamos empezando en este complejo tema de la programacion..
bien mi pregunta es quiza algo trivial para muchos de vosotros sin embargo para mi no lo es por favor tenerlo en cuenta.... deseo que una lista de menu me aparezca en pantalla en dos bloques ,me explico:
int mes; printf("1. Eneron"); printf("2. Febreron"); printf("3. Marzon"); printf("4. Abriln"); printf("5. Mayon"); printf("6. Junion"); printf("7. Julion"); printf("8. Agoston"); printf("9. Septiembren"); printf("10. Octubren"); printf("11. Noviembren"); printf("12. Diciembren"); printf("nn"); printf("ingrese un numero de mes: "); scanf("%d",&numero_de_mes); printf("nn");
en tonces la idea es que en vez de una sola columna me la muestre en dos :
1. Enero 7. Julio 2. febrero 8. Agosto 3. marzo 9. septiembre 4. abril 10.octubre 5. mayo 11.noviembre 6. junio 12 diciembre
bien pues la verdad es que nunca he utilizado el goto pues he leido que no es muy aconsejable en programacion estructurada queria saber si hay un comando que pueda hacerme esto o si no hay mas remedio que utilizar un goto porfavor ayudarme a como seria esa instruccion...mil gracias amigos y que sepais que hacen una labor estupenda
5
« en: Viernes 14 de Noviembre de 2008, 18:06 »
Hola amigos mil gracias por su ayuda aunque la verdad es que no se me ha resuelto el problema les agradezco muchisimo sus buenas intensiones eso os hace grandes . un saludo oscar
6
« en: Domingo 9 de Noviembre de 2008, 15:02 »
Ante todo agradecr muchisimo a los compañeros que aportan sus ideas tratando de solucionar los problemas.lo digo por que compañeros como mosquito segun tengo entendido por otras de sus aportaciones lo unico que hace es criticar y criticar pero de soluciones nada ,a él le sugiero mas sentido de profesionalismo si es que lo tiene por que de verdad deja mucho que desear su tiempo y no entiendo por que en vez de colaborar lo unico que hace es criticar o es que acaso nunca habra necesitado ayuda de nadie????.bien paso a lo importante de este foro a pedir ayuda a los compañeros con sentido de ayuda y es que aun persiste mi problema aun cuando he realizado los consejos y aportaciones del compañero,pues mira aun asi con encontrado=0; dentro de la funcion persiste el problema.adjunto el codigo modificado y que aun da el problema de decirme que axiste un elemento que no este en la lista de entrada,o que no existe cuando si esta dentro del array...mil gracias por sus aportaciones son muy importantes para quienes pedimos ayuda y mil gracias por no ser como mosquito el criticon... #include"stdio.h" int buscar_elemento(int arr[],int num,int elem); int array[],resultado,i,encontrado; char opcion; main() { encontrado=0; int num,elemento; printf("cuantos elementos contendra el array :"); scanf("%d",&num); for(i=0;i<num;i++) { printf("introduzca el elemento %d : ",i+1); scanf("t%d",&array[i]); } do //realizamos el do-while para que cuando no ponga s/S salga del programa { printf("digite el elemento a buscar :"); scanf("%d",&elemento); resultado=buscar_elemento(array,num,elemento); if (encontrado!=0) //si nos da algo distinto a 0 es que ha ido bien { printf("El numero %d si existe en el arraynn",elemento); printf("encontrado = %d",encontrado); printf("n"); } //else //si nos da 0 es que no ha encontrado el numero else { printf(" el numero %d no se encuentra en el arraynn",elemento); printf("encontrado = %d",encontrado); printf("n"); } printf("Desea buscar otro numero? S/N: "); scanf("%s", &opcion); fflush(stdin); }while(opcion=='s' || opcion=='S'); //en caso de que la opcion sea s, continua con el do } int buscar_elemento(int arr[],int num,int elem) { encontrado=0;//lo pongo aqui a cero ,para que si no lo encuentra ,salgo con valor,si no lo pones saldrá con el último valor for(i=0;i<num;i++) { if (arr[i]==elem) { encontrado=1; } } return(encontrado); }
7
« en: Sábado 8 de Noviembre de 2008, 22:35 »
bien tengo este programita que lo que hace es buscar un elemento en un array utilizando una funcion,el programa ejecuta bien el problema que tengo es que cuando busco el numero siguiente al ultimo de la lista leida me dice que existe y cada vez me dice lo mismo para elementos que estan despues del ultimo elemento,por favor ayudemen a encontrar el error que pueda tener ,por su colaboracion mil gracias..mi correo es oscarydey2002@hotmail.com #include"stdio.h" int buscar_elemento(int arr[],int num,int elem);//prototipo de la funcion int array[],resultado,i,encontrado=0; int num,elemento; char opcion; int main() { printf("cuantos elementos contendra el array :"); scanf("%d",&num); for(i=0;i<num;i++) { printf("introduzca el elemento %d : ",i); scanf("t%d",&array[i]); } do //realizamos el do-while para que cuando no ponga s/S salga del programa { printf("digite el elemento a buscar :"); scanf("%d",&elemento); buscar_elemento(array,num,elemento); if (encontrado!=0) //si nos da algo distinto a 0 es que ha ido bien { printf("El numero %d si existe en el arraynn",elemento); printf("encontrado = %d",encontrado); printf("n"); } else //si nos da 0 es que no ha encontrado el numero { printf(" el elemento %d noooo se encuentra en el arraynn",elemento); printf("encontrado = %d",encontrado); printf("n"); } printf("Desea buscar otro numero? S/N: "); scanf("%s", &opcion); }while(opcion=='s' || opcion=='S'); } int buscar_elemento(int arr[],int num,int elem) { for(i=0;i<num;i++) { if (arr[i]==elem) { encontrado=1; break; } } return(encontrado); }
8
« en: Sábado 27 de Septiembre de 2008, 00:09 »
Hola Amigos intento resolver el siguiente planteamiento:
valor de A[3][2]:
5 1 6 12 34 5 9 pues bien como pueden ver la idea es que cada vez que se me indique las componentes de la matriz y vaya entrando el valor este se ubique en dicha posicion y se vaya armando al mismo tiempo la matriz,es decir si vemos en el ejemplo que os doi se me esta pidiendo la componente A[3][2], al entrar el valor y dar enter este valor debe posicionarse debajo del 34... asi hasta el final osea hasta A[3][3] ,pues bien
que funcion hay en pascal que me permita borrar la pantalla diferente al clrscr para poder adentrarla en el codigo o que me sugieren amigos: begin for i:= 1 to 3 for j:= 1 to 3 do begin writeln('valor de A[' , i , ',' , j , ']'); readln(A[i,j]); end; end.
por su orientacion mil gracias amigos
9
« en: Viernes 26 de Septiembre de 2008, 15:35 »
Hola moskito,mira quiza tengas razon y bueno pense que era una burla a mi inexperiencia pues la verdad hasta ahora me inicio en esto y solo espero la colaboracion de ti y de los compañeros que ya superaron esto,pero por favor la proxima en vez de criticarme porejemplo por mi ortografia o el hecho de no darme cuenta de que escribi en mayusculas creo que seria mas construtivo me ayudaras o me orientaras a no cometer errores vale? Muchas gracias por tu ayuda y porfa si ves que me falta mucho por aprender seria estupendo que me ayudaras a superarlo no a hundirme ok xao amigo "quien no vive para servir ,no sirve para vivir"
10
« en: Viernes 26 de Septiembre de 2008, 14:52 »
Si QUE SE VE A MILES KILOMETROS DE DISTANCIA QUE TU RESPUESTA Y COLABORACION A LO QUE PLANTEA MI DUDA NO TIENE NADA QUE VER CON UN SIMPLE WRITELN('HOLA'),NO INTENTES OPACAR TU SINISMO Y TU BURLA PARA QUIENES COMO YO SOLO INTENTAN PEDIR UNA AYUDA QUE VA MAS ALLA DE UN SIMPLE HOLAAAA.SI TAN BRILLANTE TE CREES?? TE HUBIERAS DADO CUANTA QUE MI PREGUNTA VA MAS ALLA DE UN SIMPLE RESPUESTA DE BURLA COMO LA QUE SOLO SABES DAR TU...
11
« en: Viernes 26 de Septiembre de 2008, 14:26 »
Moskito deberias ser menos prepotente y menos tonto pues en tu respuesta estas demostrando lo servicial que nunca podras ser por creerte mas que los que hasta ahora estamos iniciandonos en programacion o es que se te olvida que tuviste personas que te colaboraron cuando iniciaste creo que la humildad no es tu fuerte quiza lo idiota si
12
« en: Jueves 25 de Septiembre de 2008, 18:36 »
bien estoy en un programita que para quiza muchisimos de aqui sea una chorrada pero bueno por algo debo empezar.el programita consiste en calcular el determinante de una matriz que en mi caso la he tomado de 3x3,bien leyendo encuentro que hay un metodo que consiste en aumentar las dos primeras filas o columnas de la matriz inicial,es decir la leida por el usuario,pues bien yo hago lo siguiente:
Mostrar/Ocultar Número de línea | Expandir/Contraer | Seleccionar todo leo la matriz A; 5 3 4 2 1 6 9 8 7 para aumentar la matriz yo hago lo siguiente, que creo esta bien: for i:=1 to 2 do for j:= 1 to 3 do A[i,j]:=A[i+3,j]; bien mi duda es como hago para mostrar la nueva matriz aumentada, pues no se como enlazarr la matriz inicial con el codigo que anteriormente les indique? es decir para ver en pantalla 5 3 4 2 1 6 9 8 7 5 3 4 2 1 6 bien amigos espero me podeis hechar una manita,gracias P.d. Enko te felicito por tus valiosas aportaciones y por moderar de forma eficiente este foro
13
« en: Jueves 25 de Septiembre de 2008, 18:13 »
Hola un cordial saludo y mil gracias a todos aquellos que aportan sus brillantes ideas,miren soy nuevo en este foro y un principiante en el mundo de la programacion que la verdad me fascina pero que no cuento con medios para una universisdad,sin embargo de manera autodidacta por internet lo estoy intentando con lecturas de manuales,espero poder aprender de uds muchas soluciones a mis seguramente molestas inquietudes que estare formulando aqui pues como les digo soy un simple pero humilde aprendiz... bien estoy en un programita que para quiza muchisimos de aqui sea una chorrada pero bueno por algo debo empezar.el programita consiste en calcular el determinante de una matriz que en mi caso la he tomado de 3x3,bien leyendo encuentro que hay un metodo que consiste en aumentar las dos primeras filas o columnas de la matriz inicial,es decir la leida por el usuario,pues bien yo hago lo siguiente: leo la matriz A; 5 3 4 2 1 6 9 8 7 para aumentar la matriz yo hago lo siguiente, que creo esta bien: for i:=1 to 2 do for j:= 1 to 3 do A[i,j]:=A[i+3,j]; bien mi duda es como hago para mostrar la nueva matriz aumentada, pues no se como enlazarr la matriz inicial con el codigo que anteriormente les indique? es decir para ver en pantalla 5 3 4 2 1 6 9 8 7 5 3 4 2 1 6 bien amigos espero me podeis hechar una manita,gracias P.d. Enko te felicito por tus valiosas aportaciones y por moderar de forma eficiente este foro
14
« en: Miércoles 24 de Septiembre de 2008, 19:52 »
Felicitarte por tan brillante programa,y decirte que bueno estoy iniciandome en este mundo y he comenzado con pascal,ya he terminado hasta el tema de registros y archivos en pascal sin embargo he realizado uno que otro programilla te agradeceria enormemente si me ayudaras con el codigo fuente de tan excelente juego en el cual habaran medidas de codigo muy eficientes y que me gustaria aprender.te pido tu ayuda porfa mi correo electronico es oscarydey2002@hotmail.com
Páginas: [1]
|
|
|