Ir ao conteúdo
  • Cadastre-se

C funções que faltam em programa em C


savio789001

Posts recomendados

Olá, para todos que viram o projeto anterior eu corrigi o código, e  quem puder ajudar nesse novo agradeço. pra esse novo código vou precisar do cadastro de todos os 15 participantes (nome,cpf,datadenascimento,país,peso,idade e o horário de chegada.)

só foi feito pra  1 participante então faltam 14 deles.

nas partes  das áreas comentadas foi feito de forma incompleta o cadastro das especialidades e data da prova ( não  está  100% ) será  preciso completar com as outras opções. e  as outras áreas comentadas ainda faltam fazer (escolher a especialidade cadastar a prova e  escolher os participantes dessa prova, além de escolher a especialidade e  cadastar pra cada participante o tempo de chegada e  definir o pódio da prova sendo que os ganhadores podem ser definidos no formato 00:02:32 (exemplo) e  os ganhadores serão  sempre os que tiverem esse melhor tempo.( só cadastar quem ficou em 1 23 lugar porque os outros estão desclassificados automaticamente)Os cinco países são: Brasil,Coreia,Japão,China e África são 3 participantes de cada país e  5 modalidades ( peito ,costas,crawl,medley e borboleta totalizando 15 ao todo.)



Obs( no cadastro dos vetores de participantes os números dentro do vetor não são de participantes e sim de quantos caracteres cada parte daquela tem exemplo cpf[11] que o cpf terá 11 caracteres.seguindo esse mesmo exemplo pros outros).



ainda vai faltar por favor complementar o menu principal do cadastro pois está incompleto(completar com opções que faltam como 4opção gerar relatório 5 exibir os resultados)  e completar as opções do switch case 1 e  fazer as outras opções de switch case até a que estiver cadastrada no caso do cadastro das provas  e modalidades  até a 4 opção.já o menu principal até a 6 opção.



Nomes de todos os 5 países

               ( total dos 15 participantes)

Brasil : (José de Abreu,Marcelo Alves, José Alencar ,Jorge Augusto, José Ramos,João, Antônio, Francisco, Carlos ,Pedro,Lucas , Luís, Marcos,Gabriel, RafaelDaniel )

 (Quais participantes venceram os 5 principais)

Quem ganhou: José de Abreu,Marcelo Alves,José de Alencar,  Jorge AugustoJosé Ramos)

               (total dos 15 participantes)

China( Jin Chang,Quon,Yin,Mêncio Meng-tsu ,Yan,Lian,Jin,Chang,Amen,Bao,Boseph,Chen Gong,Ben Wueng).



           ( os participantes que venceram dos 5 países) 

China: Jin Chang,Quon,Yin,Mâncio Meng-TsuChen Gong).



                   (total dos 15 participantes)

Japão : (Sérgio Takeda,Maurício Yamammoto, Marcelo Yamaha,Daniel Suzuki,Igor Watanabe,Akira,Fuyuki,Gohan,Yamato,Hideta-ka,Hiroki,Hiroshi,Katsui,Kasumi,Kasui)



(os participantes que venceram dos 5 países) 

Japão :(Sérgio Takeda,Maurício Yamammoto,Marcelo Yamaha,Daniel Suzuki,Igor Watanabe).





             (total dos 15 participantes)



Coreia:(Min Jin,Min Suk, Seo Yeon,Bora,Chae-Won,Jin hoon,Jin Seo,Min ,Jung Kook,Yen Jung,Do-yun,Dong Hae,Ha-jun,Jin -hung)





(os participantes que venceram dos 5 países) 



Coreia( Min Jin, Chae-Wong,Yen Jung,Jung Kook,Do-yun).



           (total dos 15 participantes)

África (Zaki,Ayo,Simba,Sekani,Zaire,Zola,estão,Sholoni,Zaci,Jafira,Adebe,Bomani,Aren,Danso,Dume).



(os participantes que venceram dos 5 países)

( Zaki,Ayo,Simba,Sekani,Zaire,Dume).



Pois é  meus amigos eu peço isso pra vocês porque eu não seu fazer eu desejo por favor de uma ajuda ou dica de vocês que entendem mais ).

Bem aqui vai o código :



#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* Atletas de Natação */

/* será feito  cadastro de provas da seguinte forma
0 - crawl 
1 - borboleta
2 - livre
3 - costa
4 - medley*/

struct tp_data
{
int dia;
int mes;
int ano;
};


struct horario
{
int hora, minuto, segundo;
};

struct tp_participantes
{
char nome[20];
char Cpf[11];
char Pais[5];
float peso[2];
int Idade[2];
struct tp_data dt_Nascimento;
struct horario tempoChegada;
};


struct tp_provas{
char especialidade[15];
struct tp_data data_prova;
struct tp_participantes inscritos[15]; // 15 participantes inscritos
int podio[15]; // numero de inscrição de quem ficou em 1o, 2o, e 3o lugar
};


struct tp_provas provas_campeonato[5];

void registraprovas(){
    strcpy(provas_campeonato[0].especialidade,"crawl");
    strcpy(provas_campeonato[1].especialidade,"borboleta");
    strcpy(provas_campeonato[2].especialidade,"livre");
    strcpy(provas_campeonato[3].especialidade,"costa");
    strcpy(provas_campeonato[4].especialidade,"medley");
}


//==========================================/


void cadastrar(int op){
    printf("%d\n",op);
    
    printf("Cadastrando dados para a prova: %s\n",provas_campeonato[op].especialidade);
    printf("\nCadastrando a data\n");
    printf("digite o ano: ");
    struct tp_data data;
    scanf("%d",&data.ano);
    printf("digite o mes: ");
    scanf("%d",&data.mes);
    printf("digite o dia: ");
    scanf("%d",&data.dia);

    provas_campeonato[op].data_prova = data;

    


}

int cadastroProva(){
//cadastrar a especialidade e a data da prova
    printf("Bem vindo ao Cadastro de provas\n");
    
    int op;
    do{
        printf("Digite a prova que deseja cadastrar\n");
        printf(" 0 - crawl\t\t 1 - borboleta\n 2 - livre\t\t 3- costa\n 4 - medley\t\t 9 - sair: ");
        
        scanf("%d",&op);
        if(op==0 || op==1 || op==2 || op==3|| op==4 || op==5){
            cadastrar(op);
        }
        else if(op !=9) printf("Opcao invalida!\n");

        

    }while(op!=9);
    return 0;
    


}

void inscricao(){
//escolhe a especialidade, identificar a prova e cadastra os participantes dessa prova

}

void resultados(){
//escolhe a especialidade, identificar a prova e cadastra para cada participante o tempo de chegada e define o podio da prova

}

int main(){
int opcao;
registraprovas();

    do{
        system("cls");
printf("M E N U   P R I N C I P A L\n\n");
printf("1 - Cadastro das provas\n");
printf("2 - Inscrição\n");
printf("3 - Registrar Resultados\n");
printf("6 - Encerrar\n\n");

printf("Digite a opcao desejada: ");
scanf("%d", &opcao);

switch (opcao){
case 1: cadastroProva(); break;
case 2: inscricao();break;
case 3: resultados();break;
case 6: printf("Volte sempre!\n\n"); break;
default: printf("Opcao invalida!\n\n");system("pause");
};
}while(opcao!=6);

return 0;
}

Olá, para todos que viram o projeto anterior eu corrigi o código, e  quem puder ajudar nesse novo agradeço. pra esse novo código vou precisar do cadastro de todos os 15 participantes (nome,cpf,datadenascimento,país,peso,idade e o horário de chegada.)

só foi feito pra  1 participante então faltam 14 deles.

nas partes  das áreas comentadas foi feito de forma incompleta o cadastro das especialidades e data da prova ( não  está  100% ) será  preciso completar com as outras opções. e  as outras áreas comentadas ainda faltam fazer (escolher a especialidade cadastar a prova e  escolher os participantes dessa prova, além de escolher a especialidade e  cadastar pra cada participante o tempo de chegada e  definir o pódio da prova sendo que os ganhadores podem ser definidos no formato 00:02:32 (exemplo) e  os ganhadores serão  sempre os que tiverem esse melhor tempo.( só cadastar quem ficou em 1⁰ 2⁰ e  3⁰ lugar porque os outros estão desclassificados automaticamente)Os cinco países são: Brasil,Coreia,Japão,China e África são 3 participantes de cada país e  5 modalidades ( peito ,costas,crawl,medley e borboleta totalizando 15 ao todo.)

Obs( no cadastro dos vetores de participantes os números dentro do vetor não são de participantes e sim de quantos caracteres cada parte daquela tem exemplo cpf[11] que o cpf terá 11 caracteres.seguindo esse mesmo exemplo pros outros).

ainda vai faltar por favor complementar o menu principal do cadastro pois está incompleto(completar com opções que faltam como 4⁰opção gerar relatório 5⁰ exibir os resultados)  e completar as opções do switch case 1 e  fazer as outras opções de switch case até a que estiver cadastrada no caso do cadastro das provas  e modalidades  até a 4⁰ opção.já o menu principal até a 6⁰ opção.

Nomes de todos os 5 países

               ( total dos 15 participantes)

Brasil : (José de Abreu,Marcelo Alves, José Alencar ,Jorge Augusto, José Ramos,João, Antônio, Francisco, Carlos ,Pedro,Lucas , Luís, Marcos,Gabriel, Rafael e  Daniel )

 (Quais participantes venceram os 5 principais)

Quem ganhou: José de Abreu,Marcelo Alves,José de Alencar,  Jorge Augusto e  José Ramos)

               (total dos 15 participantes)

China( Jin Chang,Quon,Yin,Mêncio Meng-tsu ,Yan,Lian,Jin,Chang,Amen,Bao,Boseph,Chen Gong,Ben Wueng).

           ( os participantes que venceram dos 5 países) 

China: Jin Chang,Quon,Yin,Mâncio Meng-Tsu e  Chen Gong).

                   (total dos 15 participantes)

Japão : (Sérgio Takeda,Maurício Yamammoto, Marcelo Yamaha,Daniel Suzuki,Igor Watanabe,Akira,Fuyuki,Gohan,Yamato,Hideta-ka,Hiroki,Hiroshi,Katsui,Kasumi,Kasui)

(os participantes que venceram dos 5 países) 

Japão :(Sérgio Takeda,Maurício Yamammoto,Marcelo Yamaha,Daniel Suzuki,Igor Watanabe).

             (total dos 15 participantes)

Coreia:(Min Jin,Min Suk, Seo Yeon,Bora,Chae-Won,Jin hoon,Jin Seo,Min ,Jung Kook,Yen Jung,Do-yun,Dong Hae,Ha-jun,Jin -hung)

(os participantes que venceram dos 5 países) 

Coreia( Min Jin, Chae-Wong,Yen Jung,Jung Kook,Do-yun).

           (total dos 15 participantes)

África (Zaki,Ayo,Simba,Sekani,Zaire,Zola,estão,Sholoni,Zaci,Jafira,Adebe,Bomani,Aren,Danso,Dume).

(os participantes que venceram dos 5 países)

( Zaki,Ayo,Simba,Sekani,Zaire,Dume).

Pois é  meus amigos eu peço isso pra vocês porque eu não seu fazer eu desejo por favor de uma ajuda ou dica de vocês que entendem mais ).

Bem aqui vai o código :

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* Atletas de Natação */

/* será feito  cadastro de provas da seguinte forma
0 - crawl 
1 - borboleta
2 - livre
3 - costa
4 - medley*/

struct tp_data
{
int dia;
int mes;
int ano;
};


struct horario
{
int hora, minuto, segundo;
};

struct tp_participantes
{
char nome[20];
char Cpf[11];
char Pais[5];
float peso[2];
int Idade[2];
struct tp_data dt_Nascimento;
struct horario tempoChegada;
};


struct tp_provas{
char especialidade[15];
struct tp_data data_prova;
struct tp_participantes inscritos[15]; // 15 participantes inscritos
int podio[15]; // numero de inscrição de quem ficou em 1o, 2o, e 3o lugar
};


struct tp_provas provas_campeonato[5];

void registraprovas(){
    strcpy(provas_campeonato[0].especialidade,"crawl");
    strcpy(provas_campeonato[1].especialidade,"borboleta");
    strcpy(provas_campeonato[2].especialidade,"livre");
    strcpy(provas_campeonato[3].especialidade,"costa");
    strcpy(provas_campeonato[4].especialidade,"medley");
}


//==========================================/


void cadastrar(int op){
    printf("%d\n",op);
    
    printf("Cadastrando dados para a prova: %s\n",provas_campeonato[op].especialidade);
    printf("\nCadastrando a data\n");
    printf("digite o ano: ");
    struct tp_data data;
    scanf("%d",&data.ano);
    printf("digite o mes: ");
    scanf("%d",&data.mes);
    printf("digite o dia: ");
    scanf("%d",&data.dia);

    provas_campeonato[op].data_prova = data;

    


}

int cadastroProva(){
//cadastrar a especialidade e a data da prova
    printf("Bem vindo ao Cadastro de provas\n");
    
    int op;
    do{
        printf("Digite a prova que deseja cadastrar\n");
        printf(" 0 - crawl\t\t 1 - borboleta\n 2 - livre\t\t 3- costa\n 4 - medley\t\t 9 - sair: ");
        
        scanf("%d",&op);
        if(op==0 || op==1 || op==2 || op==3|| op==4 || op==5){
            cadastrar(op);
        }
        else if(op !=9) printf("Opcao invalida!\n");

        

    }while(op!=9);
    return 0;
    


}

void inscricao(){
//escolhe a especialidade, identificar a prova e cadastra os participantes dessa prova

}

void resultados(){
//escolhe a especialidade, identificar a prova e cadastra para cada participante o tempo de chegada e define o podio da prova

}

int main(){
int opcao;
registraprovas();

    do{
        system("cls");
printf("M E N U   P R I N C I P A L\n\n");
printf("1 - Cadastro das provas\n");
printf("2 - Inscrição\n");
printf("3 - Registrar Resultados\n");
printf("6 - Encerrar\n\n");

printf("Digite a opcao desejada: ");
scanf("%d", &opcao);

switch (opcao){
case 1: cadastroProva(); break;
case 2: inscricao();break;
case 3: resultados();break;
case 6: printf("Volte sempre!\n\n"); break;
default: printf("Opcao invalida!\n\n");system("pause");
};
}while(opcao!=6);

return 0;
}

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Mais uma vez não consigo ligar o enunciado com o programa que está escrevendo. 

 

Parece que tudo é constante. Não se escreve um programa para constantes. É só uma lista.

 

O programa está mais perto de C desta vez, mas ainda faz pouco sentido. Estruturas globais com valores constantes.

 

A realidade dos programas é mais simples: tem um arquivo de paises. Um de atletas, um de provas. Isso é lido e preenche as estruturas. Tem umas funções que o programa realiza, podem estar associadas a um menu. Tem uns relatórios, como os de classificação por modadlidade e país. Essas coisas.

 

Isso por exemplo

 

struct tp_provas{
char especialidade[15];
struct tp_data data_prova;
struct tp_participantes inscritos[15]; // 15 participantes inscritos
int podio[15]; // numero de inscrição de quem ficou em 1o, 2o, e 3o lugar
};

struct tp_provas provas_campeonato[5];

void registraprovas(){
    strcpy(provas_campeonato[0].especialidade,"crawl");
    strcpy(provas_campeonato[1].especialidade,"borboleta");
    strcpy(provas_campeonato[2].especialidade,"livre");
    strcpy(provas_campeonato[3].especialidade,"costa");
    strcpy(provas_campeonato[4].especialidade,"medley");
}

 

Não está nada bom. Só vai ter um trabalho do inferno escrevendo assim. 

 

Tem uma função que só escreve em um lugar? Pra que? Use parâmetros. Não retorne void. Retorne um status.

 

Se fosse só pelas constantes já podia ter escrito na declaração, já que é global.

 

Veja isso

 

   struct tp_provas provas[5] = 
   {
        [0].especialidade = "crawl",
        [1].especialidade = "borboleta",
        [2].especialidade = "livre",
        [3].especialidade = "costa",
        [4].especialidade = "medley"
   };
    

 

é a mesma coisa que sua função registraprovas(), por exemplo. Só que é muito mais simples de ler e já coloca os valores quando compila o programa, já que são constantes.

 

Não use nomes assim. Em C a convenção é separar por um '_' e usar registrar_provas(), se for o caso de uma função com um nome tão grande.

 

Seu programa sequer compila ainda: tem duas declarações de main().  Não compilou ao menos?

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!