Jump to content

Problemas com um prog


Upper
 Share

Recommended Posts

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

Link to comment
Share on other 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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.