Autor
|
Tema: Ayuda con un switch (Leído 3,359 veces)
|
ZeroMiku
Desconectado
Mensajes: 3
|
Buen dia, soy nuevo y necesito ayuda tengo este programa y no se como ponerlo en switch, ya lo intente y me salio error no se que estoy haciendo mal, voy a poner el programa sin el switch, lo que busco es dividir los procesos captura y moneda en 2 case pero no se como, si alguie puede hacerlo o darme alguna idea le estare agradecido. el ejercicio: #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void); void moneda(void); void captura(void); void monedas(int); int main(){ captura(); moneda(); } void captura(){ float monto,pago; float cambio; printf("Programa que calcula el cambio con monedas"); printf("\nInserte el total a pagar >"); scanf("%f",&monto); printf("Inserte el dinero recibido >"); scanf("%f",&pago); cambio=(float)(pago*100)-(float)(monto*100); printf("Su cambio es %f",cambio); monedas(cambio); } void monedas(int x){ int c50=0,c25=0,c10=0,c5=0,c1=0; while(x>=50){ x-=50; c50++; } printf("\n\nRegresar %d monedas de 50 centavos",c50); while(x>=25){ x-=25; c25++; } printf("\nRegresar %d monedas de 25 centavos",c25); while(x>=10){ x-=10; c10++; } printf("\nRegresar %d monedas de 10 centavos",c10); while(x>=5){ x-=5; c5++; } printf("\nRegresar %d monedas de 5 centavos",c5); while(x>=1){ c1++; x-=1; } printf("\nRegresar %d monedas de 1 centavos",c1); } void moneda(){ int salir,saliryesno; salir=0; while(salir==0){ printf("\n\tCANTIDAD DE DINERO Y TRANSFORMACION A OTRA MONEDA\n"); int cambiarmoneda; float total_bill1,total_bill5,total_bill10,total_bill20,total_bill50,total_bill100,total_cent1,total_cent5,total_cent10,total_cent25,total_cent50,total_bill,total_cent,total_dinero,yen,peso_mexicano,euro; printf("\nCantidad de billetes a ingresar: "); scanf("%f",&total_bill1); while(total_bill1<0){ printf("\nCantidad de billetes ingresdos: "); scanf("%f",&total_bill1); } total_bill=(total_bill1*(1)); printf("Cantidad de monedas de un centavo: "); scanf("%f",&total_cent1); while(total_cent1<0){ printf("Cantidad de monedas de un centavo: "); scanf("%f",&total_cent1); } printf("Cantidad de monedas de cinco centavos: "); scanf("%f",&total_cent5); while(total_cent5<0){ printf("Cantidad de monedas de cinco centavos: "); scanf("%f",&total_cent5); } printf("Cantidad de monedas de diez centavos: "); scanf("%f",&total_cent10); while(total_cent10<0){ printf("Cantidad de monedas de diez centavos: "); scanf("%f",&total_cent10); } printf("Cantidad de monedas de veinticinco: "); scanf("%f",&total_cent25); while(total_cent25<0){ printf("Cantidad de monedas de veinticinco centavos: "); scanf("%f",&total_cent25); } total_cent=(total_cent1*(0.01)+total_cent5*(0.05)+total_cent10*(0.10)+total_cent25*(0.25)); printf("\nLA CANTIDAD DE DINERO QUE HAY EN BILLETES ES: $%.2f\n",total_bill); printf("LA CANTIDAD DE DINERO QUE HAY EN MONEDAS ES: $%.2f\n",total_cent); total_dinero=(total_bill+total_cent); printf("LA CANTIDAD TOTAL DE DINERO QUE HAY ES: $%.2f\n\n",total_dinero); printf("\t\tMONEDA\t\tCODIGO\n"); printf("\t\tYen Japones\t\t 1\n"); printf("\t\tPeso Mexicano\t\t 2\n"); printf("\t\tEuro\t\t\t 3\n\n"); printf("Introduzca el codigo de la moneda a la que desea convertir los $%.2f: ",total_dinero); scanf("%d",&cambiarmoneda); while(cambiarmoneda<0 || cambiarmoneda>3){ printf("Introduzca el codigo de la moneda a la que desea convertir los $%.2f: ",total_dinero); scanf("%d",&cambiarmoneda); } yen=total_dinero* 114.97; peso_mexicano=total_dinero*18.41; euro=total_dinero*0.89; switch(cambiarmoneda){ case 1: printf("\n$%.2f EQUIVALE A %.2f YENES\n\n",total_dinero,yen); break; case 2: printf("\n$%.2f EQUIVALE A %.2f PESOS MEXICANOS\n\n",total_dinero,peso_mexicano); break; case 3: printf("\n$%.2f EQUIVALE A %.2f EUROS\n\n",total_dinero,euro); } printf("SI DESEA SALIR PRESIONE 1 O DE LO CONTRARIO PRESIONE OTRO NUMERO: "); scanf("%d",&saliryesno); switch(saliryesno){ case 1: salir=1; } } }
|
|
« Última modificación: 14 Febrero 2016, 16:59 pm por Eternal Idol »
|
En línea
|
|
|
|
abaadoon
Desconectado
Mensajes: 19
|
ejemplo #include <stdio.h> #include <stdlib.h> #define uno 10 #define personas 99 #define nombres 50 int i, opc, cont; float suma; struct empleado{ int dt; float pd, cs; char x[personas][nombres]; /*99 para almacenar el numero de personas y 50 para los nombres*/ }; struct empleado datos[uno]; void menu(); void dato(); void resultado(); void pagototal(); void error(); void menu(){ system("reset"); printf("----Menu------\n"); printf("1- ingresar datos\n"); printf("2- resultado\n"); printf("3- resultado de todos los empleados \n"); printf("4- salir\n"); printf("ingrese la opcion: \n"); scanf("%d",&opc); switch(opc){ case 1: dato(); break; case 2: resultado(); break; case 3: pagototal(); break; case 4: system("exit"); break; default: error(); break; } } void dato(){ system("clear"); printf("cuantas personas hay (max 99): "); scanf("%d",&cont); for(i=0;i<cont;i++){ printf("nombre la persona [%d]: \n",i+1); setbuf(stdin,NULL); fgets(datos[i].x[i],nombres,stdin); printf("dias trabajados de la persona %d: \n",i+1); scanf("%d",&datos[i].dt); printf("pago por dia de la persona %d: \n",i+1); scanf("%f",&datos[i].pd); } system("read -p 'presione enter para continuar' var "); menu(); } void resultado(){ system("reset"); for(i=0;i<cont; i++){ datos[i].cs=datos[i].dt*datos[i].pd; printf("persona %d nombre: %s y salario %f \n", i+1, datos[i].x[i], datos[i].cs); } system("read -p 'presione enter para continuar' var "); menu(); } void pagototal(){ system("reset"); for(i=0;i<cont; i++){ datos[i].cs=datos[i].dt*datos[i].pd; suma=suma+datos[i].cs; } printf("el salario total es: %f\n",suma); system("read -p 'presione enter para continuar' var "); menu(); } void error(){ system("reset"); printf("error opcion no valida\n"); system("read -p 'presione enter para continuar' var "); menu(); } int main(){ menu(); }
|
|
« Última modificación: 14 Febrero 2016, 16:59 pm por Eternal Idol »
|
En línea
|
|
|
|
BlackM4ster
Desconectado
Mensajes: 499
Error, el teclado no funciona. Pulse F1 para continuar
|
geshi please
|
|
« Última modificación: 14 Febrero 2016, 21:42 pm por BlackM4ster »
|
En línea
|
|
|
|
|
abaadoon
Desconectado
Mensajes: 19
|
de nada un gusto en ayudar
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.866
|
¿Ustedes no saben que en todos los foros de programación hay que respetar sus reglas de formato de código?. Usen las etiquetas GeShi.
|
|
« Última modificación: 14 Febrero 2016, 20:36 pm por Eleкtro »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Gente traten de usar el bendito GeSHi (seleccionan el codigo, clickean en el combobox que dice GeSHi y seleccionan el lenguaje en cuestion) de ahora en adelante por favor, hacerlo es gratis, no les vamos a cobrar.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
abaadoon
Desconectado
Mensajes: 19
|
si si disculpen
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda en un menu en switch
« 1 2 3 »
Programación C/C++
|
poisonkhriz
|
27
|
23,839
|
20 Marzo 2011, 19:40 pm
por Akai
|
|
|
Ayuda con switch(urgente)
Programación C/C++
|
eltyh
|
3
|
2,960
|
5 Junio 2011, 00:17 am
por eltyh
|
|
|
ayuda con red+switch+router
Redes
|
SystemLinux
|
0
|
2,852
|
7 Noviembre 2011, 01:53 am
por SystemLinux
|
|
|
Ayuda con el switch
Programación C/C++
|
MGMR
|
2
|
1,749
|
31 Marzo 2015, 03:23 am
por MGMR
|
|
|
AYUDA simulacion de un switch sin un break
Programación C/C++
|
mc275
|
4
|
2,968
|
22 Septiembre 2016, 16:40 pm
por dato000
|
|