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)
Pergunta
Wizard82
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!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.