debiantux Posted April 4, 2011 Report Share Posted April 4, 2011 (edited) tengo los siguientes problemas que al ejecutar no me calcula tfinal y ademas no para al menu donde deberia sumar o restar un 10% y no se que error tengo lo que me interesa es que calcule el total final y despues de eso pase al menu. de momento esto es lo que tengo ya que aun falta pero poco por que es algo facil pero falte a las primeras clases xD Reveal hidden contents #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctype.h> struct venta{ int vunit,cant,vtotal,tfinal; char rut[12],nombre[30],nprod[30]; }ven[3]; int main(){ int opc,i,vunit,cant,con,cre,tfinal,vtotal; bool valid; for(i=0;i<3;i++){ printf("\n Ingrese Rut Cliente :"); scanf("%s",ven.rut); fflush(stdin); system("cls"); printf("\n\a Ingrese Nombre Producto :"); scanf("%s",ven.nprod); fflush(stdin); system("cls"); printf("\n\a Ingrese Cantidad :"); scanf("%d",&ven.cant); fflush(stdin); system("cls"); printf("\n\a Ingrese Valor Unitario :"); scanf("%d",&ven.vunit); fflush(stdin); system("cls"); tfinal == vunit * cant; printf("\n El Valor Total es : %d",tfinal); scanf("%d",&ven.tfinal); fflush(stdin); system("PAUSE"); do { printf("Escoja una opcion:\n"); printf("1.- Contado\n"); printf("2.- Credito\n"); printf("\n\n\nOpcion Actual: "); scanf("%d", &opc); switch(opc){ case 1: con = vtotal * (10 /100); tfinal = vtotal + con; printf("\n Total Final :",tfinal); scanf("%d",ven,tfinal); fflush(stdin); break; case 2: cre=(vtotal*10)/100; tfinal=vtotal+cre; break; default: valid=false; printf("\n Opcion Incorrecta, Ingrese Nuevamente."); getche(); system("cls"); break; } }while(valid==false); } getch(); return 0; } de antemano muchas gracias Edited April 4, 2011 by debiantux Link to comment Share on other sites More sharing options...
AshWilliams Posted April 5, 2011 Report Share Posted April 5, 2011 Lo que no está bien es esto: tfinal == vunit * cant; .....aqui solo se usa un signo igual, no 2. Mira, no se trata de un error de sintaxis sino de lógica..... que es vunit y cant.....son variables que no han sido usadas, muy distintas a ven.cant y ven.vunit .....ahora si despues de leer las variables de la estructura antes citada hacxes una asignación tipo: vunit = ven.vunit; cant = ven.cant; ahi te va a funcionar.....o mas fácil aún, si reemplazas esto: tfinal = vunit * cant; Por esto : tfinal = vector.vunit * vector.cant; Debería funcionar...ojo que tienes el mismo error más abajo del menú.....saludos Link to comment Share on other sites More sharing options...
debiantux Posted April 6, 2011 Author Report Share Posted April 6, 2011 gracias funciono pero estaba seguro que ya habia intendado asi lo otro que no se por que no entra al menu si me pueden ayudar si falta alguna otra cosa Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now