Ir para conteúdo
Fórum Script Brasil

Andrah

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Andrah

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Andrah's Achievements

0

Reputação

  1. /*1. Escreva uma função, que insira dados de N funcionários da Universidade Cabo Verde e envia-los para ficheiro como o nome funcionarios.txt (o programa deverá informar quantos funcionários deseja inserir no sistema?); 2. Escreva uma função, que imprima registos de todos os funcionários que se encontra no ficheiro com o nome funcionarios.txt, inserido anteriormente? 3. Escreva uma função, que imprima os funcionários por categoria. 4. Escreva uma função, que permite calcular quanto gasta a universidade com os funcionários por categoria? 5. Temos três tipos de categorias dos funcionários [Docente, Diretor e Técnico], sabendo que o funcionário que é Docente recebe 2500$ por cada hora, um Diretor recebe 3500$ por hora, e um Técnico recebe 1500$ por hora. Escreva uma função, que mostra o salário de um determinado funcionário dependendo do seu salário liquido por hora, sabendo que INPS é de 12%, IUR é de 20% e sindicato é de 1%; 6. Escreva uma função, que ordena os funcionários na ordem crescentes e envia-los para o ficheiro com o nome ordenar_funcionarios.txt; 7. Escreva uma função, que imprima todos os funcionários com salario maior que 75000$. 8. Escreva uma função, que dado nº de NIF permite eliminar todas as informações desse funcionário. */ //bibliotecas #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <conio.h> #include <time.h> //Dados do funcionário struct Funcionario { char nome[20]; int NIF; char categoria; float salario; int Hora_Trabalhados; //Verificar se está ativo no Sistema int ativo; }; // Para não atrapalhar o bom funcionamento void pressioneEnter() { char c; do { c = getch(); } while (c != 13); } void IncerirFuncionario(struct Funcionario funcionario[],int n) { system("COLOR 0F"); int i; FILE *file; // cria variável ponteiro para o arquivo file= fopen("funcionarios.txt", "w"); //abrindo o arquivo if(file == NULL) //testando se o arquivo foi realmente criado printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { printf ("\n\n\n\n\tUNICV \n\n"); printf("\n\n\n\t\tDigite o numero de Funcionarios que pretende registrar: "); scanf("%i",&n); fflush(stdin); system("cls"); static int i=0; int y=n+i; if(y>99) menu(funcionario,n); printf("\n\n\n\t\t-------- INSCRIÇÃO DE FUNCIONÁRIO --------\n\n"); fprintf(file,"\n\n\t----- LISTA DOS FUNCIONÁRIOS ----\n\n"); fprintf(file,"\tNome NIF Salário Categoria Horas\n\n"); for(; i<y; i++) { system("COLOR 0B"); // para obter dados e armazenar no arquivo printf("\n\tDigite o nome do funcionário: "); scanf(" %s",&funcionario.nome); printf("\n\tDigite o NIF do funcionário: "); scanf("%d",&funcionario.NIF); printf("\n\tDigite o salario do funcionario: "); scanf("%f", &funcionario.salario); printf("\n\tDigite a categoria do funcionário: "); scanf(" %c", &funcionario.categoria); printf("\n\tDigite a Hora trabalhados pelo funcionário: "); scanf("%d", &funcionario.Hora_Trabalhados); printf("\n\n"); //A Escrevendo no arquivo fprintf(file,"\t%s \t %d \t %.1f \t %c\t %d\n",funcionario.nome,funcionario.NIF,funcionario.salario,funcionario.categoria,funcionario.Hora_Trabalhados); } printf("\n\t\t-------------------------<3--------------------------\n"); printf("\n\t Incritos com sucesso! \n\n\t Registado no fecheiro -> funcionarios.txt\n\n"); printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); menu(funcionario,y); } fclose(file); // para fechar o arquivo } void ImprimirFuncionarios(struct Funcionario funcionario[],int n) { FILE *file; file = fopen("C:\\Users\\alex\\Desktop\\teste4\\funcionarios.txt", "r"); if(file == NULL) printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { int i; printf("\n\n\n\t\t------- LISTA DOS FUNCIONÁRIOS ------\n\n"); for(i=0; i<n; i++) { system("COLOR 0F"); fscanf(file,"%s",funcionario.nome); fscanf(file,"%d",funcionario.NIF); fscanf(file,"%.1f $00",funcionario.salario); fscanf(file,"%c",funcionario.categoria); fscanf(file,"%d horas",funcionario.Hora_Trabalhados); printf("\n\tNome: %s",funcionario.nome); printf("\n\tNIF: %d",funcionario.NIF); printf("\n\tSalario: %.1f $00", funcionario.salario); printf("\n\tCategoria: %c",funcionario.categoria); printf("\n\tHoras de trabalho: %d horas", funcionario.Hora_Trabalhados); printf("\n\n----------------------------------------------------------\n"); } } printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); fclose(file); } void OrdenarFuncionario(struct Funcionario funcionario[],int n){ } void EliminarFuncionario(struct Funcionario funcionario[],int n) { FILE *file; //Abre o arquivo novamente para leitura file = fopen("funcionarios.txt", "r+"); if(file == NULL) printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { int nif, i; char resp; printf("\n\tInforme o NIF do funcionario a ser Eliminado: "); scanf("%d",&nif); while( funcionario.NIF == nif ) { // FALTOU if ( funcionario.ativo== 1 ) { printf("\n\tNome: %s",funcionario.nome); printf("\n\tNIF: %d",funcionario.NIF); printf("\n\tSalario: %.1f $00", funcionario.salario); printf("\n\tCategoria: %c",funcionario.categoria); printf("\n\tHoras de trabalho: %d horas", funcionario.Hora_Trabalhados); printf("\n\n----------------------------------------------------------\n"); } printf("\n\tDeseja realmente eliminar o Funcionário? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { funcionario.ativo=0; printf("\n\tFuncionário eliminado com sucesso\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("\tEliminação cancelada!\n"); break; } } } i++; if ( i > 99 ) printf("\n\n\t\tNIF não encontrado\n"); } fclose(file); printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); } void menu(struct Funcionario funcionario[],int n) { int op; do { system("COLOR 0F"); //Menu printf("\n\n\t\t\t\t---> SISTEMA DE REGISTO E CONTROLE DE FUNCIONÁRIO \n\n"); printf("\n\t\t* 1 ------- INSERIR OS FUNCIONÁRIOS E ENVIA-LOS PARA O FICHEIRO ------------------------ *\n"); printf("\n\t\t* 2 ------- IMPRIMIR A LISTA DOS FUNCIONÁRIOS DO FICHEIRO ------------------------------ *\n"); printf("\n\t\t* 3 ------- IMPRIMIR OS FUNCIONÁRIOS POR CATEGORIA ------------------------------------- *\n"); printf("\n\t\t* 4 ------- GASTO DA UNIVERSIDADE COM OS FUNCIONÁRIOS ---------------------------------- *\n"); printf("\n\t\t* 5 ------- CALCULAR O SALÁRIO DE UM FUNCIONÁRIO X EM FUNÇÃO DO SEU SALÁRIO POR HORA --- *\n"); printf("\n\t\t* 6 ------- ORDENAR FUNCIONÁRIO NA ORDEM CRESCENTE ------------------------------------- *\n"); printf("\n\t\t* 7 ------- IMPRIMIR OS FUNCIONÁRIOS COM SALÁRIO MAIOR QUE 75000$ ---------------------- *\n"); printf("\n\t\t* 8 ------- ELIMINAR UM FUNCIONÁRIO A PARTIR DO Nº DO NIF ------------------------------ *\n"); printf("\n\t\t* 0 ------- Sair\n\n"); printf("\n\tEscolha uma opcao: "); scanf("%d",&op); printf("\n"); switch (op) { case 0: printf("\n\n\n\n\n\t-> Saindo... \n\n"); break; case 1: system("cls"); IncerirFuncionario(funcionario,n); break; case 2: system("cls"); ImprimirFuncionarios(funcionario,n); break; case 8: system("cls"); EliminarFuncionario(funcionario,n); break; default: system("COLOR C0"); printf("\n\t\t\t\t*-*-*-*-- ERRO --> Numero INVALIDO!\n\n"); printf ("\n\tPressione ENTER para Tentar Novamente->"); fflush(stdin); pressioneEnter(); system("cls"); } } while (op != 0); int main() { setlocale(LC_ALL, "Portuguese"); struct Funcionario funcionario[100]; int n; printf ("\n\tPressione ENTER para iniciar->"); fflush(stdin); pressioneEnter(); system("cls"); menu(funcionario,n); return 0; }
  2. Alguém poderia me ajudar com código em C? 1. Escreva uma função, que insira dados de N funcionários da Universidade Cabo Verde e envia-los para ficheiro como o nome funcionarios.txt (o programa deverá informar quantos funcionários deseja inserir no sistema?); 2. Escreva uma função, que imprima registos de todos os funcionários que se encontra no ficheiro com o nome funcionarios.txt, inserido anteriormente? 3. Escreva uma função, que imprima os funcionários por categoria. 4. Escreva uma função, que permite calcular quanto gasta a universidade com os funcionários por categoria? 5. Temos três tipos de categorias dos funcionários [Docente, Diretor e Técnico], sabendo que o funcionário que é Docente recebe 2500$ por cada hora, um Diretor recebe 3500$ por hora, e um Técnico recebe 1500$ por hora. Escreva uma função, que mostra o salário de um determinado funcionário dependendo do seu salário liquido por hora, sabendo que INPS é de 12%, IUR é de 20% e sindicato é de 1%; 6. Escreva uma função, que ordena os funcionários na ordem crescentes e envia-los para o ficheiro com o nome ordenar_funcionarios.txt; 7. Escreva uma função, que imprima todos os funcionários com salario maior que 75000$. 8. Escreva uma função, que dado nº de NIF permite eliminar todas as informações desse funcionário. */ //bibliotecas #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <conio.h> #include <time.h> //Dados do funcionário struct Funcionario { char nome[20]; int NIF; char categoria; float salario; int Hora_Trabalhados; //Verificar se está ativo no Sistema int ativo; }; // Para não atrapalhar o bom funcionamento void pressioneEnter() { char c; do { c = getch(); } while (c != 13); } void IncerirFuncionario(struct Funcionario funcionario[],int n) { system("COLOR 0F"); int i; FILE *file; // cria variável ponteiro para o arquivo file= fopen("funcionarios.txt", "w"); //abrindo o arquivo if(file == NULL) //testando se o arquivo foi realmente criado printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { printf ("\n\n\n\n\tUNICV \n\n"); printf("\n\n\n\t\tDigite o numero de Funcionarios que pretende registrar: "); scanf("%i",&n); fflush(stdin); system("cls"); static int i=0; int y=n+i; if(y>99) menu(funcionario,n); printf("\n\n\n\t\t-------- INSCRIÇÃO DE FUNCIONÁRIO --------\n\n"); fprintf(file,"\n\n\t----- LISTA DOS FUNCIONÁRIOS ----\n\n"); fprintf(file,"\tNome NIF Salário Categoria Horas\n\n"); for(; i<y; i++) { system("COLOR 0B"); // para obter dados e armazenar no arquivo printf("\n\tDigite o nome do funcionário: "); scanf(" %s",&funcionario.nome); printf("\n\tDigite o NIF do funcionário: "); scanf("%d",&funcionario.NIF); printf("\n\tDigite o salario do funcionario: "); scanf("%f", &funcionario.salario); printf("\n\tDigite a categoria do funcionário: "); scanf(" %c", &funcionario.categoria); printf("\n\tDigite a Hora trabalhados pelo funcionário: "); scanf("%d", &funcionario.Hora_Trabalhados); printf("\n\n"); //A Escrevendo no arquivo fprintf(file,"\t%s \t %d \t %.1f \t %c\t %d\n",funcionario.nome,funcionario.NIF,funcionario.salario,funcionario.categoria,funcionario.Hora_Trabalhados); } printf("\n\t\t-------------------------<3--------------------------\n"); printf("\n\t Incritos com sucesso! \n\n\t Registado no fecheiro -> funcionarios.txt\n\n"); printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); menu(funcionario,y); } fclose(file); // para fechar o arquivo } void ImprimirFuncionarios(struct Funcionario funcionario[],int n) { FILE *file; file = fopen("C:\\Users\\alex\\Desktop\\teste4\\funcionarios.txt", "r"); if(file == NULL) printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { int i; printf("\n\n\n\t\t------- LISTA DOS FUNCIONÁRIOS ------\n\n"); for(i=0; i<n; i++) { system("COLOR 0F"); fscanf(file,"%s",funcionario.nome); fscanf(file,"%d",funcionario.NIF); fscanf(file,"%.1f $00",funcionario.salario); fscanf(file,"%c",funcionario.categoria); fscanf(file,"%d horas",funcionario.Hora_Trabalhados); printf("\n\tNome: %s",funcionario.nome); printf("\n\tNIF: %d",funcionario.NIF); printf("\n\tSalario: %.1f $00", funcionario.salario); printf("\n\tCategoria: %c",funcionario.categoria); printf("\n\tHoras de trabalho: %d horas", funcionario.Hora_Trabalhados); printf("\n\n----------------------------------------------------------\n"); } } printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); fclose(file); } void OrdenarFuncionario(struct Funcionario funcionario[],int n){ } void EliminarFuncionario(struct Funcionario funcionario[],int n) { FILE *file; //Abre o arquivo novamente para leitura file = fopen("funcionarios.txt", "r+"); if(file == NULL) printf("\n-->não foi possivel abrir o fecheiro\n\n"); else { int nif, i; char resp; printf("\n\tInforme o NIF do funcionario a ser Eliminado: "); scanf("%d",&nif); while( funcionario.NIF == nif ) { // FALTOU if ( funcionario.ativo== 1 ) { printf("\n\tNome: %s",funcionario.nome); printf("\n\tNIF: %d",funcionario.NIF); printf("\n\tSalario: %.1f $00", funcionario.salario); printf("\n\tCategoria: %c",funcionario.categoria); printf("\n\tHoras de trabalho: %d horas", funcionario.Hora_Trabalhados); printf("\n\n----------------------------------------------------------\n"); } printf("\n\tDeseja realmente eliminar o Funcionário? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { funcionario.ativo=0; printf("\n\tFuncionário eliminado com sucesso\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("\tEliminação cancelada!\n"); break; } } } i++; if ( i > 99 ) printf("\n\n\t\tNIF não encontrado\n"); } fclose(file); printf ("\n\n\n\t\t\tPressione ENTER para Continuar->"); fflush(stdin); pressioneEnter(); system("cls"); } void menu(struct Funcionario funcionario[],int n) { int op; do { system("COLOR 0F"); //Menu printf("\n\n\t\t\t\t---> SISTEMA DE REGISTO E CONTROLE DE FUNCIONÁRIO \n\n"); printf("\n\t\t* 1 ------- INSERIR OS FUNCIONÁRIOS E ENVIA-LOS PARA O FICHEIRO ------------------------ *\n"); printf("\n\t\t* 2 ------- IMPRIMIR A LISTA DOS FUNCIONÁRIOS DO FICHEIRO ------------------------------ *\n"); printf("\n\t\t* 3 ------- IMPRIMIR OS FUNCIONÁRIOS POR CATEGORIA ------------------------------------- *\n"); printf("\n\t\t* 4 ------- GASTO DA UNIVERSIDADE COM OS FUNCIONÁRIOS ---------------------------------- *\n"); printf("\n\t\t* 5 ------- CALCULAR O SALÁRIO DE UM FUNCIONÁRIO X EM FUNÇÃO DO SEU SALÁRIO POR HORA --- *\n"); printf("\n\t\t* 6 ------- ORDENAR FUNCIONÁRIO NA ORDEM CRESCENTE ------------------------------------- *\n"); printf("\n\t\t* 7 ------- IMPRIMIR OS FUNCIONÁRIOS COM SALÁRIO MAIOR QUE 75000$ ---------------------- *\n"); printf("\n\t\t* 8 ------- ELIMINAR UM FUNCIONÁRIO A PARTIR DO Nº DO NIF ------------------------------ *\n"); printf("\n\t\t* 0 ------- Sair\n\n"); printf("\n\tEscolha uma opcao: "); scanf("%d",&op); printf("\n"); switch (op) { case 0: printf("\n\n\n\n\n\t-> Saindo... \n\n"); break; case 1: system("cls"); IncerirFuncionario(funcionario,n); break; case 2: system("cls"); ImprimirFuncionarios(funcionario,n); break; case 8: system("cls"); EliminarFuncionario(funcionario,n); break; default: system("COLOR C0"); printf("\n\t\t\t\t*-*-*-*-- ERRO --> Numero INVALIDO!\n\n"); printf ("\n\tPressione ENTER para Tentar Novamente->"); fflush(stdin); pressioneEnter(); system("cls"); } } while (op != 0); int main() { setlocale(LC_ALL, "Portuguese"); struct Funcionario funcionario[100]; int n; printf ("\n\tPressione ENTER para iniciar->"); fflush(stdin); pressioneEnter(); system("cls"); menu(funcionario,n); return 0; }
×
×
  • Criar Novo...