Ir ao conteúdo
  • Cadastre-se

Meu for não está funcionando


FebenSss
Ir à solução Resolvido por Midori,

Posts recomendados

Bom Dia Galera, estou com um problema no meu código

 

Meu for na função cadastroRua não está fazendo o looping

 

Segue abaixo meu código.

#include <stdio.h>#include <stdlib.h>struct Residencia{char rua[25];int numCasa;int numMedidor;int medidaConsumo;} vetResidencias[3];       int main(){        menu();    system("PAUSE");	  return 0;}int geradorNumeros(){    int i;            srand( (unsigned)time(NULL) );        printf("%d",rand()%1000);}cadastroRua(){                              int i;                              for(i=0;i<3;i++){               printf("\n\n\t----------CADASTRO----------\n\n");               printf("\tNome da Rua: ");               scanf("%s",vetResidencias[i].rua);               printf("\tNumero da Casa: ");               scanf("%d",&vetResidencias[i].numCasa);               printf("\tNumero do Medidor: ");               scanf("%d",&vetResidencias[i].numMedidor);               printf("\tMedida de Consumo: ");               scanf("%d",vetResidencias[i].medidaConsumo=geradorNumeros());               system("pause");               }               menu();}menu(){              int op;              printf("\n\n\t----------MENU----------\n\n");       printf("\t1 - Cadastrar\n");       printf("\t2 - Busca Sequencial\n");       printf("\t3 - Busca Binaria\n\n");       printf("\tDigite Opcao: ");       scanf("%d",&op);              switch (op){                            case 1: cadastroRua(); break;              //case 2: buscaSequencial(); break;              //case 3: buscaBinaria(); break;              case 4: exit;
Link para o comentário
Compartilhar em outros sites

Sim. Observe que a função geradorNumeros() cria um numero, escreve na tela e nada mais. O próximo passo obvio seria devolver o numero gerado a quem chamou a função. Então inclua uma ultima linha na geradorNumeros() com return i; e assim o valor de i seria copiado para medidaConsumo.

Por sinal, estranho que o compilador não reclame pelo fato de você ter declarado uma função do tipo int, que não retorna nada, e ainda atribua o valor de retorno a outra variável.

Link para o comentário
Compartilhar em outros sites

Isso, quero atribuir o gerador de numeros por exemplo

 

No cadastro, o usuário entra com as três primeiras informações

 

Quando chegar na medidaConsumo, o gerador tem que atribuir um numero randômico

 

Ele até está fazendo isso, porém o laço for não continua e o programa trava.

 

Tentei alterar com as dicas do nosso amigo VIOLADOR, mais sem sucesso.

Link para o comentário
Compartilhar em outros sites

Já fiz alterações nela porém não resultou em nada!


 k k k percebi o que você quis dizer com "Você continua com essa linha no programa?"

 

Então como era só para printar, eu a deixei como scanf ao invés de printf

 

Ficou desse modo.

printf("%d",vetResidencias[i].medidaConsumo=geradorNumeros())

Agora o for está funcionando, Obrigado a todos ae

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!