Programación General > C/C++
Duda vectores y matrices
pabloarg:
Hola a todos, necesito ayuda con en ejercicio para un TP, el ej. dice así:
Una empresa de turismo realiza excursiones a las cuatro regiones del mundo
Región Nombre Costo
1 América 3500
2 Europa 4000
3 Asia 4500
4 África 2000
Cada vez que recibe un pedido tomado por alguna de sus 6 agencias, tiene la siguiente información, finalizando con número de pedido =0
Número de pedido
Agencia
Mes
Destino
Cantidad de mayores
Cantidad de menores
Se sabe que los menores pagan un 75% del valor del tour.
Se desea conocer:
1. El porcentaje que representa lo recaudado por cada agencia sobre el total.
2. Cuantos pasajeros viajaron a cada destino en cada mes.
3. Que agencia tomó más pedidos en el mes de Julio.
4. Cuantos pedidos superaron los 11 pasajeros en total.
5. Imprimir ordenado por destino:
A. La recaudación.
B. La cantidad total de pasajeros transportados.
Lo que tengo hasta ahora es:
--- Código: C++ ---#include<stdio.h>#include<conio.h>#include<string.h> void main (){int np,ag,mes,dest,cmay,cmen,f,c,i;int vra[7],vrd[6],mcant[5][13],mped[7][13]; for(i=1;i<=6;i++) { vra[i]=0; }for(i=1;i<=5;i++) { vrd[i]=0; }for(f=1;f<=4;f++) { for(c=1;c<=12;c++) { mcant[f][c]=0; } }for(f=1;f<=6;f++) { for(c=1;c<=12;c++) { mped[f][c]=0; } }clrscr(); printf("Ingrese numero de pedido"); scanf("%d",&np); while(np!=0) { printf("Ingrese numero de agencia"); scanf("%d",&ag); printf("Ingrese numero de mes"); scanf("%d",&mes); printf("Ingrese el destino"); scanf("%d",&dest); printf("Ingrese la cantidad de mayores"); scanf("%d",&cmay); printf("Ingrese la cantidad de menores"); scanf("%d",&cmen); mcant[dest][mes]=mcant[dest][mes]+cmay+cmen; mped[ag][mes]=mped[ag][mes]+1; { for(f=1;f<=4;f++) { for(c=1;c<=12;c++) { printf("al destino %d en el mes %d hubieron %d pasajeros n",f,c,mcant[f][c]); } } printf("Ingrese numero de pedido"); scanf("%d",&np);}}}
El tema esta en que me deja cargar un solo grupo de datos y ejectua ese grupo. Como hago para cargar por ejemplo 5 grupos y que despues ejecute ese grupo ??
Gracias !
vite666:
pues podrias vaciar tus datos en un archivo, con eso puedes vaciar o cargar cuantos grupos desees.
solo busca en google sobre el "manejo de archivos en C" no te envio a ninguna pagina xq no puedo, po eso de los privilegios.
Mikan:
Creo que el problema está en que para salir del bloque while esperas la entrada "0".
Prueba lo siguiente, que para finalizar el programa, debas introducir un pedido número 99.
Entonces quedaría:
clrscr();
printf("Ingrese numero de pedido");
scanf("%d",&np);
while(np!=99)
...
Prueba y me cuentas!
pabloarg:
Gracias por su ayuda, ya lo solucioné, ahora necesito armar un menu, tienen idea de como sería ?
--- Código: C ---#include<stdio.h>#include<conio.h>#include<string.h>void main (){int np,ag,mes,dest,cmay,cmen,f,c,i;int vra[7],vrd[6],mcant[5][13],mped[7][13];for(i=1;i<=6;i++) { vra[i]=0; }for(i=1;i<=5;i++) { vrd[i]=0; }for(f=1;f<=4;f++) { for(c=1;c<=12;c++) { mcant[f][c]=0; } }for(f=1;f<=6;f++) { for(c=1;c<=12;c++) { mped[f][c]=0; } }clrscr();printf("Ingrese numero de pedido");scanf("%d",&np);while(np!=0){printf("Ingrese numero de agencia");scanf("%d",&ag);printf("Ingrese numero de mes");scanf("%d",&mes);printf("Ingrese el destino");scanf("%d",&dest);printf("Ingrese la cantidad de mayores");scanf("%d",&cmay);printf("Ingrese la cantidad de menores");scanf("%d",&cmen);mcant[dest][mes]=mcant[dest][mes]+cmay+cmen;printf("Ingrese numero de pedido");scanf("%d",&np);}for(f=1;f<=4;f++) { for(c=1;c<=12;c++) { printf("al destino %d en el mes %d hubieron %d pasajeros n",f,c,mcant[f][c]); } } getch();}
Gracias !
vite666:
con un switch
Ejemplo:
--- Código: C --- int opcion;printf("1. opcion 1n 2.opcion2n...");scanf("%i",&opcion);switch(opcion){case 1: //codigo que quieres que haga si elige la opcion 1 break;case 2: //codigo break;...default: //codogo en caso de que no sea valida la opcion break;}
Navegación
[#] Página Siguiente
Ir a la versión completa