Dev - C++ - Factura en C

 
Vista:

Factura en C

Publicado por Pedro (1 intervención) el 05/01/2018 19:25:15
Buenas! Estoy escribiendo en el foro porque necesito ayuda :( Honestamente soy nuevo programando, estpy aprendiendo en C puesto que en el primer semestre es los que nos dan, y estoy estancado con mi proyecto. Estoy haciendo una tienda que permita comprar y vender productos, cuando el usuario elige comprar, se muestran nuestros productos y tiene la capacidad para elegirlos. Se acumulan los precios y se muestran al final. Sin embargo, es aquí donde estpy "pegado", puesto que necesito que los productos se muestren con su precio en una especie de "factura", y no tengo ni la mínima idea de como hacerlo. Gracias de antemano y espero que me tengan un poco de paciencia jeje
Ya aquí pongo el código y dejo la habladera de paja xD

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
 
FILE *archivo;
char VENTASa[50]="Ventas.txt";
 
void insertarProductoVenta(char producto[], char producto2[], int precio_VENTA){
	archivo = fopen(VENTASa,"a");
	fprintf(archivo,"%s %s %i \n",producto, producto2, precio_VENTA);
	fclose(archivo);
	archivo = NULL;
}
void listarProductosStock(){
	char producto[50], producto2[50];
	int precio_VENTA;
	archivo = fopen(VENTASa,"r");
	if(archivo != NULL){
		while(!feof(archivo)){
			fscanf(archivo, "%s %s %i \n",producto,producto2,&precio_VENTA);
			printf("%s %s %i\n",producto,producto2,precio_VENTA);
		}
 
	}
	fclose(archivo);
	archivo = NULL;
}
 
 
 
 
 
 
 
 
 
 
int main()
{
	int opcion_CV, opc_compra;
	int acum_precio=0, total_precio=0;
	int VUELTO,FALTANTE,pago;
	char producto[50],producto2[50];
	int precio_VENTA;
	int precios_COMPRA[9]={5000,500,450,180,76,3000,25,200,510};
 
	printf("\t\t\t\tBienvenido a la tienda\n");
	printf("\n\nQue desea hacer? Por favor introduce el numero");
	printf("\n1- Comprar");
	printf("\n2- Vender\n");
	scanf("%i",&opcion_CV);
	system("clear||cls");
 
	if(opcion_CV==1){
		do{
			printf("\n~/~/~/~/~/~/~Estos son nuestros productos~/~/~/~/~/~/~\n");
			printf("\n1.- Televisor 4k ---- 5000$\n");
			printf("2.- Xbox One X ---- 500$\n");
			printf("3.- PS4 Pro ---- 450$\n");
			printf("4.- Razer Blackwidow X ---- 180$\n");
			printf("5.- Razer Kraken V2 Chroma ---- 76$\n");
			printf("6.- GPU TITAN V ---- 3000$\n");
			printf("7.- Cd de Romeo Santos ---- 25$\n");
			printf("8.- Tarjeta de 50000 RP ---- 200$\n");
			printf("9.- OnePlus 5T ---- 510$\n");
			printf("Introduzca el numero del producto que desee adquirir.\n Al finalizar su compra, introduzca 0.\n");
			scanf("%i",&opc_compra);
			system("clear||cls");
			switch(opc_compra){
				case 1:
					printf("\nEscojiste el Televisor 4K.\n");
				break;
 
				case 2:
					printf("\nEscojiste la Xbox One X.\n");
				break;
 
				case 3:
					printf("\nEscojiste la PS4 Pro.\n");
				break;
 
				case 4:
					printf("\nEscojiste el Teclado Razer.\n ");
				break;
 
				case 5:
					printf("\nEscojiste los Audífonos Razer.\n");
				break;
 
				case 6:
					printf("\nEscojiste la Tarjeta Gráfica TITAN V.\n");
				break;
 
				case 7:
					printf("\nEscojiste el CD de Romeo Santos.\n");
				break;
 
				case 8:
					printf("\nEscojiste la Tarjeta de 50000 RP.\n");
				break;
 
				case 9:
					printf("\nEscojiste el telefono OnePlus 5T.\n");
				break;
			}
			if(opc_compra!= 0){
			printf("precio actual: %d\n",precios_COMPRA[opc_compra-1]);
			acum_precio= precios_COMPRA[opc_compra-1];
			total_precio=total_precio+acum_precio;
			printf("total: %d\n",total_precio);
			}
		}while(opc_compra!=0);
 
		printf("\n\n\n El total a pagar es de %d $\n",total_precio);
		printf("\n\n\n Introduzca el dinero:");
		scanf("%d",&pago);
		if(pago>total_precio){
			VUELTO=pago-total_precio;
			printf("\nGracias por preferirnos!");
			printf("\n\n\nAqui esta su vuelto %d$",VUELTO);
		}else if(pago<total_precio){
			FALTANTE=total_precio-pago;
			printf("\nLo sentimos, su compra no pudo ser procesada! Hacen falta %d$ para completar el pago.",FALTANTE);
		}else{
			printf("\nGracias por preferirnos!");
		}
	}else if(opcion_CV==2){
		printf("Introduzca el nombre del producto que desea vendernos y su precio\n");
		scanf("%s %s %i",producto,producto2, &precio_VENTA);
		insertarProductoVenta(producto, producto2, precio_VENTA);
		system("pause");
		system("clear||cls");
		printf("\nAqui está nuestra lista de productos que tenemos en reserva, para ser vendidos mas tarde\n");
		listarProductosStock();
		return 0;
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dionicio
Val: 168
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

re:Factura en C

Publicado por Dionicio (57 intervenciones) el 05/01/2018 21:02:55
Si has trabajado con estructuras te propongo crear dos estructuras modelos que te ayudaran a facilitar el código, la primera es la estructura de un ítem o artículo, que tendrá los campos que normalmente llevaría uno. Luego crear una estructura que represente una factura la cual a su vez contendrá un vector de artículos (los que comprará el cliente) y luego imprimir dicha información contenida en tus estructuras modelo.

Ahora, trabajé en un modelo que quizás está lejos de la realidad pero que servirá para guiarte, lo hice con la esperanza que sea lo que estés buscando.

Un consejo, antes que nada siempre piensa en como se hacen las cosas antes de escribir código. El código debe de ser el último de tus problemas, lo digo para que puedas organizar tus ideas y llevar todo de manera lógica, ya que soy participe de no crear código que simplemente funcione, sino crear algo bien hecho y bien estructurado que pueda ser modificable en el futuro.Sin más que decir espero que te sea de ayuda el ejemplo que colgaré más abajo. Un Saludo ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar