SORU: C programlama dilini kullanarak direnç hesaplayan programı yazınız.

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main (void)
{
    char ad[13][13]={"siyah","kahverengi","kirmizi","turuncu","sari","yesil","mavi","mor","gri","beyaz","altin","gumus","renksiz"};
    float tablo[7][13]={
      1,2,3,4,5,6,7,8,9,10,11,12,13,
      0.0,1,2,3,4,5,6,7,8,9,0,0,0,
      0.0,1,2,3,4,5,6,7,8,9,0,0,0,
      0,1,2,3,4,5,6,7,8,9,0,0,0,
      1,10,100,1000,10000,100000,1000000,10000000,0,0,0.1,0.01,0,
      0,1,2,0,0,0.5,0.25,0.10,0.05,0,5,10,20,
      0,100,50,15,25,0,0,0,0,0,0,0,0};
      int band;
      bool r1=0;
      while(! r1)
        {
        printf(" Lutfen hesaplama yapmak istediginiz \ndirencin kac bandli oldugunu giriniz...");
        scanf("%d", &band);
        if ( 3< band && band<7 )
          {
           printf("\n %i bandli bir direnc icin islem yapacagiz", band);
           r1=1;
           break;
          }
        else
           {
             printf("\n Girdiginiz deger 4,5,6'dan farkli oldugundan hesaplanmamistir.");  
             r1=0;
            }
            r1=0;
        }  
            
      printf("\n Sirasiyla bandlarin renglerini asagida yazilan kisaltmalara gore giriniz...");
      puts ("\n \n ----------- Kisaltmalar ------------ \n " );
      puts(" Siyah   -->  1 , Kahverengi -->  2");
      puts(" Kirmizi -->  3 , Turuncu    -->  4");
      puts(" Sari    -->  5 , Yesil      -->  6");
      puts(" Mavi    -->  7 , Mor        -->  8");
      puts(" Gri     -->  9 , Beyaz      --> 10");
      puts(" Altin   --> 11 , Gumus      --> 12");
      puts(" Renksiz --> 13 "); 
   
   int i=0,a=0,giris;
   bool r2=1; 
   float degerler[]={},DirencDegeri, toleransi;
   float k1, k2,k3, carpan, tolerans, sicaklik;
   char kcts[][19]={"1.katsayi","2.katsayi","3.katsayi","Carpan D.","Tolerans ","Sicaklik katsayi"};
   while(r2)
   {
   while(i!=band)
     { 
       i++;             
       printf("\n\n Lutfen %i.rengi giriniz...", i);
       scanf("%d", &giris); 
       
       if ( 0<giris && giris<14)    
          {  
            if(band==4 && i==3)a=1;                                   
                
           printf(" %i.renk %s, bu rengin %s degeri %1.2f .",i, ad[giris-1],kcts[i-1+a], tablo[i+a][giris-1]);    
           degerler[i-1]=tablo[i+a][giris-1];            
            }    
            
        else
              {
               i--;                
               printf("Hatali bir deger girdiniz... yeniden deneyin. ");
               r2=1;        
              }   
              r2=0;
      }
      
   }
      k1=degerler[0];
      k2=degerler[1];
      k3=degerler[2];
      carpan=degerler[3-a];
      tolerans=degerler[4-a];
      sicaklik=degerler[5-a];
        switch(band)
           {
          case 4:
                {       
                  DirencDegeri = (k1*10+k2*1)*carpan;
                  toleransi = (DirencDegeri*tolerans)/100;
                  printf("\n\n\tDirenciniz %1.3f ohm olup \n\tToleransi +- %%%f 'dir",DirencDegeri,toleransi );
                   break; 
                    }
         default:
                 {
                     DirencDegeri = (k1*100+k2*10+k3)*carpan;
                     toleransi = (DirencDegeri*tolerans)/100;
                    printf("\n\n\tDirenciniz %1.3f ohm olup \n\tToleransi +- %%%f 'dir",DirencDegeri,toleransi );
                    if(band==6) printf("\n\tAyrica sicaklik katsayisi ise %f ppm 'dir",sicaklik);
                    break;
                     }
      }   
                
system ("pause");
    
return 0;}      

 Bu örnek mus19f1a rumuzlu kullanıcımız tarafından gönderilmiştir

Yorum yapın