Untitled
unknown
plain_text
4 years ago
3.7 kB
8
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
int cod_servico;
char descricao[20];
}Servico;
typedef struct {
int cod_servico;
int num_servico;
float valor_servico;
int cod_cliente;
}Servico_Prestado;
int cadastra_servico(Servico* servicos, int tam);
int cadastra_servicos_prestados(Servico* servico, int tam, Servico_Prestado servicos_prestados[][3], int tam_x, int tam_y);
int mostrar_servicos_dia(Servico_Prestado servicos_prestados[][3], int tam_x, int tam_y);
int mostrar_servicos_valor(Servico_Prestado* servicos_prestados, int tam_x, int tam_y);
int mostrar_relatorio(Servico* servicos, int tam, Servico_Prestado* servicos_prestados, int tam_x, int tam_y);
int main(){
int opcao, i, k;
int tam_servicos = 0;
Servico servicos[4];
Servico_Prestado servicos_prestados[30][3];
for(i = 0; i < 30; i++) {
for (k = 0; k < 3; k++) {
servicos_prestados[i][k].cod_servico = -1;
}
}
while(opcao != 6){
scanf("%d", &opcao);
switch(opcao){
case 1:
if(cadastra_servico(servicos, tam_servicos) == 0){
tam_servicos++;
}
break;
case 2:
cadastra_servicos_prestados(servicos, tam_servicos, servicos_prestados, 30, 3);
break;
case 3:
mostrar_servicos_dia(servicos_prestados, 30, 3);
break;
case 4:
break;
case 5:
break;
case 6:
break;
default:
break;
}
fflush(stdin);
}
return 0;
}
int cadastra_servico(Servico* servicos, int tam){
int max = 4;
if (tam == max) {
printf("Cadastro de tipos de servicos lotado\n");
return 1;
}
int cod_servico, i, clear;
scanf("%d", &cod_servico);
for (i = 0; i < tam; i++) {
printf("aa");
if (servicos[i].cod_servico == cod_servico) {
printf("Ja existe tipo de servico cadastrado com esse codigo\n");
return 1;
}
}
servicos[tam].cod_servico = cod_servico;
fflush(stdin);
fgets(servicos[tam].descricao, 20, stdin);
printf("Tipo de servico cadastrado com sucesso\n");
return 0;
}
int cadastra_servicos_prestados(Servico* servico, int tam, Servico_Prestado servicos_prestados[][3], int tam_x, int tam_y){
int dia, i, aux = 1, cod_servico, cod_y = -1;
scanf("%d", &dia);
for (i = 0; i < tam_y; i++){
if(servicos_prestados[dia - 1][i].cod_servico == -1) {
aux = 0;
if(cod_y == -1){
cod_y = i;
}
}
}
if (aux == 1) {
printf("Todos os servicos prestados nesta dia ja foram cadastrados\n");
return 1;
}
scanf("%d", &cod_servico);
aux = 1;
for(i = 0; i < tam; i++){
if (servico[i].cod_servico == cod_servico) {
aux = 0;
}
}
if (aux == 1) {
printf("Codigo de servico invalido\n");
return 1;
}
servicos_prestados[dia][cod_y].cod_servico = cod_servico;
scanf("%d", &servicos_prestados[dia][cod_y].num_servico);
scanf("%f", &servicos_prestados[dia][cod_y].valor_servico);
scanf("%d", &servicos_prestados[dia][cod_y].cod_cliente);
printf("%d", servicos_prestados[dia][cod_y].cod_servico);
printf("Servico cadastrado com sucesso\n");
return 0;
}
int mostrar_servicos_dia(Servico_Prestado servicos_prestados[][3], int tam_x, int tam_y){
int dia, i, aux = 1;
scanf("%d", &dia);
for(i = 0; i < tam_y; i++){
if(servicos_prestados[dia -1][i].cod_servico != -1){
printf("%d %d %f\n", servicos_prestados[dia -1][i].cod_servico, servicos_prestados[dia - 1][i].num_servico, servicos_prestados[dia - 1][i].valor_servico);
aux = 0;
}
//printf("%f\n", servicos_prestados[dia-1][i].valor_servico);
}
if(aux == 1){
printf("Nenhum servico foi prestado neste dia\n");
return 1;
}
}Editor is loading...