Ir ao conteúdo
  • Cadastre-se

naiara borges david

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa Noite, estou começando agora estruturas e estou com Dúvidas com struct, na hora de imprimir todos os registros da um erro já tentei refazer mas nao encontro o erro #include <stdio.h> #include <stdlib.h> // Lista de Structs ====== struct rgData { int dia, mes, ano; }; struct rgFuncionario { char nome[35]; char cargo[15]; char cpf[12]; int matr; struct rgData dtNasc; float sal; }; struct rgCadFun { struct rgFuncionario vCadFun[50]; int controle; }; // Lista de Protótipos de Funções void menu(); void cadastrar(struct rgCadFun *pCadastro); void Imprimir_1(struct rgCadFun Cadastro); int main() { menu(); } void menu() { struct rgCadFun Cadastro; Cadastro.controle = 0; int op; do { // impressão em tela da lista de opções printf("\n\n ----------------------------------"); printf("\n Escolha uma das opções abaixo: "); printf("\n 1 - Cadastrar Funcionario"); printf("\n 2 - Imprimir por Matricula"); printf("\n 3 - Imprimir todos os Registros"); printf("\n 4 - Validar CPF"); printf("\n 0 - SAIR \n\n >> "); scanf("%d", &op); switch(op) // tratamento da opção realizada pelo usuário { case 1: cadastrar(&Cadastro); system("pause"); system("cls"); break; case 2: Imprimir_1(Cadastro); // exercicio2_v2(); system("pause"); system("cls"); break; case 0: break; case 3: Imprimir_todos(Cadastro); //exercicio3_v1(); //exercicio3_v2(); system("pause"); system("cls"); break; case 4: //exercicio4(); system("pause"); system("cls"); break; default: printf("\n >>>> Digite um valor valido!!! <<<< \n\n"); system("pause"); system("cls"); break; } } while( op != 0 ); } void cadastrar(struct rgCadFun *pCadastro) { pCadastro->controle = pCadastro->controle + 1; pCadastro->vCadFun[pCadastro->controle-1].matr = pCadastro->controle; printf("\n\n MATRICULA = %d", pCadastro->vCadFun[pCadastro->controle-1].matr); printf("\n Digite um nome completo: \n"); fflush(stdin); gets(pCadastro->vCadFun[pCadastro->controle-1].nome); //scanf("%[^\n]s", pCadastro->vCadFun[pCadastro->controle-1].nome); //fgets(pCadastro->vCadFun[pCadastro->controle-1].nome, 35, stdin); printf("\n\n Digite o Cargo: \n"); fflush(stdin); gets(pCadastro->vCadFun[pCadastro->controle-1].cargo); printf("\n Digite o dia de nascimento: \n"); scanf("%d", &pCadastro->vCadFun[pCadastro->controle - 1].dtNasc.dia); printf("\n Digite o mes de nascimento: \n"); scanf("%d", &pCadastro->vCadFun[pCadastro->controle - 1].dtNasc.mes); printf("\n Digite o ano de nascimento: \n"); scanf("%d", &pCadastro->vCadFun[pCadastro->controle - 1].dtNasc.ano); printf("\n Digite o Salario: \n"); scanf("%f", &pCadastro->vCadFun[pCadastro->controle - 1].sal); printf("\n Digite o CPF: \n"); fflush(stdin); gets(pCadastro->vCadFun[pCadastro->controle-1].cpf); } void Imprimir_1(struct rgCadFun Cadastro) { int matric; printf("\nDigite o numero da matricula: \n"); scanf("%d", &matric); printf("\nNome: %s", Cadastro.vCadFun[matric - 1].nome); printf("\n Data de Nascimento: %d / %d / %d", Cadastro.vCadFun[matric - 1].dtNasc.dia, Cadastro.vCadFun[matric - 1].dtNasc.mes, Cadastro.vCadFun[matric - 1].dtNasc.ano); printf("\nCargo: %s", Cadastro.vCadFun[matric-1].cargo); printf("\nCPF: %s", Cadastro.vCadFun[matric-1].cpf); } void Imprimir_todos(struct rgCadFun Cadastro) { int matric, i; for(i=0; i < Cadastro.controle; i++) { printf("Numero da matricula: %d\n", i+1); printf("Nome: %s\n", controle.nome ); printf("Data de Nascimento: %d / %d / %d \n ", controle.dtNasc.dia, controle.dtNasc.mes, controle.dtNasc.ano); printf("Cargo: %s\n", controle.cargo); printf("CPF: %s\n", controle.cpf); } }
  2. Acredito que precise de dois for, porque eu vou trocar linha por coluna e vice versa fiz assim mas mesmo assim não está trocando a linha por coluna. //trocar linha 1 pela coluna 4 printf("trocar a linha 1 pela 4 coluna:\n"); for(i=0; i<=3; i++){ for(j=0; j<=3; j++){ troca = M[0][j]; M[0][j]= M[3]; M[3] = troca; printf("\t%d", M[j]); } } getch(); }
  3. Olá, estou fazendo esse exercicio para criar uma matriz 4x4 e trocar os valores da 1° linha pelos da 4° coluna. estou com dificuldades na hora de trocar a linha pela coluna .. código aqui: #include<stdio.h> #include<stdlib.h> #include<time.h> int main () { int M[4][4]; int i, j, troca; //imprimindo a matriz for(i=0; i<4; i++){ for(j=0; j<4; j++){ M[j] = rand()%50; // utilizei numeros aleatorios para as matrizes printf("\t%d", M[j]); } printf("\n"); } //trocar linha 1 pela coluna 4 printf("trocar a linha 1 pela 4 coluna:\n"); for(i=0; i<4; i++){ for(j=0; j<4; j++){ if((i==1) && (j==3)){ troca = M[j]; M[j] = M[j][3]; M[4] = troca; printf("%d\t", M[j]); } } } system("pause"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...