-
Notifications
You must be signed in to change notification settings - Fork 1
/
tp.c
95 lines (86 loc) · 2.79 KB
/
tp.c
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
#include <stdio.h>
#include <string.h>
#include "tp.h"
void cadastrarbus(struct Onibus onb[]) {
for(int i = 0; i < 4; i++){
printf("\nInsira o número do ônibus[%d]:",i+1);
scanf("%d", &onb[i].numerobus);
}
printf("\n");
printf("Ônibus Numero\n");
for(int i = 0; i < 4; i++){
printf(" [%d] [%d]\n", i+1,onb[i].numerobus);
}
}
int cadastrarnum(struct Onibus onb[], int a){
if(a != 0){
for(int i = 0; i < 4; i++){
printf("[Insira o número de lugares disponíveis em cada ônibus]\n ");
printf("Ônibus [%d]:", onb[i].numerobus);
scanf("%d", &onb[i].lugares);
onb[i].passageiro_bus=0;
}
return 1;
}
else{
printf("\nCadastre o ônibus primeiro para poder determinar a quantidade de lugares!");
return 0;
}
}
void reservar(struct Onibus onb[], int n){
int pos=0;
if(n != onb[0].numerobus && n != onb[1].numerobus && n != onb[2].numerobus && n != onb[3].numerobus) {
printf("Opção inválida!");
}
else{
for(int i = 0;i<4;i++){
if(n == onb[i].numerobus){
pos=i;
}
}
if(onb[pos].lugares != 0){
printf("Insira seu nome: ");
setbuf(stdin,NULL);
fgets(onb[pos].nome[(onb[pos].passageiro_bus)], 30, stdin);
setbuf(stdin,NULL);
onb[pos].lugares -= 1;
onb[pos].passageiro_bus++;
printf("Reserva Confirmada");
}
else{
printf("\nO ônibus está lotado!");
}
}
}
void consultarbus(struct Onibus onb[], int n, int b, int c){
if(b != 0){
for(int i = 0; i < 4; i++){
if(n == onb[i].numerobus){
printf("Quantidade de lugares disponiveis no onibus[%d]: [%d]\n",onb[i].numerobus,onb[i].lugares);
printf("Passageiros\n");
for(int j = 0;j<(onb[i].passageiro_bus);j++){
printf("%s",onb[i].nome[j]);
}
}
}
}
else{
printf("\nCadastre algum ônibus e a quantidade de lugares antes para poder consultar!");
}
}
void consultarpas(char *nome, struct Onibus onb[], int n){
if(n != 0){
for(int i = 0;i<4;i++){
int qnt=0;
for(int j = 0;j<onb[i].passageiro_bus;j++){
if(strcmp(nome,onb[i].nome[j])==0){
qnt++;
}
}
printf("\nA quantidade de reservas do passageiro [%s] no onibus[%d] é [%d]\n",nome,onb[i].numerobus,qnt);
}
}
else{
printf("\nCadastre o ônibus e quantidade de passageiros antes de consultar por um passageiro!");
}
}