Ir ao conteúdo
  • Cadastre-se

Thiago72

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

Reputação

0
  1. Bom dia programadores. Tenho um codigo aqui que coleta 10 cadastros, mas preciso passar esses cadastros por parametro para uma função onde irá conter a regra de negocio. Deve ser feita a ordenação, e depois devolvido na tela já na ordem numerica. A parte do cadastro eu já fiz, porém não sei como passar por parametro e nem fazer a regra de negocio. /*ATPS Prof Salgado*/#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct{ char nome[40]; char cpf[11]; char idade[3]; int numero_cadastro;}cadastro;int cont;//Variavel contador.cadastro cad[10]; //A struct cad1 só pode receber até 10 cadastros./*Função que recebe os valores de cada variavel.*/void menu_cadastro(){ for (cont=0 ; cont<=9 ; cont++) { cad[cont].numero_cadastro = (cont+1); printf ("\nCadastro %d\n", cad[cont].numero_cadastro); printf ("\nNome: "); gets(cad[cont].nome); fflush(stdin); printf ("\nIdade: "); gets(cad[cont].idade); fflush(stdin); printf ("\nCPF: "); gets (cad[cont].cpf); fflush(stdin); system ("cls"); printf ("\n Cadastro efetuado com sucesso!\n"); getchar(); system ("cls"); } printf ("\nNao e possivel acrescentar mais cadastros.\n\n");}main(){ menu_cadastro(); system ("Pause");}
  2. Thiago72

    Erro misterioso

    Alguém pra me dar uma força?
  3. Thiago72

    Erro misterioso

    Ed, entendi, coloquei como char, realmente não fazia sentido deixar como int. Preciso mais uma vez da ajuda de você, o exercicio pede para eu mostrar todos os cadastros em ordem de cadastro, no meu programa ele ja cadastra dando o codigo do cliente em ordem (1.. 2.. 3..) caso eu escolhesse o código ( 7..2..9..18..) como faria para imprimir na ordem do menor para o maior? Segue como está o meu código por enquanto. /*ATPS Prof Salgado*/#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct{ char nome[40]; char cpf[11]; char idade[3]; int numero_cadastro;}cadastro;int cont;//Variavel contador.cadastro cad[10]; //A struct cad1 só pode receber até 10 cadastros./*Função que recebe os valores de cada variavel.*/void menu_cadastro(){ for (cont=0 ; cont<=9 ; cont++) { cad[cont].numero_cadastro = (cont+1); printf ("\nCadastro %d\n", cad[cont].numero_cadastro); printf ("\nNome: "); gets(cad[cont].nome); fflush(stdin); printf ("\nIdade: "); gets(cad[cont].idade); fflush(stdin); printf ("\nCPF: "); gets (cad[cont].cpf); fflush(stdin); system ("cls"); printf ("\n Cadastro efetuado com sucesso!\n"); getchar(); system ("cls"); } printf ("\nNao e possivel acrescentar mais cadastros.\n\n");}main(){ menu_cadastro(); system ("Pause");}
  4. Thiago72

    Erro misterioso

    Show! Isso eu não tinha aprendido. usei o Gets e deu certo, se eu quisesse usar uma variavel int para guardar o cpf como ficaria a linha do meu scanf? Esse: scanf ("%d", cad[cont].idade); Ficaria assim? scanf ("%d\0", cad[cont].idade);
  5. Thiago72

    Erro misterioso

    Ed, sua observação foi essencial para eu achar o erro. Não havia comunicação entre a struct e a função, dei o apelido da typedef struct de cadastro, na sequencia dei o apelido de "cad". Deu certo! Agora ele não está conseguindo ler o CPF não entendi, se puder tente rodar o codigo abaixo. Muito obrigado amigo! /*ATPS Prof Salgado*/#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct{ char nome[40]; int idade; char cpf[11];}cadastro; int cont;//Variavel contador.cadastro cad[10]; //A struct cad1 só pode receber até 10 cadastros./*Função que recebe os valores de cada variavel.*/void menu_cadastro(){ printf ("\n\n"); if (cont == 10 || cont > 10) //se cont igual a 10, sai do programa, maximo de cadastro 10... (0,1,2,3,4,5,6,7,8,9) { printf("Nao e possivel cadastrar mais clientes!\n"); return; } else { printf ("\nNome: "); gets(cad[cont].nome); fflush(stdin); printf ("\nIdade: "); scanf ("%d", cad[cont].idade); fflush(stdin); printf ("\nCPF: "); gets (cad[cont].cpf); fflush(stdin); getchar(); }}main(){ menu_cadastro(); system ("Pause");}
  6. Thiago72

    Erro misterioso

    Ed, nesse caso quis declarar que a estruct cadastro só pode armazenar 10 cadastros. Tenho outros código assim e não deu esse problema. Se puder me dar uma luz do que devo fazer.. Valeu aí mano!
  7. Gui, me ajude nesse codigo. Não consegui ver o que estou errando, o erro eu não conheço. /*ATPS Prof Salgado*/#include <stdio.h>#include <stdlib.h>#include <stdbool.h>struct cadastro{ char nome[40]; int idade; char cpf[11];}; int cont;//Variavel contador.cadastro[10]; //A struct cad1 só pode receber até 10 cadastros./*Função que recebe os valores de cada variavel.*/void menu_cadastro(){ printf ("\n\n"); if (cont == 10 || cont > 10) //se cont igual a 10, sai do programa, maximo de cadastro 10... (0,1,2,3,4,5,6,7,8,9) { printf("Nao e possivel cadastrar mais clientes!\n"); return; } else { printf ("\nNome: "); gets(cadastro[cont].nome); fflush(stdin); printf ("\n Idade: "); scanf ("%d", cadastro[cont].idade); fflush(stdin); printf ("\nCPF: "); gets (cadastro[cont].cpf); fflush(stdin); }}main(){ menu_cadastro(); system ("Pause");}
  8. Thiago72

    Erro misterioso

    Fala aí meus amigos. Podem me ajudar em um exercício, logo no começo já to batendo cabeça. O exercício pede o seguinte: 1º Desenvolver uma aplicação onde receba uma estrutura de dados que são eles: ::nome ::idade ::cpf recerebr 10 registros completos e passar por parametro para uma função onde ira conter a regra de negocio. Será feito a ordenação e apos devolvera os numeros para a chamada ja ordenados. Até o momento meu código está assim: /*ATPS Prof Salgado*/#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct cadastro{ char nome[40]; int idade; char cpf[11];}cad1;int cont=0; //Variavel contador.cadastro [10]; //A struct cadastro só pode receber até 10 cadastros./*Função que recebe os valores de cada variavel.*/void menu_cadastro(){ printf ("\n\n"); if (cont == 10 || cont > 10) //se cont igual a 10, sai do programa, maximo de cadastro 10... (0,1,2,3,4,5,6,7,8,9) { printf("Nao e possivel cadastrar mais clientes!\n"); return; } else { printf ("\nNome: "); gets(cadastro[cont].nome); fflush(stdin); printf ("\n Idade: "); scanf ("%s", cadastro[cont].idade); fflush(stdin); printf ("\nCPF: "); gets (cadastro[cont].cpf); fflush(stdin); }main(){ menu_cadastro(); system ("Pause");} O programa para no 1º gets, e daessa mensagem: "error: request for member 'nome'in a something not a structure or union Que diabo é isso? Sempre usei o gets assim.. Quem puder ajudar agradeço. Obrigado! Caros, tirei o "apelido" da struct e deu certo, porém deu um erro na declaração do "cont". Putz, to muito enferrujado de C.. se puderem me dar uma luz.. valeu mesmo.
  9. Boa tarde Sr's. Estou com uma dificuldade em um exercício simples (não pra mim). Nesse exercicio devo comparar duas variaveis inteiras e mostrar qual é a maior, mais tem que usar o return. Segue o código, eu estou aberto a dicas e sugestoes que possam melhorar meus codigos. Logo depois de inserir o 1 número ele da erro e fecha o compilador (DEV C++). #include <stdio.h>#include <stdlib.h>int max (int a, int {if (a>{ return a;} else{ return b;}}int main (){int num1, num2;int result;printf ("Digite o 1 numero");scanf ("%d", num1);printf ("Digite o 2 numero");scanf ("%d", num2);result = max(num1, num2);printf (" o maior n eh : %d ", result);system ("pause");} Obrigado! Galera, disfarça esqueci o & do scanf. Vivendo e aprendendo! Obrigado!

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...