Good day, I'm doing a program where I print a type of sales invoice from a warehouse, I have everything done but I would like to know how to go back to the main menu to do the whole process again without closing and opening the program ... Here I leave the code, thank you for your help! Pd: The include of functionsdariend is a library of functions made by me where I have several saved functions to save space in the code, if you need me to put this file in the question they tell me to place it .. Thanks for everything
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <funcionesdariend.h>
//variables globales y arrays
int n,totalDepto=0,totalT=0,diaMay,diaMen;
char sucursales[4][8]={"David","Baru","Alanje","Gualaca"};
char departamento[5][10]={"Damas","Caballeros","Ninos","Hogar","Tecnologia"};
char dias[6][9]={"Lunes","Martes","Wednesday","Jueves","Viernes","Sabado"};
float almacen[5][6][4];
//funcion para imprimir totales
void totales(float array[][6][4]){
printf("VENTA TOTAL DE LA SUCURSAL DAVID: %.2f\n",sumaTotal(array,0));
printf("VENTA TOTAL DE LA SUCURSAL BARU: %.2f\n",sumaTotal(array,1));
printf("VENTA TOTAL DE LA SUCURSAL ALANJE: %.2f\n",sumaTotal(array,2));
printf("VENTA TOTAL DE LA SUCURSAL GUALACA: %.2f\n",sumaTotal(array,3));
printf("\nVENTA TOTAL DEL ALMACEN: %.2f\n",ventasAlmacen(array));
system("\nPause");
}
//funcion para imprimir reporte
void imprimirReporte(char c){
for (int sucur = 0; sucur < 4; ++sucur) {
for (int filas = 0; filas < 5; ++filas) {
for (int columnas = 0; columnas < 6; ++columnas) {
almacen[filas][columnas][sucur] = rand()%99;
}
}
}
int control=0,sucursalCiclo=0;
system("cls");
printf(" ALMACEN GASTE MENOS LLEVE MAS\n");
switch (c){
case 'D':printf(" SUCURSAL DAVID\n");sucursalCiclo=0; break;
case 'B':printf(" SUCURSAL BARU\n");sucursalCiclo=1;break;
case 'A':printf(" SUCURSAL ALANJE\n");sucursalCiclo=2;break;
case 'G':printf(" SUCURSAL GUALACA\n");sucursalCiclo=3;break;
case 'N':break;
default:break;
}
printf(" REPORTE SEMANAL DE VENTAS\n\n");
if(c!='N'){
printf("DEPARTAMENTO LUNES MARTES MIERCOLES JUEVES VIERNES SABADO TOTAL DEPTO\n");
printf("-----------------------------------------------------------------------------------------------------------------------------------------\n");}
for (int i = 0; i < 5; ++i) {
for (int j = control; j < control+1; ++j) {
for (int k = 0; k < 10; ++k) {
if(c!='N') {
printf("%c", departamento[j][k]);
}
}
}
for (int filas = control; filas < control+1; ++filas) {
for (int columnas = 0; columnas < 6; ++columnas) {
if(c!='N') {
printf(" %.1f ", almacen[filas][columnas][sucursalCiclo]);
}
totalDepto+=almacen[filas][columnas][sucursalCiclo];
}
}
if(c!='N') {
printf(" %.1f", (double) totalDepto);
}
totalT+=totalDepto;
totalDepto=0;
if(c!='N') {
printf("\n");
}
control++;
}
if(c!='N') {
printf("-----------------------------------------------------------------------------------------------------------------------------------------\n");
printf("TOTAL POR DIA %.1f %.1f ", totalRow(almacen, 0, sucursalCiclo), totalRow(almacen, 1, sucursalCiclo));
printf("%.1f %.1f ", totalRow(almacen, 2, sucursalCiclo), totalRow(almacen, 3, sucursalCiclo));
printf("%.1f %.1f %i \n", totalRow(almacen, 4, sucursalCiclo), totalRow(almacen, 5, sucursalCiclo), totalT);
imprimirPie(dias, departamento, almacen, sucursalCiclo);
printf("\nVENTA TOTAL DE LA SUCURSAL: %.2f\n", sumaTotal(almacen, sucursalCiclo));
system("\nPause");
}
}
//funcion principal
void main() {
printf(" ALMACEN GASTE MENOS LLEVE MAS\n REPORTE SEMANAL DE VENTAS\n");
printf(" 1. Sucursal de David\n 2. Sucursal de Baru\n");
printf(" 3. Sucursal de Alanje\n 4. Sucursal de Gualaca\n");
printf(" 5. Totales Finales\n 6. Finalizar\n\n");
scanf("%d",&n);
srand((unsigned int) time(NULL));
if(n==1||n==2||n==3||n==4){
imprimirReporte(sucursales[n-1][0]);
}
else if(n==5){
imprimirReporte('N');
totales(almacen);
}
else{
printf("Ha finalizado");
}
}