Ir ao conteúdo
  • Cadastre-se

1freakday

Membro Pleno
  • Posts

    671
  • Cadastrado em

  • Última visita

Tudo que 1freakday postou

  1. @Liraaah Seria bom se você colocar seu código, não fazemos exercícios, apenas reforçamos e ajudamos quem posta os códigos. Mas como você esta começando, segue alguns tutoriais: https://sistemas.riopomba.ifsudestemg.edu.br/dcc/materiais/23854759_Apostila Linguagem C.pdf <- introdução http://www.univasf.edu.br/~criston.souza/algoritmos/arquivos/aula08.2.pdf < - matrizes A ideia e simples, basta declarar as matrizes x,y e z por 5x2. Depois use uma função para adicionar os valores nela. Pedindo ao usuário com scanf. Por fim, use a matriz Z para armazenar a media de cada índice de X+Y/2.
  2. Aconselho a usar o protótipo da função " void palavraA(void); " em cima de int main. Na opção 1 você apenas chama a função palavraA();.
  3. @GoriNikki Esse tópico é de 2012. Mas acredito que basta usar o código para executar os 2 programas, primeiro um depois o outro.
  4. @Émylle Andressa Seu código precisa de uma organizada, tente focar nas etapas e como simplifica-las. Um código organizado e limpo sempre vai ser bem reconhecido. Enfim, segue algumas etapas para você começar: 1 - Determinar como vai ser armazenado/cadastrado/acessado: a - cursos b - propostas Dica: não misture struct's com vetores, escolha apenas um. Já que você apenas precisa cadastrar cursos, talvez até remover. 2 - Criar 'menu principal' em duas fases: a - Cadastro de Cursos b - Cadastro de Propostas 3 - Criar função para cadastrar cursos. Dica: Use struct, pois você poderá acrescentar mais informações sobre o curso. 4 - Criar função para cadastrar propostas. Dica: Primeiro peça ao usuário a quantidade de propostas, depois use do...while. Se você seguir essas etapas você vai conseguir entender melhor como proceder.
  5. Você apenas trocou %s ( string ) por %c ( char ), meio difícil de confundir mas acontece, portanto, troque: scanf("%c", fita); printf("Sequência digitada : %c", fita); por scanf("%s", fita); printf("Sequência digitada : %s", fita);
  6. @sN4ke Também remova & de: printf("%s", &ch); Caso não dê em nada, poste a função convertlin e convertcol...
  7. Oke, eu acredito que seja melhor usa o fscanf assim: char ch[2]; fscanf(arquivo,"%s", ch);
  8. @sN4ke Não se preocupe em incomodar, estou aqui voluntariamente, porém demoro um pouco para responder :S, enfim... Você sabe se essas linhas: fscanf(arquivo,"%d ",&narm); fgets(arm,500,arquivo); estão recebendo corretamente a quantidade e as armadilhas?...
  9. 1freakday

    C Programa pulando o Gets

    @Willgo gets é instavel, tente usar fgets(char *, int, stdin); Ex.: char buffer[500]; fgets(buffer,500,stdin);
  10. @sN4ke Pois é, portanto e sempre bom identificar o final da string monstro usando \0 depois de usar o fgets. Assim o strlen conseguirá identificar o final, e nem precisara encontrar \n.
  11. @sN4ke Esse código: (int)monstro-48 só serve de 0 a 9, então antes do switch(c) verifique com um printf a letra e decimal do argumento c, para saber quais letras estão sendo usadas. Em (int)monstro, troque por: lin = (int)(monstro[i]-48); Questão de prioridade.
  12. @Joice Azevedo Basta declarar uma variável para cada uma dessas situações, total de mão de obra e desconto, e toda vez que um serviço for calculado você incrementa tais variáveis.
  13. @sN4ke Tente usar a função converlinM apenas para receber um char. Usando esse código que postei acima você apenas precisa filtrar/retornar o valor da linha e coluna, ex: //na leitura use: i = 0; puts(monstro); while(monstro[i]!='\n' || strlen(monstro) < i){ lin = (int)monstro[i]-48; //'2'C < pega o 2 - se o 1º for maior que 9 ele buga... col = convertcolM(monstro[i+1]); //filtra coluna, já que é letra tabuleiro[lin][col].classe = inimigo.classe; i+=2; //pula linha em branco - 2C<pula>2B } //na função de retornar a coluna - ALTERE OS CASES DO SEU JEITO int convertcolM(char c){ int saida = -1; switch(c){ case 'A': saida = 1; break; //coluna A retorna 1 case 'B': saida = 2; break; //coluna B retorna 2 case 'C': saida = 3; break; //coluna C retorna 3... //nao encontrado default: break; } //saida < 0 se não encontrou a COL do monstro return saida; }
  14. @sN4ke Uma pergunta, como você sabe que essas linhas: while(monstro[i]!='\n'){ lin = convertlinM(monstro); col = convertcolM(monstro); tabuleiro[lin][col].classe = inimigo.classe; puts(monstro); i++; } estão funcionando logicamente? Já que você sempre envia a string monstro para converter mas não identifica o índice, então já invalida o resto do código. O correto seria: i = 0; puts(monstro); while(monstro[i]!='\n' || strlen(monstro) < i){ lin = convertlinM(monstro[i]); col = convertcolM(monstro[i+1]); tabuleiro[lin][col].classe = inimigo.classe; i+=2;//pula linha em branco } Você também sempre vai imprimir a string monstro usando puts(monstro), use fora do loop, ou use putc.
  15. @Jemima Fonseca Passos Você ainda precisa completar algumas partes do código, outras você precisa analisar a usabilidade e a sintaxe, assim como a lógica, segue: 1 - Como a variável FILE *f em main não possui nenhuma utilidade para as funções, não precisa enviar ela para as funções, então deixe apenas as funções sem argumentos. Ex.: void cadastrar(); Declare a variável FILE *f dentro das funções. 2 - Para as funções consultnome,email,etc., você precisa entender a estrutura usada no salvamento. Assim você pode usar fscanf nas linhas onde você encontra os dados, em consultnome() você precisa receber os dados aonde tem "Nome: xxxxx", e usando: fscanf(f, "%s %s", buffer, p.nome); lembrando de que você precisa identificar e contar as linhas aonde tem apenas nome, email, etc. Dica: Observe como é salvo os dados no arquivo.txt e numere as linhas, use um int como contador e feof para trocar de linha.
  16. @fulldidox Quando for fazer saque registre os dados em uma struct, como um histórico, depois é só listar na função de estrato.
  17. 1freakday

    C++ data e hora no c++

    @pequenozed Depende um pouco do sistema, pois algumas bibliotecas variam quando estamos no windows e linux, segue duas versões: //C++ - Windows #include <iostream> #include <windows.h> using namespace std; int main(){ SYSTEMTIME tm; GetSystemTime(&tm); cout << "Dia: " << tm.wDay << endl; cout << "Mes: " << tm.wMonth << endl; cout << "Ano: " << tm.wYear << endl; } //C++ - Linux #include <time.h> #include <iostream> using namespace std; int main(){ time_t hj = time(NULL); struct tm *tmk = gmtime(&hj); cout << "Dia: " << tmk->tm_mday << endl; cout << "Mes: " << tmk->tm_mon+1 << endl; cout << "Ano: " << tmk->tm_year << endl; return 0; }
  18. Você esqueceu de usar & para int em scanf: errado scanf("%d", cad_client[cont].emp_pes); certo scanf("%d", &cad_client[cont].emp_pes);
  19. @ibiiza O printf usa apenas variaveis para incrementar a saida, e separa elas com virgula. ex: printf("Valor do imposto: %.2f \n", imposto); Observe que %.2f é derivado do float/double, e ele será o local da string onde <imposto> vai aparecer na tela. De uma aprofundada no assunto, pesquise sobre printf!
  20. @pequenozed Bem vindo, não sei quantos anos você tem para começar nessa área, mas não desista, segue alguns tutoriais para você: Introdução a C++ : http://sweet.ua.pt/luispovoa/C/apostilaC.pdf Primeiros Passos: http://www.inf.pucrs.br/flash/cbp/algoprogC.pdf Biblioteca Time com Classes: http://homepages.dcc.ufmg.br/~mtov/pmslides/1sp/cpp-04-hierarquia.pdf Uma dica: Não deixe de estudar C. Keywords em inglês: cplusplus, time_t, time lib c. Site com funções explicadas: http://www.cplusplus.com/reference/
  21. @ibiiza Você ta confundindo cout com printf, apenas cout usa <<
  22. @Joice Azevedo Se você usar int em um calculo de float, o resultado será arredondado, sem resto. Ou você converte int qnt_funcionarios; em float: valorhora = (float)qnt_funcionarios * 100; ou você declara como float: float qnt_funcionarios;
  23. Eu tentei e tentei com esse teu código mas esse fgets me ferrou, então tive que fazer uma função para limpar o buffer e ler a string, segue o código:
  24. @Junior Anzolin A leitura continua igual, eu testei aqui e ele salvou e carregou normalmente. Usar printf não adianta, pois é um arquivo binário. fwrite(&clientes[i], sizeof(T_ficha_cliente), 1, arq); fwrite(&vendedores[i], sizeof(T_ficha_vendedores), 1, arq); fwrite(&produtos[i], sizeof(T_ficha_produtos), 1, arq);
  25. Perdão, use: fwrite(&vendedores[i], sizeof(T_ficha_vendedores), 1, arq); Faça o mesmo com clientes e produtos.

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!