• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Upper

Problemas com um prog

2 mensagens neste tópico

Boas...tou aqui com um problema. Como e que eu crio um codigo de 4 numeros de 0 a 9 e depois exibir esse mesmo codigo no ecra?

Aqui ta o codigo todo.

#include <stdio.h>

#include <string.h>

#include <time.h>

typedef struct pessoa{

char nome[30];

int idade;

float salario;

int code[4];

}PESSOA;

int control = 0;

void LerPessoa(PESSOA *p);

void MostrarPessoa(PESSOA p);

void Inic_Random();

int main(){

int i=0;

while(i<1){

PESSOA p;

printf(" BEM VINDO   \n");

LerPessoa(&p);

printf("-------------\n");

MostrarPessoa(p);

i++;

}

}

void LerPessoa(PESSOA *p){

char nome[30];

int key[3],i;

printf("Nome: ");scanf(" %s", nome);strcpy(p->nome,nome);

printf("Idade: ");scanf(" %d", &p->idade);

printf("Salario: ");scanf(" %f", &p->salario);

for(i=0;i<=3;i++){

key = rand()%9;

strcpy(key,p->code);

}

}

void MostrarPessoa(PESSOA p){

printf("Nome: %s\n",p.nome);

printf("Idade: %d\n",p.idade);

printf("Salario: %.2f\n",p.salario);

printf("Code: %d\n",p.code);

}

void Inic_Random(){

long ultimate;

time(&ultimate);

srand((unsigned)ultimate);

}

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

void LerPessoa(PESSOA *p){
   char nome[30];
   int key[3],i;
   printf("Nome: ");scanf(" %s", nome);strcpy(p->nome,nome);
   printf("Idade: ");scanf(" %d", &p->idade);
   printf("Salario: ");scanf(" %f", &p->salario);
   for(i=0;i<=3;i++){
      
      key = rand()%9;
      strcpy(key,p->code);
   }
   
}

tens vários erros nesta função, parece-me que estás a fazer alguma confusão entre arrays e strings, não podes usar a função strcpy com arrays de inteiros.

outro erro, a função rand() retorna um inteiro e tu estas a atribuir esse valor a um array de inteiros, podes atribuir esse valor directamente à variável code dentro da struct Pessoa usando os índices.

ps: usa o geshi quando quiseres meter código num post que assim fica dificil d perceber alguma coisa

http://www.portugal-a-programar.pt/index.php?showtopic=6931

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora