Ir para conteúdo
Fórum Script Brasil

Wizard82

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Wizard82

Wizard82's Achievements

0

Reputação

  1. Wizard82

    Ajuda em programa C

    Bem, comentando e pedindo mais ajuda... 1 - Eu realmente atribui direto, mas achei que se pudesse fazer isso. Não sei mesmo como usar essa função "strcpy()". Esse help que você sugere, é dentro do próprio compilador? Não pode me dar a dica de como fazer? 2 - Aquele retorno eu coloquei depois, porque o compilador dizia que precisava haver um retorno... depois, eu tinha mudado para "int" o retorno da função e mesmo assim não funcionou. Daí, tirei o "int" e voltei pro "void"... só que esqueci de apagar o retorno embaixo... erro meu. 3 - Eu nunca usei o malloc, e tentei usar pelo que li nas apostilas. No caso, eu estava (ou tentando) alocar uma área de memória vazia só para o ponteiro apontar para algum lugar e ser inicializado. Pelo que eu entendi, a gente determina isso chamando a função, e informando o tamanho (sizeof) e o tamanho de memória usado (no caso, o tamanho do mesmo tipo que eu mesmo criei). 4 - Sim, erro de distração. Esses são os que eu mais adoro. hehehe 5 - Distração também. :P O que é mais complicado mesmo, é você ler uma coisa, e achar que é uma coisa e é outra. Sempre me preocupo para não haver erros de lógica... erros de distração e falta de prática na linguagem atrapalham, mas são superávies. Peço então, mais um ajudinha nesse tópico. Irei refazer e postar aqui novamente o novo código, mas preciso de uma ajuda em como usar "malloc" e "strcpy". Grato.
  2. Boa noite! Tenho que carregar uma struct com alguns dados sobre cidades, porém não está funcionando... Antes de dar prosseguimento com o programa queria pelo menos imprimir na tela o valor das structs Se alguém puder dar uma mão... #include<stdio.h> #include<conio.h> #include<stdlib.h> struct dadosCid { char nomeCid [35]; dadosCid *adj[4]; int numCid,ligs; } cidade[7]; void atribui (void) { dadosCid cidade[7]; cidade[0].nomeCid="são Leopoldo"; cidade[1].nomeCid="Novo Hamburgo"; cidade[2].nomeCid="Estancia Velha"; cidade[3].nomeCid="Ivoti"; cidade[4].nomeCid="Dois Irmaos"; cidade[5].nomeCid="Campo Bom"; cidade[6].nomeCid="Sapiranga"; // cidade São leopoldo cidade[0].adj[0]=&cidade[1]; cidade[0].adj[1]=&cidade[5]; cidade[0].adj[2]=malloc(sizeof(dadosCid)); cidade[0].adj[3]=malloc(sizeof(dadosCid)); cidade[0].num=1; // numero da cidade cidade[0].lig=2; // quantidade de ligações com outras cidades // novo hamburgo cidade[1].adj[0]=&cidade[0]; cidade[1].adj[1]=&cidade[2]; cidade[1].adj[2]=&cidade[3]; cidade[1].adj[3]=&cidade[5]; cidade[1].num=2; cidade[1].ligs=4; // estancia velha cidade[2].adj[0]=&cidade[1]; cidade[2].adj[1]=&cidade[3]; cidade[2].adj[2]= malloc(sizeof(dadosCid)); cidade[2].adj[3]= malloc(sizeof(dadosCid)); cidade[2].num=3; cidade[2].ligs=2; // ivoti cidade[3].adj[0]=&cidade[1]; cidade[3].adj[1]=&cidade[2]; cidade[3].adj[2]=&cidade[4]; cidade[3].adj[3]= malloc(sizeof(dadosCid)); cidade[3].num=4; cidade[3].ligs=3; // dois irmãos cidade[4].adj[0]=&cidade[3]; cidade[4].adj[1]=&cidade[5]; cidade[4].adj[2]=&cidade[6]; cidade[4].adj[3]=malloc(sizeof(dadosCid)); cidade[4].num=5; cidade[4].ligs=3; // campo bom cidade[5].adj[0]=&cidade[0]; cidade[5].adj[1]=&cidade[1]; cidade[5].adj[2]=&cidade[4]; cidade[5].adj[3]=&cidade[6]; cidade[5].num=6; cidade[5].ligs=; // sapiranga cidade[6].adj[0]=&cidade[4]; cidade[6].adj[1]=&cidade[5]; cidade[6].adj[2]=malloc(sizeof(dadosCid)); cidade[6].adj[3]=malloc(sizeof(dadosCid)); cidade[6].num=7; cidade[6].ligs=2; return(1); } void main () { int i; atribui(); for(i=0;i<6;i++) { printf(cidade[i].nomeCid); printf("/n"); } } O caso é o seguinte: criar uma relação de cidades, em que o usuário defina uma cidade de origem e uma de destino e o program informe se há ligação entre as cidades e os caminhos a percorrer. Erros: (não sei o significado, se alguém puder me dizer, agradeço) da linha 17 a 23: Lvalue required in function atribui() linha 29 : cannot assign 'void near*' to 'dadosCid near*' in function atribui() linha 31, 32 num/ lig is not member of 'dadosCid' in function atribui() Bom, não copiei todos, da muito trabalho...rs Só quero dicas e sugestões do que pode estar acontecendo, não quero que montem o código pra mim (damos a vara, não o peixe...hehe) Abraços!
×
×
  • Criar Novo...