Autor
|
Tema: maquina bebida (Leído 1,900 veces)
|
moremo
Desconectado
Mensajes: 7
|
hola de nuevo compañeros necesito vuestra ayuda nuevamente. os pongo lo que tengo hecho pero esta mal no me compila, aqui os lo pongo: #include<stdio.h> #include<stdlib.h> void bebida(int) void monedas(int) void cambio(int) int main() { int bebida,moneda,valor,acumulador,contador,cambio,a; int d,v,c,u,ds,e; d=20; v=20; c=20; u=20; ds=20; IN : printf("Escoja bebida:\n"); printf("pulse 1 para cafe precio: 0,20 euros\n"); printf("pulse 2 para cocacola precio: 0,50 euros\n"); printf("pulse 3 para cerveza precio: 0,60 euros\n"); bebida=getche(); switch(bebida) { case '1':printf(" ha escogido cafe \n");valor =20;break ; case '2':printf(" ha escogido cocacola \n");valor =50;break ; case '3':printf(" ha escogido cerveza \n");valor =60;break ; default: void bebida(int valor) for(20=0;20<=bebida;20++) { for(50=0;50<=(bebida-20);50++) { for(60=0;60<=(bebida*2);60++) { } } } } contador=0; IN1 : printf("Introduzca monedas "); moneda=getche(); switch(moneda) { case'a':printf(" ha introducido 0,10 euros\n");moneda =10;d =d +1;break ; case'b':printf(" ha introducido 0,20 euros\n");moneda =20;v =v +1;break ; case'c':printf(" ha introducido 0,50 euros\n");moneda =50;c =c +1;break ; case'd':printf(" ha introducido 1,00 euros\n");moneda =100;u =u +1;break ; case'e':printf(" ha introducido 2,00 euros\n");moneda =200;ds =ds +1;break ; default: void moneda(int valor) for(10=0;10<=moneda;10++) { for(20=0,20<=(moneda-10);20++) { for(50=0;50<=(moneda*2);50++) { for(100=0;100<=(moneda*3);100++) { for(200=0;200<=(moneda*4),200++) { } } } } } } IN2: { contador=contador+moneda; if(valor>contador) void moneda; } if(valor==contador) { printf("Ha introducido un total de: %d centimos\n",contador ); } if(contador>valor) { e=contador-valor; } printf("Su cambio es de: %d centimos.\n",e ); if(e>=200) { ds=ds-1; e=e-200; } if(e<200 && e>100) { u=u-1; e=e-100; } if(e<100 && e>50) { c=c-1; e=e-50; } if(e<50 && e>20) { v=v-1; e=e-20; } if(e<20 && e>=10) { d=d-1; e=e-10; } printf("Recoja su producto. Gracias \n"); printf("de cincuenta %d\n",c ); printf("de dos euros %d\n\n",ds ); if(d!=0 && v!=0 && c!=0 && u!=0 && ds!=0) void bebida; return 0; }
tenia que cambiar donde estaba el goto por void y que me hiciera lo mismo. a ver si alguien me puede ayudar espero haberme explicado bien.
|
|
« Última modificación: 9 Enero 2017, 00:02 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
los codigos deben ir en etiquetas GeSHi, ya te he modificado 3 veces y te lo he advertido yo y otro usuario... por favor apegate a las reglas
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
GoKGz
Desconectado
Mensajes: 13
|
Hola. Hay muchos errores en tu código, deberías leerte o ver algún video tranquilo. Seguro podés solucionarlo sólo, no es tan difícil lo que estás haciendo (o por lo menos eso parece), creo que tenés una mala base, ese es todo tu problema. Encima que no dejás mucha información sobre lo que estás tratando de hacer. Cualquier duda, comentála. Siempre es recomendable seguir esta estructura: Código de ejemplo:int main (void){ int a = 20; int i; if (a == 10 ){ } for (i=0; i<a; i++){ for (j=0; j<a; j++){ printf ("Se lee mejor el código, está más prolijo.\n"); if (a){ prinf ("Es verdad.\n"); } } } return 0; }
Deja una tabulación o una separación con dos esapcios después de cada condición que se cumple. No sé si se entiende. Saludos.
|
|
« Última modificación: 9 Enero 2017, 13:26 pm por GoKGz »
|
En línea
|
COME AT ME BRAAAAH.
|
|
|
moremo
Desconectado
Mensajes: 7
|
disculpa pero no me fije en las etiquetas que pusiste, disculpa mi torpeza, un saludo y gracias.
|
|
|
En línea
|
|
|
|
GoKGz
Desconectado
Mensajes: 13
|
Empezamos por acá: void bebida(int) void monedas(int) void cambio(int)
Faltan todos los ; for(20=0;20<=bebida;20++) { for(50=0;50<=(bebida-20);50++) { for(60=0;60<=(bebida*2);60++) { } } } }
Eso está mal hecho, deberías verte un video de estructuras de control para C. Acordate siempre segui la recomendación que te dije: for(20=0;20<=bebida;20++) { for(50=0;50<=(bebida-20);50++) { for(60=0;60<=(bebida*2);60++) { } } }
Igual sigue estándo mal, ¿qué es eso de 20=0, 10++? Está mal, ponte a investigar seguro lo resuelves. Y me parece que también tenés un error en la resolución de tu problema pero eso ahora no es lo importante. Aprendé esto, mirate todos los videos o lee un libro como quieras: https://www.youtube.com/watch?v=GRrqJEgtpa0Creo que después de ver todos esos videos, deberías empezar a programar desde 0 tu "maquina de bebida" Saludos.
|
|
« Última modificación: 9 Enero 2017, 13:38 pm por GoKGz »
|
En línea
|
COME AT ME BRAAAAH.
|
|
|
|
|