-
Total de itens
8 -
Registro em
-
Última visita
Posts postados por finalbreak
-
-
<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
-
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. -
<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
-
<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;} -
<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.
-
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.
-
Olá, amigos. Estou estudando matriz em linguagem C, e estava tentando obter os números primos presentes em uma matriz 3x3, mas não estou conseguindo. Alguém poderia me ajudar dando a lógica de como obter primos numa matriz? Agradeço desde já.
Nome do executável
em C, C++
Postado
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.