Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - faakuh

#1
Hola, vi su respuesta e intente aprender estructuras, pero no logro hacer que me funcionen las opciones con los vectores.

Que estoy haciendo mal?

#include <stdio.h>
#include <stdlib.h>
struct datos {
  int nroinstalacion;
  int tiposervicio;
  int zona;
  int monto;
}vservicio[5],vzona[10];
float promedio;
void mostrartipodeinstalacion();
float promediodelvalordelasinstalaciones(int monto, float promedio);
void promedioinstalacionesxzona();
float cargadatos();
void menu();
int main(int argc, char *argv[]) {
menu ();

system("pause");
return 0;
}

void mostrartipodeinstalacion(){

}


float promediodelvalordelasinstalaciones(int monto,float promedio){
printf("El promedio del valor de todas las instalaciones es: %.2f. ",promedio/2);

return promedio/2;

}

void menu (){
int opc = 0;
// Opciones del programa
do {
system ("cls");
printf(" > 1 Carga de datos \n" );
printf(" > 2 Mostrar tipo de instalacion mas solicitada en total \n" );
printf(" > 3 Promedio del valor de las instalaciones \n" );
printf(" > 4 Promedio del valor de las instalaciones realizadas en cada zona \n" );
printf(" > 0 Salir " );
printf("\n \n");
printf("Seleccione alguna opcion segun su numero: \n");
scanf("%d",&opc);

switch (opc)
{
case 1:
cargadatos();
break;
case 2:
mostrartipodeinstalacion();
break;
case 3:
    promediodelvalordelasinstalaciones(promedio);
    printf("El promedio del valor de todas las instalaciones es: %.2f. ",promedio/2);
break;
case 4:
promedioinstalacionesxzona();
break;
}

} while (opc != 0); //Mientras que "opc" sea indistinto a cero el programa se seguirá ejecutando.





}
void promedioinstalacionesxzona(){

}

float cargadatos() {
int i;
for (i=0;i<2;i++){
printf("\n");
printf("#%d Introduzca el numero de instalacion: \n",(i+1));
scanf("%d",&vservicio[i].nroinstalacion);
printf("#%d Introduzca el tipo de servicio: \n",(i+1));
scanf("%d",&vservicio[i].tiposervicio);
printf("#%d Introduzca el numero de zona: \n",(i+1));
scanf("%d",&vzona[i].zona);
printf("#%d Introduzca el monto: \n",(i+1));
scanf("%d",&vservicio[i].monto);
promedio = vservicio[0].monto + vservicio[1].monto / 2;

}
return promedio;
}


Desde ya, gracias!

Saludos.
#2
Hola gente, buen día.

Necesito ayuda con un ejercicio de la universidad el cual no sé donde está el error que no me deja seguir. El ejercicio es el siguiente:

Una empresa de Internet tiene 5 tipos de servicios distribuidos en 10 zonas de trabajo.

Cada vez que se realiza una instalación se tiene los siguientes datos, que finalizan con el nro de instalación = 0

Nro de instalación
Tipo de servicio
Nro de zona
Monto a cobrar

Si la zona es la nro 3 y el tipo de servicio es el nro 1, recibe una bonificación del 20% sobre el monto a cobrar.

Se desea saber:

1. Tipo de instalación más solicitada en total
2. Promedio del valor de las instalaciones
3. Promedio del valor de las instalaciones realizadas en cada zona.




Ante todo mi S.O es W10 y el compilador que utilizo es Dev-C++
Y mi código hasta el momento es este (Todavía está incompleto ya que me estanqué en querer mostrar el tipo de instalación más solicitada en total):


#include <stdio.h>
#include <stdlib.h>
int vs [5];
int vz [10];
void mostrartipodeinstalacion();
int promediodelvalordelasinstalaciones();
void promedioinstalacionesxzona();
int cargadatos();
int main(int argc, char *argv[]) {
int nroinstalacion;
    int nroservicio;
    int zona;
int instsolicitada;
int promedio = 0;
int acumulador;
int opc = 0;
// Opciones del programa
do {
system ("cls");
printf(" > 1 Carga de datos \n" );
printf(" > 2 Mostrar tipo de instalacion mas solicitada en total \n" );
printf(" > 3 Promedio del valor de las instalaciones \n" );
printf(" > 4 Promedio del valor de las instalaciones realizadas en cada zona \n" );
printf(" > 0 Salir " );
printf("\n \n");
printf("Seleccione alguna opcion segun su numero: \n");
scanf("%d",&opc);

switch (opc)
{
case 1:
cargadatos();
break;
case 2:
mostrartipodeinstalacion();
break;
case 3:
    promediodelvalordelasinstalaciones(acumulador);
    printf("El promedio del valor de las instalaciones es de: %d. \n",promedio);
break;
case 4:
promedioinstalacionesxzona();
break;
}

} while (opc != 0); //Mientras que "opc" sea indistinto a cero el programa se seguirá ejecutando.
system("pause");
return 0;
}

void mostrartipodeinstalacion(){

}


int promediodelvalordelasinstalaciones(int acumulador){
int promedio = 0;
promedio = acumulador / 2;
printf("El promedio del valor de las instalaciones es de: %d. \n",promedio);
return promedio;
}

void promedioinstalacionesxzona(){

}

int cargadatos() {
int i;
int nroinstalacion = 0;
int nroservicio = 0;
int zona = 0;
int monto = 0;
    int acumulador = 0;



for (i=0;i<2;i++){
printf("\n");
printf("Introduzca el numero de instalacion: \n");
scanf("%d",&nroinstalacion);
printf("Introduzca el numero de servicio: \n");
scanf("%d",&nroservicio);
printf("Introduzca el numero de zona: \n");
scanf("%d",&zona);
printf("Introduzca el monto: \n");
scanf("%d",&monto);
vs [nroservicio];
vz [zona];
acumulador += monto;
promediodelvalordelasinstalaciones(acumulador);
}
return 0;
}

Cualquier ayuda que me quieran dar es bienvenida.

Saludos y desde ya gracias! :D