Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
C++ Ders Notları 4.Ders (Kontrol ve Döngüler)
Yrd. Doç. Dr. Musa Ataş
2
C++ kontrol ifadeleri C++ da üç ayrı kontrol ifadesi bulunmaktadır.
Koşullu işleç : basit if –else bloğunun yaptığı işlemi tek satırda halleder. Koşullu işlecin kullanılabilmesi için Tek bir değişken set edilmelidir (üzerine yazılmalıdır). İf-else bloğunda sadece birer satır bulunmalıdır. Örnek: bir öğrenicinin bir dersten başarılı sayılabilmesi için vizesinin ve ortalamasının 60 dan büyük eşit olması gerekmektedir. Buna göre koşullu işleç le yazılacak algoritma şu şekilde olabilir. string durum= (vize >=60 && final >=60)? “gecti” : “kaldi” ; if-else bloğu : her türlü kontollerin yapıldığı karmaşık algoritmalarda sıkça kullanılmaktadır. Yukarıdaki problemin if-else karşılığı şu şekilde yazılabilir. if (vize >=60 && final >=60) { durum=“gecti”; }else{ durum=“kaldi”; }
3
C++ kontrol ifadeleri 3. switch – case kontrolü
Örnek: Bir öğrencinin dersten aldığı notu aşağıda verilen stratejiye göre harf sistemine çeviriniz. [85 – 100] AA [ ) BB [ ) CC [ ) DD [ ) FF 3. switch – case kontrolü switch (a) { case 1: //do something break; case 2: case 3: case 4: default: }
4
C++ da Döngüler 3 ayrı döngü türü vardır. Bunlar ; For Döngüsü
While Döngüsü Do-While Döngüsü S.1 ASCII tablosunu ekrana yazdırınız. S.2 Çarpım tablosunu ekrana yazdırınız. S.3 Ekrana Çerçeve çizdiriniz. (ascii kodlarını kullanarak) S.4 Bir mesajı kayan yazı olarak çalıştırınız.
5
ASCII tablosu do-while döngüsü ile ekrana yazdırılıyor
int i=0; do{ cout << i << ":" << char(i) << endl; i++; }while(i<256);
6
#include <iostream> #include <stdio.h> #include "Hedef.h"
void loop2(void *param) { //Hedef hdf2=Hedef(0,15,10,10,500); hdf2.move(); _endthread(); } static void error(char *action) fprintf(stderr, "Error %s: %d\n", action, GetLastError()); exit(EXIT_FAILURE); int main() for (int i=0;i<500 ;i++ ) hdf1.moveNext(); hdf2.moveNext(); hdf3.moveNext(); hdf4.moveNext(); hdf5.moveNext(); hdf6.moveNext(); hdf7.moveNext(); hdf8.moveNext(); hdf9.moveNext(); return 0; #include <iostream> #include <stdio.h> #include "Hedef.h" #include <windows.h> #include <process.h> using namespace std; Hedef hdf1=Hedef(0,2,10,10,500,1); Hedef hdf2=Hedef(0,4,11,10,500,2); Hedef hdf3=Hedef(0,6,12,10,500,3); Hedef hdf4=Hedef(0,8,13,10,500,4); Hedef hdf5=Hedef(0,10,14,10,500,5); Hedef hdf6=Hedef(0,12,15,10,500,4); Hedef hdf7=Hedef(0,14,16,10,500,3); Hedef hdf8=Hedef(0,16,17,10,500,2); Hedef hdf9=Hedef(0,18,18,10,500,1); int j; int i; void loop1(void *param) { //Hedef hdf1=Hedef(0,5,10,10,5000); hdf1.move(); _endthread(); }
7
void SetColor(int ForgC)
{ WORD wColor; //We will need this handle to get the current background attribute HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; //We use csbi for the wAttributes word. if(GetConsoleScreenBufferInfo(hStdOut, &csbi)) //Mask out all but the background attribute, and add in the forgournd color wColor = (csbi.wAttributes & 0xF0) + (ForgC & 0x0F); SetConsoleTextAttribute(hStdOut, wColor); } return; void Hedef::move() for (int i=0; i<max ; i++ ) if (px+increment>79 || px+increment<1) increment=-increment; SetColor(0); gotoxy(px,py); cout << char(219); px+=increment; SetColor(color); // gotoxy(0,py+1); // cout<<px; Sleep(duration); void Hedef::moveNext() // gotoxy(0,py+1); // cout<<px; #include <iostream> #include <windows.h> #include <stdio.h> #include "Hedef.h" using namespace std; Hedef::Hedef(int x,int y,int cl,int dur,int cycle,int incr) { px=x; py=y; color=cl; duration=dur; max=cycle; increment=incr; } Hedef::~Hedef() COORD coord= {0,0}; // this is global variable //center of axis is set to the top left cornor of the screen void gotoxy(int x,int y) coord.X=x; coord.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPU T_HANDLE),coord);
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.