Autor
|
Tema: Duda con un while (Leído 1,414 veces)
|
BJM
Desconectado
Mensajes: 41
|
Necesito validar que la variable tipo solo tome como valor el 1 o 2, para esto utilize un do-while pero el ciclo se repetia una y otra vez, ahora utilizo while y pasa lo mismo, donde podria estar el error? #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> void ingresar(); void calcular(); int valor=0,tiempo=0,tipo=0,metros=0; float costo=0; char nombre[10], apellido[10]; int main(){ ingresar(); calcular(); } void ingresar(){ printf(" \n Ingrese Apellido:"); printf(" \n Ingrese tiempo de cliente:"); printf(" \n Seleccione el tipo de maya:"); printf(" \n 2..Maya en Rollo"); while(tipo!=1 || tipo!=2){ printf(" \n 2..Maya en Rollo"); } printf(" \n Cantidad de metros:"); } void calcular(){ if(tiempo<6 && tipo==1){ costo=(400*(8/100))*metros; } if(tiempo<6 && tipo==2){ costo=(250*(8/100))*metros; } printf(" \n costo: %d",costo ); }
|
|
|
En línea
|
|
|
|
engel lex
|
while(tipo!=1 || tipo!=2)
si tipo es diferente de 1 o tipo es diferente de 2 va a entrar al ciclo... es decir... si tipo es 1 tipo no es diferente de 1 pero tipo es diferente de 2... entra... recuerda la tabla de verdad de "or" entonces debería ser while(tipo!=1 && tipo!=2)
porque si tipo es diferente de uno y tipo es diferente de 2, repite
|
|
|
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.
|
|
|
BJM
Desconectado
Mensajes: 41
|
Gracias, ahora funciona bien exepto que durante la ejecucion si pasa mucho tiempo sin introducir datos el compilador se reinicia, un doble gracias si me ayudas. #include<stdio.h> #include<stdlib.h> #include<conio.h> void ingresar(); void calcular(); void imprimir(); static int plana=400, rollo=250; int tiempo=0,tipo=0,metros=0; char nombre[10], apellido[10]; int des=0; int main(){ ingresar(); calcular(); imprimir(); } void ingresar(){ printf(" \t\t\t***EMPRESA MAYA***"); printf(" \n\nIngrese Nombre:"); printf(" \n Ingrese Apellido:"); printf(" \n Ingrese tiempo de cliente:"); printf(" \n Seleccione el tipo de maya:"); do{ printf(" \n 2..Maya en Rollo"); }while((tipo!=1) && (tipo!=2)); printf(" \n Cantidad de metros:"); } void calcular(){ int costo=0; if(tiempo==5 && tipo==1){ costo=plana*metros; des=costo*0.08; } if(tiempo>=6 && tipo==1){ costo=plana*metros; des=costo*0.06; } if(tiempo==5 && tipo==2){ costo=rollo*metros; des=costo*0.08; } if(tiempo>=6 && tipo==2){ costo=rollo*metros; des=costo*0.06; } } void imprimir(){ printf(" \n\nDescuento cliente"); printf(" \n\nNombre: %s\tApellido: %s", nombre ,apellido ); printf(" \n El descuento es: %d BsF",des ); }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pequeña duda con un comando batch (NUEVA DUDA RELACIONADA)
Scripting
|
revenge1252
|
9
|
9,773
|
13 Febrero 2008, 21:41 pm
por revenge1252
|
|
|
Duda duda y duda de Metasploit
Bugs y Exploits
|
huber_nomas
|
4
|
5,803
|
17 Febrero 2012, 14:00 pm
por MauroMasciar
|
|
|
Duda facil, [VIDEO QUE EXPLICA MI DUDA]
Diseño Gráfico
|
Ngeooz
|
6
|
8,890
|
2 Diciembre 2013, 19:33 pm
por Ngeooz
|
|
|
[DUDA] Cambiar letra de unidad a archivo con un Batch [DUDA]
« 1 2 »
Windows
|
MrMaticool
|
10
|
11,367
|
12 Febrero 2014, 17:55 pm
por MrMaticool
|
|
|
[DUDA][LICENCIA][GPL]tengo una duda sobre las caracteristicas de la licencia GPL
Dudas Generales
|
Noxware
|
0
|
1,880
|
2 Mayo 2014, 00:34 am
por Noxware
|
|