C Programlama Dilinde Bilgi yarışması yapmak C de ki temelini daha çok geliştirecektir bu programda
- Döngüler(for while vb)
- Değişkenler(int,char),
- Fonksiyonlar
- String.h kütüphanesi(strcmp)
yer alacak
Bunları tek bir programda kullanmak C Programlama dilini daha kolay ögrenmesini saglayacaktır.
Programı kodlamadan önce programı anlayalım.
Problemde 3 soru sorulacak(istege baglı) Eğer ki soruyu dogru cevaplarsak 10 puan alacağız Eger yanlış cevap verirsek burada 3 kere yanlış yapma hakkını tanınacak ve puan programın sonunda hesaplanacak.
- Kullanıcıya giriş yaptıracağız
- Ya kayıt olacak ya da giriş yaptırtacağız bu şekilde sisteme kabul edecegiz.
- Doğru bilgilerle giriş yaptıktsan sonra sorular soracağız.
- Soru1'i sorduk doğruysa +10 puan ve diger sorulara geçecek,Yanlışsa 0 Puan 3 Hakdan biri silinecek ve dogru yapana kadar eksilmeye devam edecek.
- Ekranda Skorumuzu belirecek.
#include <stdio.h>
#include <string.h>
#include <conio.h>
void hosgeldinizFonksiyonu()
{printf("Bilgi yarismasina hos geldiniz.\n*Yarismamiz puan sistemlidir.\nUye iseniz giris yapiniz degilseniz kayit olun.");
}
int secimFonksiyonu(){
int secim;
printf("\n[1]Giris yap\n[2]Kayit ol");
printf("\nLutfen secim yapin.");
scanf("%d",&secim);
return secim;
}
int girisyapFonksiyonu(char isim[200],char sifre[200]) /// GİRİS YAPMA BÖLÜMÜ
{
printf("\n**Giris yapma ekranindasiniz**");
bool kontrol=false;
while (kontrol==false){
char isimVeri[200];
char sifreVeri[200];
printf("\n*Lutfen Kullanici adini gir:");
scanf("%s",&isimVeri);
printf("Lutfen Sifreni gir:");
scanf("%s",&sifreVeri);
if (strcmp(isim,isimVeri)==0 &&strcmp(sifre,sifreVeri)==0){
printf("\nGirisiniz basarili \n\n***Yarismaya Yonlendiliyorsunuz****");
kontrol=true;
}
else {
printf("\nKayit olup tekrar deneyin");
}
}
}
int kayitolFonksiyonu(){
/////// KAYİT OL BÖLÜMÜ
char yenikullaniciadi[50];
char yenisifre[50];
printf("\nYeni uyelik olusturma ekrani");
printf("\nKullanici adi belirleyin:");
scanf("%s",¥ikullaniciadi);
printf("Sifre belirleyin:");
scanf("%s",¥isifre);
printf("\nBasarili sekilde kayit olusturdunuz");
girisyapFonksiyonu(yenikullaniciadi,yenisifre);
}
int bilgiYarismasi(){
int puan=0;
char cevap[2];
int can=3;
printf("\nBilgi yarismasi basladi her soru 10 puandir basarilar.\n3 Yanlis Yapma Hakkiniz vardir.");
printf("\nPuaniniz:%d",puan);
while(can!=0){
if(puan==0){printf("\n\nSORU[1] Turkiyenin baskenti neresidir ?\n[a]Ankara\n[b]Istanbul\n[c]Adana\n[d]Izmir\n");
scanf("%s",&cevap);
if (strcmp(cevap,"a")==0){printf("Dogru cevapladiniz tebrikler.");
puan+=10;
printf("\nPuaniniz:%d",puan);
}
else {printf("Yanlis cevapladiniz dogru cevap Ankara olacakti.");
can=can-1;
printf("\nHakkiniz:%d",can);
}
}
if (puan==10){printf("\n\nSORU[2] Ispanya baskenti neresidir ?\n[a]Ankara\n[b]Barcelona\n[c]Adana\n[d]Izmir\n");
scanf("%s",&cevap);
if (strcmp(cevap,"b")==0){printf("Dogru cevapladiniz tebrikler.");
puan+=10;
printf("\nPuaniniz:%d",puan);
}
else {printf("Yanlis cevapladiniz dogru cevap Barcelona olacakti.");
can=can-1;
printf("\nHakkiniz:%d",can);
}
}
if (puan==20){printf("\n\nSORU[3] Fransa baskenti neresidir ?\n[a]Ankara\n[b]Barcelona\n[c]Paris\n[d]Izmir\n");
scanf("%s",&cevap);
if (strcmp(cevap,"c")==0){printf("Dogru cevapladiniz tebrikler.");
puan+=10;
can=can-1;
printf("\nPuaniniz:%d",puan);
}
else {printf("Yanlis cevapladiniz dogru cevap Paris olacakti.");
can=-1;
printf("\nHakkiniz:%d",can);
printf("Toplam Puan:%d",puan);
}
}
}
return puan;
}
int yarismaSon(int skor){
printf("\nYarisma bitmistir.\nGuncel Skorun:%d",skor);
}
int main(){
char isim[200]="Serkan";
char sifre[200]="12345";
hosgeldinizFonksiyonu();
int secim=secimFonksiyonu();
if (secim==1)girisyapFonksiyonu(isim,sifre);
else if(secim==2){kayitolFonksiyonu();
}
int skor=bilgiYarismasi();
yarismaSon(skor);
return 0;
}
Ekran Çıktısı:
Yorum Gönder