Paralel portun kullan�m� Verilen de�erleri s�ralamak Santigrad'dan Fahrenheit'e �evirme
Fonksiyonun girilen t de�eri i�in ald��� de�eri hesaplama Vergi iadesini hesapla
�rnek: Paralel portun kullan�m�/* PC deki paralel porta eri�im
oku : paralel portu okur.
( 4-bit , bi-directiona, EPP, ECP )
yaz : paralel port data u�lar�na bilgi g�nderir
oku_yaz : durum u�lar�ndan okudu�unu veri u�lar�na g�nderir
*/
#include <stdio.h>
#include <dos.h>
#include <conio.h>
typedef unsigned word;
void binary_yaz(word);
void oku(void);
void yaz(void);
void oku_yaz(void);
word pdata=0x378;
word pstat=0x379;
word bout, bin;
char c;
main()
{
do {
clrscr();
printf("1 - Oku\n");
printf("2 - Yaz\n");
printf("3 - Okudu�unu Yaz\n");
printf("4 - ��k\n");
c = getch();
switch(c) {
case '1' : oku(); break;
case '2' : yaz(); break;
case '3' : oku_yaz(); break;
case '4' : exit(0);
}
}
while (1);
}
void yaz(void)
{
clrscr();
printf("G�nderilecek veri :");
scanf("%d", &bout);
binary_yaz(bout); printf("\n");
outport(pdata, bout);
c = getch();
}
void oku(void)
{
clrscr();
do {
bin = inportb(pstat);
binary_yaz(bin);
printf(" %d\n", bin);
c = getch();
}
while (c != 'q');
}
void oku_yaz(void)
{
clrscr();
do {
bin = inportb(pstat);
gotoxy(1,8) ; printf("Okunan = ");
binary_yaz(bin);
outport(pdata, bin);
gotoxy(1,9) ; printf("Yaz�lan = ");
binary_yaz(bin);
printf(" %d\n", bin);
c = getch();
}
while (c != 'q');
}
void binary_yaz(word x)
{
word i;
word m;
m = 0x8000;
for (i = 0; i<16; i++) {
if (x & m)
printf("1");
else
printf("0");
m = m >> 1;
}
printf(" ");
�rnek:Verilen de�erleri s�ralamak
{
int i,n,t;
int a[100];
printf(" Rakamlar giriniz - (bitirmek i�in Q yaz�n) ");
n=0;
while (scanf("%d",&t)!=0)
a[n++]=t;
sortn(a,n);
for (i=0;i<n;i++)
printf(" %d",a[i]);
}
int x[]; /* 'selection sort' */
int nx;
{
int i,j,pick;
for (i=0 ; i < (nx-1) ; i++)
{
pick = i;
for(j=i+1 ; j<nx; j++)
{
if (x[j]<x[pick])
pick=j;
}
swap( &x[pick], &x[i]);
}
}
int *p1 , *p2;
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
main()
{
int count; /* for degiskeni
*/
int fahr; /*
fahrenheit degerini tutar */
int cen;
/*
Santigrat degerini tutar */
printf("Santigrad -> Fahrenheit karsilik tablosu\n\n");
for (count=-2;count<=12;count=count+1)
{
cen = 10 * count;
fahr = 32 + (cen * 9) / 5;
printf(" C = %4d F =
%4d ",cen,fahr);
if (cen == 0)
printf(" Suyun donma noktasi");
if (cen == 100)
printf(" Suyun kaynama noktasi");
printf("\n");
}
}
�rnek : Fonksiyonun girilen t de�eri i�in ald��� de�eri hesaplay�p yazan program.
|
main() {
float y, x;
scanf(�%f�, &x);
if (x > -1 &&
x<2)
y = 2/3 * (x + 1);
else
if (x>2 && x<=3)
y = 2;
else
y = 0; } |
�rnek : Vergi iadesini hesaplayan program (elseif yap�s�)
(0-60 bin : %10, 60-120 bin : %,120-200 bin : %12,>200 bin : %5)
{
float fat_top, vergi_iade;
printf("Fatura toplamlar�n� giriniz ");
scanf("%f", &fat_top);
if (fat_top < 60000)
vergi_iade = fat_top * 0.10;
else if (fat_top < 120000)
vergi_iade = 6000 + (fat_top - 60000) * 0.20;
else if(fat_top < 200000)
vergi_iade = 18000 + (fat_top - 120000) * 0.12;
else
vergi_iade = 27600 + (fat_top - 200000) * 0.05;