Olá sou novo em estudo de algoritmos, tenho um trabalho e parei em uma parte. A programação é em C.
Não consigo alterar a matriz principal através de uma função.
Segue código se alguém puder ajudar, fico agradecido.
#include <stdio.h>
#define TAM 5
void ativarfuncionario (int *mat[TAM][11]){
int i,j,aux,aux2,aux3;
printf ("Ativando funcionarios \n");
printf ("Digite o funcionario desejado: \n");
scanf ("%d", &aux);
printf ("Para ativar digite 1 para desativar digite 0 para menu digite 3 \n");
scanf ("%d", &aux2);
if (aux2==3){
return main();
}
if (aux2){
*mat[aux][0]=1;
}
for (i=0;i<TAM;i++){
for(j=0;j<11;j++){
printf ("%d ", mat[j]);
}
printf ("\n");
}
}
void abrirchamado (int *mat[TAM][11]){
int i,j,aux,aux2,aux3, flag=0;
for (i=0;i<TAM;i++){
for(j=0;j<11;j++){
printf ("%d ", mat[j]);
}
printf ("\n");
}
printf ("Abrindo chamado \n");
printf ("Escolha um serviço:\n");
printf (" 1 - Eletrecista\n");
printf (" 2 - Mecanico\n");
printf (" 3 - Pedreiro\n");
printf (" 4 - Jardineiro\n");
printf (" 5 - Azulejista\n");
printf (" 6 - Marceneiro\n");
printf (" 7 - Pintor\n");
printf (" 8 - TI\n");
printf (" 9 - Encanador\n");
printf (" 10 - Severino\n");
printf ("Qual servico solicitado: ");
scanf ("%d", &aux);
aux2=0;
for (i=0;i<TAM;i++){
for (j=0;j<11;j++){
if (mat[j]==aux){
aux2--;
printf ("passa aqui \n");
if (mat[0]==-1){
printf (" Temos os seguintes funcionarios disponiveis para esta função: \n Funcionario %d esta inativo \n "),aux;
}
else {
printf (" Temos os seguintes funcionarios disponiveis para esta função: \n Funcionario %d esta Ativo \n "),aux;
}
}
else {
aux2++;
if (aux2==55 && i==TAM-1){
printf ("Sem funcionarios para essa funcao.\n");
}
}
}
}
if (aux2==55){
return main();
}
printf ("escolha o funcionario a executar o trabalho:");
fflush (stdin);
scanf ("%d ", &aux3);
printf ("Funcionario %d deslocado para servico \n", aux3);
mat[aux3][0]=-1;
}
main (){
int mat[TAM][11];
int i,j,aux,aux2,aux3,menu=0;
for (i=0;i<TAM;i++){
for(j=0;j<11;j++){
mat[j]=-1;
}
}
for (i=0;i<TAM;i++){
for(j=0;j<11;j++){
printf ("%d ", mat[j]);
}
printf ("\n");
}
printf ("-------------------------------------------------------------------\n");
printf ("--- Menu ---\n");
printf ("-------------------------------------------------------------------\n");
printf ("--- 1- Abrir chamado ---\n");
printf ("--- 2- Ativar funcionario ---\n");
printf ("--- 3- Editar habilidades de funcionario ---\n");
printf ("--- 4- Listar funcionarios ---\n");
printf ("-------------------------------------------------------------------\n");
scanf("%d", &menu);
while (menu!=-1){
if (menu==1){
abrirchamado(mat);
}
if (menu==2){
ativarfuncionario (mat[TAM][11]);
}
}
Muito obrigadoo