Ir ao conteúdo
  • Cadastre-se
Glestman

Problema em fazer funcao retorna

Recommended Posts

Boa tarde galera!

 

E o seguinte para minimizar as linhas de codigos de meu programa , utilizei uma funcao para verifica se a quantidade de aeroportos e menor que 10 ou se a lista esta vazia, mas estou com muita dificuldade de , apos a funcao verifica esta condicao retorna para o Case correspondente.

 

OBs: esta dando erro na compilacao

 

Segue abaixo o codigo

 

#include <sys/time.h>
#include <stdlib.h>
#include <stdio.h>
#define MAX 10


using namespace std;

typedef struct TipoCelula *TipoApontador;

typedef struct TipoCelula
{
    char cidade[30];
    int codigo, Cod_Orig, Cod_Dest;
    TipoApontador Prox;
}TipoCelula;

typedef struct 
{
    TipoApontador Primeiro, Ultimo;
} TipoLista;

bool Vazia(TipoLista lista)
{
    return (lista.Primeiro == lista.Ultimo);
}

void FLVazia(TipoLista *lista)
{
    lista->Ultimo = (TipoApontador) malloc (sizeof(TipoCelula));
    lista->Ultimo = lista->Primeiro;
    lista->Ultimo->Prox = NULL;
}

void Cad_Aero(TipoCelula *Celula)
{
    TipoApontador p;
    
}


/* ========================================================================== */

    
        system('cls');
        switch (opcao) 
        {
        
        
            case 1 :
                { 
                    int cont=0,indice;
                    TipoCelula cidade,codigo;
                    checar_info();
                        
                            printf("Digite nome da  cidade :);
                            scanf("%s", &cidade);                        
                      do
                        {
                            cont=cont+1;
                            indice=cont;
                        }while(cont<=10)
                            srand((unsigned)time(NULL));
                            codigo=rand()%1 + 300;
                }
                break;
                case 2 : //Cadastrar Võo
                    {
                        checar_info();
                            printf("Informe o codigo de origem")
                            scanf("%d",Cod_Orig)
                        checar_voo();
                        system("cls");
                            printf("Informe o codigo de destino")
                            scanf("%d",Cod_Dest)
                        checar_voo();
                        break;
                    }
                
                case 3 :  //Remover Voo
                    {
                        checar_info();
                          else
                          {
                            ptr = TipoCelula;
                            TipoCelula = inicio ->prox;
                            free(ptr);
                            return 1;
                          }
                    }
                break;
           
                case 4 :    
                break;
                case 5 :    
                break;
                case 6 :
                break;
            
    }

checar_info()
    {
        if(TipoCelula<=10 || TipoCelula>0)
            {
                return 1;    
            }
    }
    
checar_voo()
    {
        if(Cod_Orig=codigo || Cod_Dest=codigo)
            {
                printf("Voo encontrado");
                system("cls");
                return 1;   
            }
        else if(Cod_Orig!=codigo || Cod_Dest!=codigo)
            {
                printf("Voo nao existe, digite novamente o codigo");
                scanf("%d")
            }

int menu()
{
 
int opcao,TipoLista=10;;
        printf(
            "\t\t\t#########################################\n"
            "\t\t\t#      SISTEMA DE CONTROLE AEREO        #\n"    
            "\t\t\t#########################################\n"
            "\t\t\t#_   1 . Cadastrar Aeroporto              _#\n"            
            "\t\t\t#_   2 . Cadastrar Vôo      _#\n"         
            "\t\t\t#_   3 . Remover Voo               _#\n"
            "\t\t\t#_   4 . Imprimir Võos           _#\n"
            "\t\t\t#_   5 . Imprime Tudo  _#\n"
            "\t\t\t#_   6 . Procura Vôo           _#\n"
            "\t\t\t#_   7 . Sair do programa              _#\n"    
            "\t\t\t#########################################\n"
            );
    scanf("%d", &opcao);
    return opcao;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

CiroboyBR irei alterar,mas sobre o teste de condição checar_voo e checar_info a maneira de retorna a case esta correta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Glestman Percebi que você está meio perdido. fica difícil te ajudar com esse código confuso. sobre as funções, o correto seria algo do tipo:

 


checar_info() {
  if(TipoCelula.codigo <= 10 || TipoCelula.codigo > 0) {
    return 1;
  }
}

checar_voo() {
  if(TipoCelula.Cod_Orig == codigo || TipoCelula.Cod_Dest == codigo) {
    printf("Voo encontrado");
    system("cls");
    return 1;
  } else if(TipoCelula.Cod_Orig != codigo || TipoCelula.Cod_Dest != codigo) {
    printf("Voo nao existe, digite novamente o codigo");
    scanf("%d")
  }
}

Ainda sim isso não deve dar certo, mas em teoria é isso, sua variável do tipo struct+ponto+variável interna da struct.

 

Como você usa listas, creio que isso seja mais complexo ainda. algo do tipo lista->TipoCelula.codigo;

 

Enfim, recomendo que faça seu programa em partes. 1 função por vez, vai testando e depois construindo as outras funções. Isso evita essa confusão toda. Sinceramente até eu estou confuso.

Se tiver dificuldades com struct, assista as aulas 35~38 desse link: https://programacaodescomplicada.wordpress.com/indice/linguagem-c/ 

 

Se tiver dificuldades com Listas, nesse link tem bastante coisa: https://programacaodescomplicada.wordpress.com/indice/estrutura-de-dados/

 

Editado por CiroboyBR

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×