Thiago72
-
Posts
21 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Thiago72
-
-
Alguém pra me dar uma força?
-
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");}
-
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);
-
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");}
-
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!
-
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");}
-
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.
-
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
Passar parametros e imprimir na ordem. C
em C/C#/C++
Postado
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.