Ir para conteúdo
Fórum Script Brasil

good guy

Membros
  • Total de itens

    19
  • Registro em

  • Última visita

Sobre good guy

good guy's Achievements

0

Reputação

  1. Olá Luis, Em um outro post já respondi com um código semelhante ao que você quer. Mas vou repetir aqui: #include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int DiaNasc, MesNasc, AnoNasc, DiaAtual, MesAtual, AnoAtual, Anos, Meses, Dias; printf("Digite a data do nascimento \n"); // O formato é dd mm yyyy . Não utilize a barra invertida !!! scanf("%d %d %d",&DiaNasc, &MesNasc, &AnoNasc); fflush(stdin); printf("Digite a data de hoje: \n"); // // O formato é dd mm yyyy . Não utilize a barra invertida !!! scanf("%d %d %d", &DiaAtual,&MesAtual, &AnoAtual); fflush(stdin); Anos = AnoAtual - AnoNasc; Meses= MesAtual- MesNasc; Dias = DiaAtual - DiaNasc; if ((Anos<0) || ((Anos==0) && (Meses<0)) || ((Anos==0) && (Meses ==0) && (Dias<0))) printf("Data de nascimento invalida !"); else { if (Meses < 0) { Anos = Anos -1; Meses = Meses + 12; } if (Dias < 0) { if (Meses > 0) Meses = Meses - 1; else Anos = Anos -1; switch (MesNasc) { case 2: { if (AnoAtual % 4 == 0) Dias = Dias + 29; else Dias = Dias + 28; break; } case 4:case 6:case 9:case 11: { Dias = Dias + 30; break; } default: Dias = Dias + 31; }; } printf("Idade = %d ano(s), %d mes(es) e %d dia(s) \n\n", Anos, Meses, Dias); getch(); system("PAUSE"); } } Falta acrescentar o método que calcula em semanas, mas isso não é difícil. você pode resolver ...
  2. Olá Steel, você já verificou que ao clicar com o botão direito no arquivo compilado, você pode ir em propriedades => Programa=> Executar=>Maximizado e também na aba Tela => Uso=> Tela Inteira e assim poderá atenderá o que você quer?
  3. Conheço um código do Jaime Evaristo que calcula sem problemas: #include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int DiaNasc, MesNasc, AnoNasc, DiaAtual, MesAtual, AnoAtual, Anos, Meses, Dias; printf("Digite a data do nascimento \n"); // O formato é dd mm yyyy . Não utilize a barra invertida !!! scanf("%d %d %d",&DiaNasc, &MesNasc, &AnoNasc); fflush(stdin); printf("Digite a data de hoje: \n"); // // O formato é dd mm yyyy . Não utilize a barra invertida !!! scanf("%d %d %d", &DiaAtual,&MesAtual, &AnoAtual); fflush(stdin); Anos = AnoAtual - AnoNasc; Meses= MesAtual- MesNasc; Dias = DiaAtual - DiaNasc; if ((Anos<0) || ((Anos==0) && (Meses<0)) || ((Anos==0) && (Meses ==0) && (Dias<0))) printf("Data de nascimento invalida !"); else { if (Meses < 0) { Anos = Anos -1; Meses = Meses + 12; } if (Dias < 0) { if (Meses > 0) Meses = Meses - 1; else Anos = Anos -1; switch (MesNasc) { case 2: { if (AnoAtual % 4 == 0) Dias = Dias + 29; else Dias = Dias + 28; break; } case 4:case 6:case 9:case 11: { Dias = Dias + 30; break; } default: Dias = Dias + 31; }; } printf("Idade = %d ano(s), %d mes(es) e %d dia(s) \n\n", Anos, Meses, Dias); getch(); system("PAUSE"); } }
  4. Olá, estude este código e veja se ajuda: struct dado aluno[2]; int i,j; float aux,soma,media; clrscr(); for(i=0;i<2;i++){ printf("\n\Digite o nome do %d§ aluno: ",i+1); gets(aluno.nome); for(j=0;j<4;j++){ printf("Digite o valor da %d¦ nota do aluno:",j+1); scanf("%f",&aux); aluno.nota[j]=aux; fflush(stdin); } } Minha sugestão : ...... for(j=0;j<50;j++){ printf("Digite a disciplina do aluno:"); scanf("%s",&nomed); aluno.disciplina[j]=nomed; fflush(stdin); }
  5. Ola ovelha, Retire o cont_c referente a essas variáveis nas printf e substitua pelas nova variáveis (codigo, modelo[30], marca[30], preço. Abaixo de scanf coloque fflush(stdin); Tire o cont_c e cont_m. A formatação não é %u, mas: %d , codigo %s , modelo[50] %s , marca[50] %.2f , preço // tire a cedilha e coloque c Defina uma constante k: #define const float k = (0.30 * preço) + preço Nas últimas linhas do código ficará assim: printf("preço: %.2f \n", func[ i ].k);
  6. Olá Ovelha, Crie duas constantes float assim: float percentual = (p / 100.0); // x% constante percentual float k = percentual+ 0.3*valor;//constante k p é a variável no lugar de idade. valor é a variável no lugar do nome. Ex.: p==5; O resultado seria assim: printf("O resultado e : %f ", k); Veja bem refaça o programa para atender a seu gosto. Sugestão: Troque funcionario por Calculo, nome por float valor e idade por float p e mantenha n como o número de iterações.
  7. Olá ovelha, Eis um exemplo simples tirado da internet pelo Google: /* EXEMPLO BASICO DE STRUCT EM C DESENVOLVIDO POR MARCOS VINICIUS EMAIL: MARCOS.VINICIUS.SECURITY@GMAIL.COM */ #include <stdio.h> #include <stdlib.h> struct funcionario { char nome[50]; int idade; }; main () { struct funcionario func[50]; int i = 0; //int n; //variavel "n" de numero de iterações sugerida por mim /*ATENÇÃO ovelha : para variar o numero de iterações faça assim: printf("Digite o numero de funcionarios a cadastrar: "); scanf("%d",&n); fflush(stdin); for (i=1;i<n;i++)*/ for (i=1;i<3;i++) { printf("\nNome do %uo Funcionario: ", i); scanf("%s", &func[ i ].nome); printf("Idade do %uo Funcionario: ", i); scanf("%u", &func[ i ].idade); }; system("clear"); /*ou system("cls"); Limpa a tela acima e emite o relatório abaixo. Se clear não funcionar use o cls. Dica sugerida por mim*/ //for (i=1;i<n;i++) //variavel "n" de numero de iterações sugerida por mim for (i=1; i<3; i++) { printf("-----------------------------------\n"); printf("Nome do %uo Funcionario: %s ", i, &func[ i ].nome); printf("\nIdade do %uo Funcionario: %u \n", i, func[ i ].idade); printf("-----------------------------------\n"); printf("\n"); }; system("PAUSE"); //Acrescentado por mim. Conclue o programa pedindo para pressionar uma tecla return 0; }
  8. good guy

    Programa em C

    Olá Rodrigo, Para trabalhar com arquivos textuais, você precisa aprender a declarar um ponteiro para o tipo FILE. Ex.: FILE *arq; arq = fopen("alunos.txt", "r"); /*r abre um arquivo existente para leitura de dados; se o arquivo não existir irá ocorrer um erro.*/
  9. Limpe a memória utilizando fflush(stdin); abaixo da função scanf. Quando há recursividade, isto é, retorno ao início do programa após retornar um resultado, pode haver acúmulo de dados na memória e gerar erros no novo cálculo.
  10. good guy

    Emitir Relatório

    Bom dia, Estou tentando editar este código para emitir um relatório de valores fornecidos em um looping quando falta valor para realizar combinação com valor pago ou quando ultrapassa o valor pago. O programa emite sem problema um relatório quando a soma de valores fornecidos bate com o valor pago. É possível? #include <iostream> #include <stdio.h> #include <conio.h> /* Name: Combinação de Valores de Ordem Bancária Copyright: 2010 Author: Eduardo Vieira Machado Date: 23/07/10 16:00 Description: Uso de looping para calcular e comparar valores */ int main(void) { int i,n,p=0; float Med; //vetor de valores das medições //float *Med= new float[n]; char resp; float soma=0; float valorpago; system("cls"); //limpa a tela acima printf("***********************************************************************\n"); printf(" COMBINACAO DE VALORES DE ORDEM BANCARIA\n\n"); printf("***********************************************************************\n\n\n"); printf("Separe por ponto as casas decimais\n\n"); printf("\n\n\Digite o valor pago: "); scanf("%f",&valorpago); fflush(stdin); printf("\n\nDigite o numero de medicoes a somar: "); scanf("%d",&n); fflush(stdin); for (i = 0;i<n;i++) //gera um looping para inserir valores em sequência { printf("\nDigite o %2do. valor: ",i+1 ); scanf("%f",&Med);//scanf("%f",&Med); fflush(stdin); soma = soma + Med; //soma a cada looping os valores que são inseridos printf("\nTotal: %.2f\n",soma); fflush(stdin); { if (soma==valorpago){ printf("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n"); printf("VALOR ENCONTRADO. BATE COM VALOR PAGO. BAIXE OS DEBITOS !!!\n\n"); printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n"); system("PAUSE"); system("cls"); //limpa a tela acima //Relatório de valores fornecidos e aparece normalmente printf("\n\n\nxxxxxxxxxx RELACAO DE VALORES FORNECIDOS xxxxxxxxxxxxxxx"); printf("\n\nValor Pago: %.2f \t\n\nQtde de Valores: %d\t\n\nSoma Calculada: %.2f\n ", valorpago, n, soma); for (i=0;i<n;i++) //Lista todos os valores do cálculo se a comparação tem sucesso { printf("\n\n %d.o Valor Fornecido: %.2f ",i+1,Med); } printf("\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); break; } else if (soma<valorpago){ printf("\n==>Falta: %.2f\n",valorpago-soma); fflush(stdin); continue; system("PAUSE"); system("cls"); //limpa a tela acima //Relatório de valores fornecidos. MAS não aparece printf("\n\n\nxxxxxxxxxx RELACAO DE VALORES FORNECIDOS xxxxxxxxxxxxxxx"); printf("\n\nValor Pago: %.2f \t\n\nQtde de Valores: %d\t\n\nSoma Calculada: %.2f\n ", valorpago, n, soma); for (i=0;i<n;i++) //Lista todos os valores do cálculo se a comparação tem sucesso { printf("\n\n %d.o Valor Fornecido: %.2f ",i+1,Med); } printf("\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); break; } else{ printf("\n\n==>Ultrapassou: %.2f\n",soma-valorpago); fflush(stdin); continue; system("PAUSE"); system("cls"); //limpa a tela acima //Relatório de valores fornecidos. MAS não aparece printf("\n\n\nxxxxxxxxxx RELACAO DE VALORES FORNECIDOS xxxxxxxxxxxxxxx"); printf("\n\nValor Pago: %.2f \t\n\nQtde de Valores: %d\t\n\nSoma Calculada: %.2f\n ", valorpago, n, soma); for (i=0;i<n;i++) //Lista todos os valores do cálculo { printf("\n\n %d.o Valor Fornecido: %.2f ",i+1,Med); } printf("\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); break; } getch(); } } printf("\n\nFim do Programa..."); getch(); }
  11. Bem pessoal, Em meu último tópico postado consegui resolver meu problema de compilação, mas agora surgiu um outro, como liberar a memória em meus programas de cálculo. Aprendi a usar fflush(stdin); após scanf, mas mesmo assim quando meu programa se reinicia ou após um looping empregado para reiniciar resíduos do cálculo anterior voltam na efetivação do cálculo. Por exemplo: soma= soma + valor; O total desta soma utilizando este vetor volta ao reiniciar o programa e a soma se repetir. Algum amigo pode ajudar?
  12. Dei uma melhorada no programa e ficou assim: códigos aqui #include <iostream> #include <stdio.h> #include <conio.h> /* Name: Combinação de Valores de Ordem Bancária Copyright: 2010 Author: Eduardo Vieira Machado Date: 23/07/10 16:00 Description: Uso de looping para calcular e comparar valores */ int main(void) { int i,n,p=0; float Med[i]; //vetor de valores das medições //float *Med= new float[n]; char resp; float soma=0; float valorpago; system("cls"); //limpa a tela acima printf("***********************************************************************\n"); printf(" COMBINACAO DE VALORES DE ORDEM BANCARIA\n\n"); printf("***********************************************************************\n\n\n"); printf("Separe por ponto as casas decimais\n\n"); printf("\n\n\Digite o valor pago: "); scanf("%f",&valorpago); fflush(stdin); printf("\n\nDigite o numero de medicoes a somar: "); scanf("%d",&n); fflush(stdin); for (i = 0;i<n;i++) //gera um looping para inserir valores em sequência { printf("\nDigite o %2do. valor: ",i+1 ); scanf("%f",&Med[i]);//scanf("%f",&Med); fflush(stdin); soma = soma + Med[i]; //soma a cada looping os valores que são inseridos printf("\nTotal: %.2f\n",soma); fflush(stdin); { if (soma==valorpago){ printf("\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n"); printf("VALOR ENCONTRADO. BATE COM VALOR PAGO. BAIXE OS DEBITOS !!!\n\n"); printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n"); system("PAUSE"); system("cls"); //limpa a tela acima printf("\n\n\nxxxxxxxxxx RELACAO DE VALORES FORNECIDOS xxxxxxxxxxxxxxx"); printf("\n\nValor Pago: %.2f \t\n\nQtde de Valores: %d\t\n\nSoma Calculada: %.2f\n ", valorpago, n, soma); for (i=0;i<n;i++) //Lista todos os valores do cálculo se a comparação tem sucesso { printf("\n\n %d.o Valor Fornecido: %.2f ",i+1,Med[i]); } printf("\n\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); break; } else if (soma<valorpago){ printf("\n==>Falta: %.2f\n",valorpago-soma); continue; } else{ printf("\n\n==>Ultrapassou: %.2f\n",soma-valorpago); continue; } getch(); } } printf("\n\nFim do Programa..."); getch(); } OK Pessoal, o programa está funcionando perfeitamente !!!
  13. Boa observação Jonathan , Misturei as bolas aqui porque também programo em Java e VB.Net que utilizam esta diretiva de inclusão de bibliotecas. Obrigado também Ronaldo. Mas NÃO está ainda imprimindo a mensagem somente quando a condição é satisfeita ou imprime a mensagem mesmo não satisfeita a condição ao final das iterações. Mas melhorou um pouco, pois na primeira compilação estava imprimindo a mensagem a cada iteração. #include <stdio.h> #include <conio.h> int main() { int i,n; //float Med[i]; float *Med= new float[n]; float soma=0; float valorpago; printf("Digite o valor pago: "); scanf("%f",&valorpago); printf("Digite o numero de medicoes a somar: "); scanf("%d",&n); for (i = 1;i<=n;i++) { printf("Digite um valor: "); scanf("%f",&Med[i]); fflush(stdin); soma = soma + Med[i]; printf("Total: %.2f\n\n",soma); } if (soma = valorpago) { printf("VALOR ENCONTRADO. FAVOR BAIXAR DEBITO"); } printf("\n"); getch(); }
  14. Oi pessoal, tenho andado um pouco afastado do estudo de C/C++. Surgiu um probleminha em meu serviço e eu sugeri a um colega que poderia fazer um programinha em C para resolver o problema. Só que não consigo detectar rapidinho um probleminha de compilação em meu código abaixo. Alguém pode ajudar? #import <stdio.h> #import <conio.h> int main() { int i,n; float Med[i]; float soma=0; float valorpago; printf("Digite o valor pago: "); scanf("%f",&valorpago); printf("Digite o numero de medicoes a somar: "); scanf("%d",&n); for (i = 1;i<n;i++) { printf("Digite um valor: "); scanf("%f",&Med[i]); fflush(stdin); soma = soma + Med[i]; printf("Total: %.2f\n\n",soma); } if (soma = valorpago) { printf("VALOR ENCONTRADO. FAVOR BAIXAR DEBITO"); } printf("\n"); getch(); }
  15. good guy

    Cor de fundo

    Bom dia amigos, Quero agradecer ao Dr. Mahala, Kassi e quitZaummm que contribuíram com as informações sobre como alterar a cor de fundo no ambiente Dev/C++. Pareceu-me mais prático utilizar a biblioteca conio atualizada baixada do link fornecido pelo Dr. Mahala, sem desmerecer o esforço dos demais amigos. Só aconteceu um pequeno inconveniente Dr. Mahala, a alteração da cor só envolve o ambiente até o início da primeira participação do usuário ao imprimir dados na tela e não em todo o ambiente visualizado pelo usuário. O que pode ser corrigido aqui? Os outros códigos fornecidos não funcionaram a contento. Muito obrigado a todos !!!
×
×
  • Criar Novo...