|
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.
Temas - 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: 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*/
3
« 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
4
« 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); }
5
« 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
6
« 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
7
« 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
Páginas: [1]
|
|
|