Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda]Formulario em C


Cristhoffer

Pergunta

Eae pessoal, to com umas dúvidas, começei a estudar C recentemente... muito interessante, só que as apostilas que vejo por ai complicam mais a cabeça dos iniciantes do que ajudam, enfim...

estou tentando fazer um formulario em C, com duas funções, uma que pega o nome e sobrenome e outra que pega a idade, ano e expectativa de vida (kkk)

só que quando chamo as funções na main(), gera alguns erros, creio que estou fazendo errado, e no sobrenome, não armazena espaços tipo.. Fulano de Souza, gera outro erro... se tiver uma forma mais simples também de fazer isso, fico grato, vai o código ae:

#include <stdio.h>

#include <stdlib.h>

int formulario_nome(){

char nome[50],sobrenome[50];

printf("\nDigite seu nome: ");

scanf("%s",&nome);

printf("\nDigite seu sobrenome: ");

scanf("%s",&sobrenome);

}

int formulario_idade(){

int idade,ano,expec;

printf("\nDigite sua idade: ");

scanf("%d",&idade);

printf("\nDigite o ano em que nasceu: ");

scanf("%d",&ano);

printf("\nAte quantos anos pretende viver? ");

scanf("%d",&expec);

}

int main(){

printf("\n%s %s\n",nome,sobrenome);

printf("\n%d Anos\nNasceu em %d\nPretende viver ate %d\n",idade,ano,expec);

formulario_nome();

formulario_idade();

return(0);

}

Uma ajudinha cairia bem, valeu ae pessoal :)

Editado por Cristhoffer
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Fera, primeiramente parabéns pela sua iniciativa de querer aprender.. Vamos por partes em relação ao teu código.

1) Do jeito que você postou, está gerando erro dentro do main(), porque não existe variavel chamada "nome" e "sobrenome", declarada la dentro(main). Elas existem apenas dentro da função , isso quer dizer que variaveis do main são diferentes das variaveis da função(uma não enxerga a outra).

int main()
{
   printf("\n%s %s\n",nome,sobrenome);                                    //aqui está errado.
   printf("\n%d Anos\nNasceu em %d\nPretende viver ate %d\n",idade,ano,expec);        //aqui está errado. 
   formulario_nome();
   formulario_idade();
}
2) Para ler um nome(string) você utiliza scanf, dai tudo bem está correto. Mas tem uma maneira para ler uma string composta, um exemplo disso é o nome de uma pessoa: ex: "Joao da Silva", note que no exemplo existem 3 strings com espaço em branco entre elas. Para isso você utilize um comando chamado fgets, que le uma string, mesmo contendo espaço entre elas. Exemplo do comando:
int formulario_nome() {

   char nome[100];

   printf("Informe Nome Completo:");      
   fflush(stdin);
   fgets (nome,100,stdin);
   fflush(stdin);
}
3) Sua lógica está um pouco confusa, no seu exercicio você criou uma função e leu os dados dentro delas, e chamou elas dentro do main e quis imprimir no main mesmo. Não está correto. Uma das maneiras de você fazer seria: Criar uma função simples ler e imprimir dentro dela, e no main apenas chama-la. Exemplo:
#include <stdio.h>
#include <stdlib.h>

int formulario_nome()
{
   int idade,ano,expec;
   char nome[100];
   
    printf("Informe Nome Completo:");      
    fflush(stdin);
    fgets (nome,100,stdin);
    fflush(stdin);     
    printf("Digite sua idade: ");
    scanf("%d",&idade); 
    printf("Digite o ano em que nasceu: ");
    scanf("%d",&ano);
    printf("Ate quantos anos pretende viver? ");
    scanf("%d",&expec);
     
    printf("\n\n"); 
    
    printf("Nome Completo: %s",nome,100,stdin);  
    printf("Idade: %d\n",idade);
    printf("Ano de Nascimento: %d\n",ano);
    printf("Expectativa de Vida: %d\n",expec);
    printf("\n\n");  
}

int main()
{
   formulario_nome();
    
   system("pause");
   
   return(0);

}

Espero que possa ter te ajudado.Abraço

Editado por Prog_Junior
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...