Ir para conteúdo
Fórum Script Brasil

finalbreak

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por finalbreak

  1. Olá amigos do fórum. Eu queria saber como faço para definir um nome para o executável gerado em C, porque geralmente é mostrado o nome do caminho onde ele se encontra. Andei pesquisando e não encontrei nada, então estou com essa duvida.

  2. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

    Seu código tem alguns erros voce viu o console apos a compilacão.

    Para armazenar vários valores em uma estrutura é necessário usar vetores e matrizes

    veja seu código abaixa utilizando matrizes e com erros corrigidos. Esta funcionando mas peço que você leia e entenda como foi feito se não nada vai te acrescentar.

    Att barão.

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #define SIZE 50 
    
    int controle = 0;//só para controle de cadastros
    
    typedef struct{
    char nome[SIZE][SIZE]; /*uma matriz de 50 x 50 */
    char endereco[SIZE][SIZE];
    int telefone[SIZE]; 
    int cpf[SIZE]; 
    int cdc[SIZE]; 
    int cdd[SIZE];
    
     
    } FUNCIONARIO;
     
    void fcadastro(FUNCIONARIO *cf){
    	int opcao;
    	int i=0;
    	
    	
    	
    do{	
    	system("cls");
    printf("INSIRA O NOME DO FUNCIONÁRIO: ");
    
    //fflush(stdin);use somente para limpar o buffer de saída
    
    scanf("%s", cf -> nome[i]);/*A funcao gets esta absoleta por causar overflow*/
    printf("INSIRA O ENDEREÇO DO FUNCIONÁRIO: ");
    
    //fflush(stdin); use somente para limpar o buffer de saída
    
    scanf("%s", cf -> endereco[i]);/*A funcao gets esta absoleta por causar overflow*/
    printf("INSIRA O TELEFONE DO FUNCIONÁRIO: ");
    
    scanf("%i", &cf -> telefone[i]);
    printf("INSIRA O CPF DO FUNCIONÁRIO: ");
    scanf("%i", &cf -> cpf[i]);
    printf("INSIRA O CÓDIGO DO CARGO: ");
    scanf("%i", &cf -> cdc[i]);
    printf("INSIRA O CÓDIGO DO DEPARTAMENTO: ");
    scanf("%i", &cf -> cdd[i]);
    
    i++;
    controle++;/*A cada cadastro soma +1 a variavel global controle assim vou saber quantos cadastro foram feitos vai facilitar a exibicao no for da funcao exibir*/
    
    
    printf("Press... (1) para novo cadastro, Outro valor para sair...\n\n");
    scanf("%d", &opcao);
    }while(opcao == 1);
    }
     
    void exbircf(FUNCIONARIO *cf){/*Passa como ponteiro tambem*/
    int i=0;	
    system("cls");	
    
    for(i=0; i <controle; i++){/*Exibi todos os cadastros realizados*/
    printf("NOME DO FUNCIONÁRIO: %s\n", cf->nome[i]);
    printf("ENDEREÇO DO FUNCIONÁRIO: %s\n", cf->endereco[i]);/*O especificador de formato %i É para inteiros mas a variável endereco é um vetor char[50]*/
    printf("TELEFONE DO FUNCIONÁRIO: %i\n", cf->telefone[i]);
    printf("CPF DO FUNCIONÁRIO: %i\n", cf->cpf[i]);
    printf("CÓDIGO DO CARGO: %i\n", cf->cdc[i]);
    printf("CÓDIGO DO DEPARTAMENTO: %i\n", cf->cdd[i]);
    
    printf("\n\n");
    }
    }
     
    int main(){
    setlocale(LC_ALL, "portuguese");
    
    FUNCIONARIO cfuncionario;
    
    fcadastro(&cfuncionario);
    
    exbircf(&cfuncionario);
    
    system("pause");
    return 0;
    } 
    

    Opa, deu certo. Me ajudou bastante aqui. Muito obrigado! :D

  3. Olá pessoal. Estou tendo problemas ao tentar guardar mais de uma informação dentro de uma struct que foi passada como referência. O código:

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    typedef struct{
    char nome[50];
    char endereco[50];
    int telefone;
    int cpf;
    int cdc;
    int cdd;
    } FUNCIONARIO;
    void fcadastro(FUNCIONARIO *cf){
    printf("INSIRA O NOME DO FUNCIONÁRIO: ");
    fflush(stdin);
    gets(cf -> nome);
    printf("INSIRA O ENDEREÇO DO FUNCIONÁRIO: ");
    fflush(stdin);
    gets(cf -> endereco);
    printf("INSIRA O TELEFONE DO FUNCIONÁRIO: ");
    scanf("%i", &cf -> telefone);
    printf("INSIRA O CPF DO FUNCIONÁRIO: ");
    scanf("%i", &cf -> cpf);
    printf("INSIRA O CÓDIGO DO CARGO: ");
    scanf("%i", &cf -> cdc);
    printf("INSIRA O CÓDIGO DO DEPARTAMENTO: ");
    scanf("%i", &cf -> cdd);
    }
    void exbircf(FUNCIONARIO cf){
    printf("NOME DO FUNCIONÁRIO: %s\n", cf.nome);
    printf("ENDEREÇO DO FUNCIONÁRIO: %i\n", cf.endereco);
    printf("TELEFONE DO FUNCIONÁRIO: %i\n", cf.telefone);
    printf("CPF DO FUNCIONÁRIO: %i\n", cf.cpf);
    printf("CÓDIGO DO CARGO: %i\n", cf.cdc);
    printf("CÓDIGO DO DEPARTAMENTO: %i\n", cf.cdd);
    }
    int main(){
    setlocale(LC_ALL, "portuguese");
    FUNCIONARIO cfuncionario;
    fcadastro(&cfuncionario);
    exbircf(cfuncionario);
    system("pause");
    return 0;
    }
    Queria saber como faço para armazenar vários dados dentro dessa estrutura, como num vetor de n elementos.
  4. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

    Tenta desta forma e posta o resultado.

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <string.h>
     
    int menu();
     
    struct cadastroa{
    char nome[50];
    char sexo[10];
    int  idade;
    };
     
    int main(){
    int e;
    int i = 0;
    int j = 0;
    setlocale(LC_ALL," ");
    struct cadastroa dados[60];
    do{
    printf("1 - Fazer cadastro de novo aluno\n");
    printf("2 - Mostrar alunos cadastrados..\n");
    printf("3 - Sair........................\n");
    printf("Opção: ");
    scanf("%i", &e);
    switch(e){
    case 1:{
    
    printf("Informe o nome completo do aluno: ");
    scanf("%s", dados[i].nome);
    
    while (getchar() != '\n');//Pegando todos caracteres do buffer, chegando no '\n'(enter) ele descarta o '\n' e sai do loop
    
    printf("Informe o sexo do aluno: ");
    scanf("%s", dados[i].sexo);
    
    while (getchar() != '\n');
    
    printf("Informe a idade do aluno: ");
    scanf("%i", &dados[i].idade);
    
    while (getchar() != '\n');
    
    i++;
    j++;
    break;
    }
    case 2:{
    for(i = 0; i < j; i++){
    printf("Aluno %i: %s\n", i + 1, dados[i].nome);
    }
    system("pause");
    break;
    }
    }
    } while(e != 3);
    system("pause");
    return 0;
    }
    

    Att

    Barão.

    Opa, funcionou aqui. Muito obrigado pela ajuda! :D

  5. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>



    Se possível posta o código do programa para facilitar.

    O código que fiz é maior, mas resumi ele pra mostrar a parte que está dando erro. Se você executar, cadastrar o nome acentuado e tal, e logo depois pedir para ele mostrar o nome cadastrado, ele vai mostrar com erro:
    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <string.h>
    int menu();
    struct cadastroa{
    char nome[50];
    char sexo[10];
    int idade;
    };
    int main(){
    int e;
    int i = 0;
    int j = 0;
    setlocale(LC_ALL,"portuguese");
    struct cadastroa dados[30];
    do{
    printf("1 - Fazer cadastro de novo aluno\n");
    printf("2 - Mostrar alunos cadastrados..\n");
    printf("3 - Sair........................\n");
    printf("Opção: ");
    scanf("%i", &e);
    switch(e){
    case 1:{
    printf("Informe o nome completo do aluno: ");
    fflush(stdin);
    gets(dados.nome);
    printf("Informe o sexo do aluno: ");
    fflush(stdin);
    gets(dados.sexo);
    printf("Informe a idade do aluno: ");
    scanf("%i", &dados.idade);
    i++;
    j++;
    break;
    }
    case 2:{
    for(i = 0; i < j; i++){
    printf("Aluno %i: %s\n", i + 1, dados.nome);
    }
    system("pause");
    break;
    }
    }
    } while(e != 3);
    system("pause");
    return 0;
    }
  6. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

    #include <stdio.h>
    #include <locale.h>
    
    int main(){
      setlocale(LC_ALL,""); 
      printf("joão\nJosé\n");
      
      getchar();
      return 0;
    }
    

    Então, o erro é quando informo ao programa para imprimir na tela os nomes que já foram cadastrados, daí se houver algum nome acentuado dá erro no caractere. Dá certo se o nome com acento estiver no printf, mas se estiver guardado em um vetor de n posições acontece o erro ao imprimi-lo.

  7. Bom dia, amigos! Estou desenvolvendo um programa em C que cadastra os dados de um aluno, a nota e por aí vai. Eu queria saber como faço para um nome acentuado ser mostrado corretamente na tela, pois usei a biblioteca <locale.h> para definir português como padrão, mas ainda sim o caractere acentuado não é mostrado, isso acontece quando tento mostrar a lista de alunos já cadastrados, e caso algum nome possua acento, bem, o erro acontece.

    igls1y.jpg

×
×
  • Criar Novo...