Untitled

 avatar
unknown
plain_text
4 years ago
3.7 kB
5
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...