Ir ao conteúdo
  • Cadastre-se

Matheus Carmo

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

3
  1. Código fonte do arquivo cabeçalho da biblioteca: #ifndef CALCULOS #define CALCULOS void ADfra(int x,int y,int x1, int y1); void SUBfra(int x,int y,int x1, int y1); void MULTfra(int x,int y,int x1, int y1); void DIVfra(int x,int y,int x1, int y1); void CLAfra(int x,int y); void EQUIfra(int x,int y,int x1, int y1); void POTfra(int x,int y,int e); void RADfra(int x,int y); #endif Código fonte do arquivo C #include "calculos.h" void ADfra(int x,int y,int x1,int y1){ //----------Adição de frações------------ // **CALCULA A SOMA DE 2 FRAÇÕES** int result[2]; //x-->Numerador y-->Denominador if(y==y1)//Se os denominadores forem iguais { result[0] = x+x1; result[1] = y; printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }else{// ... Diferentes result[1]=y*y1; result[0]=(((result[1]/y)*x)+((result[1]/y1)*x1)); printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); } }//----------------------------------------------------------------------------- void SUBfra(int x,int y,int x1, int y1){//---------Subtração de frações--------- // **CALCULA A DIFERENÇA DE 2 FRAÇÕES** int result[2]; //x-->Numerador y-->Denominador if(y==y1)//Se os denominadores forem iguais { result[0] = x-x1; result[1] = y; printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }else {// ... Diferentes result[1]=y*y1; result[0]=(((result[1]/y)*x)-((result[1]/y1)*x1)); printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); } }//----------------------------------------------------------------------------- void MULTfra(int x,int y,int x1, int y1){//----------Multiplicação-------------- // **CALCULA O PRODUTO DE 2 FRAÇÕES** int result[2]; //x-->Numerador y-->Denominador result[0] = x*x1; result[1] = y*y1; printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }//----------------------------------------------------------------------------- void DIVfra(int x,int y,int x1, int y1){//-----------Divisão de frações--------- // **CALCULA A DIVISÃO DE 2 FRAÇÕES** int result[2]; //x-->Numerador y-->Denominador result[0] = x*y1; result[1] = y*x1; printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }//----------------------------------------------------------------------------- void CLAfra(int x,int y){//-------------Classificação de Frações---------------- // **CLASSIFICA AS FUNÇÕES** int result; //x-->Numerador y-->Denominador float div; div = x/y; if(x<y){//Se o Numerador for menor que o Denominador... printf("%d/%d ---> Fracao propria\n",x,y); }else if(x>=y){//Se o Numerador for maior ou igual ao Denominador... printf("%d/%d ---> Fracao impropria\n",x,y); if(div*y==x){ printf("%d/%d ---> Fracao aparente\n",x,y); } } }//----------------------------------------------------------------------------- void EQUIfra(int x,int y,int x1, int y1){//---------Equivalencia de frações----- // **INFORMA SE 2 FUNÇÕES SÃO EQUIVALENTES** float div,div2; div = (x/y); div2 = (x1/y1); if(div==div2){ printf("Fracao %d/%d equivalente a %d/%d\n\n",x,y,x1,y1); }else{ printf("Fracoes %d/%d e %d/%d nao equivalentes\n\n",x,y,x1,y1); } }//----------------------------------------------------------------------------- void POTfra(int x,int y,int e){//------------------Potência de Frações---------- #include<math.h> // **CALCULA A POTÊNCIA DA FRAÇÃO** int result[2]; result[0]=pow(x,e); result[1]=pow(y,e); /*printf("Expoente: "); scanf("%f",&exp);*/ printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }//----------------------------------------------------------------------------- void RADfra(int x,int y){//-----------------------Radiciação de frações--------- #include<math.h> // **CALCULA A RAIZ QUADRADA DA FUNÇÃO** int result[2]; float rx = sqrt(x); float ry = sqrt(y); result[0]=rx; result[1]=ry; printf("Numerador: %d\nDenominador: %d\n\n",result[0],result[1]); }//----------------------------------------------------------------------------- Está aparecendo alguns Warnings, tipo: "Declaração implícita incompatível da função interna 'printf' " e não faço ideia como resolver... adicionado 2 minutos depois Só era necessário criar uma biblioteca funcional, o algoritmo utilizando ela para fazer cálculos é o usuário quem tem que criar...
  2. Certo... Vou tentar solucionar e disponibilizo o código quando finalizar.
  3. Eu queria era saber um jeito de simplificar o código, pois esse ficou com muitos <if else> Alguma ideia ?
  4. Estou desenvolvendo esse código, porém o código completo ficou muito extenso desse jeito; Muitas linhas me esperam, como proceder ?(Essa é só uma parte do código todo) #include<stdio.h> #include<math.h> int main(){ int res,res2,res3; float xsoma,x1soma; float ysoma,y1soma,nreal; float v[2],v1[2]; char nome[5],nome1[5]; printf("2 dimensoes ou 3: "); scanf("%d",&res); if(res==2){ printf("Quantos vetores ?(1 a 5) "); scanf("%d",&res2); if(res2==1) {//-----------------------------------------1------------------------- printf("Nome do Vetor: "); scanf("%s",&nome[0]); printf("Informe Vetor(x,y): "); scanf("%f,%f",&v[0],&v[1]); printf("Tamanho do Vetor %s: %f ",nome,sqrt(pow(v[0],2)+pow(v[1],2)) ); }else if(res2==2) {//----------------------------------------2-------------------------- printf("Nome do Vetor: "); scanf("%s",&nome[0]); printf("Informe Vetor(x,y): "); scanf("%f,%f",&v[0],&v[1]); printf("Nome do Vetor: "); scanf("%s",&nome1[0]); printf("Informe Vetor(x,y): "); scanf("%f,%f",&v1[0],&v1[1]); printf("Tamanho do Vetor %s: %f ",nome,sqrt(pow(v[0],2)+pow(v[1],2)) ); printf("\nTamanho do Vetor %s: %f ",nome1,sqrt(pow(v1[0],2)+pow(v1[1],2)) ); if((v[0]/v1[0])&&(v[1]/v1[1])==1){ printf("\nVetores Paralelos"); }else{ printf("\nVetores não Paralelos"); } printf("\nSomar(1) Subtrair(2) Multiplicar por numero real(3) Finalizar(4)"); scanf("%d",&res3); if(res3==1){ xsoma = v[0]+v1[0]; ysoma = v[1]+v1[1]; printf("Soma de todos os vetores->(%2.f,%2.f)",xsoma,ysoma); }else if(res3==2){ xsoma = v[0]-v1[0]; ysoma = v[1]-v1[1]; printf("Vetor(%2.f,%2.f)",xsoma,ysoma); }else if(res3==3){ printf("Multiplicar por "); scanf("%f",&nreal); xsoma = nreal*v[0], x1soma = nreal*v1[0]; ysoma = nreal*v[1], y1soma = nreal*v1[1]; printf("Vetor1(%2.f,%2.f) Vetor2(%2.f,%2.f)",xsoma,ysoma,x1soma,y1soma); } } } }
  5. Preciso construir uma biblioteca funcional de funções que façam uso das regras de operações com frações. As funções a serem construídas são as seguintes: • Adição de frações; // Me deem dicas de como implementar essas funções no Algoritmo em C, como fazer... • Subtração de frações; // Utilizar structs ou não?... Qualquer dica para me ajudar • Multiplicação de frações; // Lembrando que só preciso criar uma biblioteca funcional • Divisão de frações; • Classificação de frações; • Equivalência de frações; • Potenciação de frações; • Radiciação de frações.

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...