Yazar |
|
dreamgirl
Istanbul
Kayıt: 27.11.2006 |
|
Arkadaslar, final gruplariniz, diger sinavlarla cakismayacak sekilde yeniden duzenlendi (Sinav saatlerine dikkat)
Bilgi icin http://ce.istanbul.edu.tr/Duyurular.aspx?ID=94 ....
|
|
Yazar |
|
pierini
Kayıt: 05.02.2007 |
|
sınavım beklediğimden nerdeyse 30 saat daha geç oldu,extra time
hocam peki sınavda notlar açık oalcak mı?
never stop # if you run
never attempt # if you stop
|
|
Yazar |
|
csenes
Kayıt: 14.02.2007 |
|
PL de A grubu olupta benimle yerdeğiştirecek war mı acill pls
|
|
Yazar |
|
dreamgirl
Istanbul
Kayıt: 27.11.2006 |
|
Arkadaslar sinav saatleri diger sinav saatlerine gore ayarlandigindan artik degisiklik yapmamiz sozkonusu olmayacaktir, bu konuda israr etmezseniz cok sevinecegiz, bu arada sinav sirasinda ders notlarinizi kullanabileceksiniz, herkese kolayliklar...
|
|
Yazar |
|
efespilsen
İSkenderunTANBUL
Kayıt: 27.11.2008 |
|
Hocam soruların zorluk dereceleri eşit olur umarım .Çünkü son gruplara doğru sorular baya bi zorlaşıyor..
GAL"ATA"SARAY
|
|
Yazar |
|
csenes
Kayıt: 14.02.2007 |
|
Hocam benim perşembe günü olmam gerkiyo kişi deiştrsek nolur sanki
|
|
Yazar |
|
erman
Kayıt: 23.10.2008 |
|
gecen sene sorulan soruları hatırlayan var mı varsa da söylecek olan?
|
|
Yazar |
|
angelme
istanbul
Kayıt: 21.10.2006 |
|
Geçen sene dosya işlemleri işlendiği için finalde de bütte de dosya işlemleri soruldu
|
|
Yazar |
|
marakana
Kayıt: 08.03.2007 |
|
geçen yılın final sorusu.. burda dosyadan okuma,görüntüleme,soyada göre sıralama fonksyonlarını falan yazmamış istenmişti.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
typedef struct ogrenci
{ char ad[15];
char soyad[15];
char numara[10];
char yas[3];
char ortalama[5];
} OGRENCI;
void EkraniTemizle(void)
{
system("cls");
}
// BUNLAR OGRENCI TARAFINDAN GELISTIRILECEK FONKSIYONLAR ////////////////////////
OGRENCI * DosyadanOku(void);
void KayitSayisiniGoster(void);
void Goruntule(OGRENCI *kayitlar);
void DosyayaYaz(OGRENCI *kayitlar);
void SoyadaGoreSirala(OGRENCI *kayitlar);
//////////////////////////////////////////////////////////////////////////////////
int kayitSayisi = 0;
int main (void)
{
int secim; //switch-case yapisina ait secimin saklandigi nesnedir.
OGRENCI * kayitlar = NULL; //kayitlarin tutulacagi dizi gostericisidir.
kayitlar = DosyadanOku();
do {
//MENUYU OLUSTURUYORUZ.
printf("
1.) Listeyi goruntule");
printf("
2.) Soyada gore sirala");
printf("
3.) Kayit sayisini goster");
printf("
4.) Cikis");
flushall();
printf("
Lutfen Seciminizi Giriniz
>");
scanf("%d",&secim);
switch (secim) {
case 1:
Goruntule(kayitlar);
break;
case 2:
SoyadaGoreSirala(kayitlar);
break;
case 3:
KayitSayisiniGoster();
break;
case 4:
DosyayaYaz(kayitlar);
exit(0);
break;
default:
printf("
Seciminiz hatali lutfen 1 il 4 arasinda bir sayi giriniz");
} // end of switch block
printf("Devam etmek icin bir tusa basiniz.
");
flushall();
getch();
EkraniTemizle();
}while(1); // end of infinite do-while block
return 0;
}
OGRENCI * DosyadanOku(void)
{
FILE *dosya;
OGRENCI *p_ogrenciler; // Ogrencilerin kaydedilecegi bellek alani
OGRENCI ogr; // Gecici ogrenci degiskeni
int i;
char dummy[255]; // kayit sayarken fscanf() vermek icin kullandigimiz degisken.
// bunun uzerinde herhangi bir islem yapmiyoruz sadece
// fscanf()'in cakilmamasi icin yarattik bu degiskeni
dosya = fopen("records.txt", "r");
if (dosya == NULL) // fopen() fonksiyonu basarisiz oldugunda NULL döndürür
{
printf("Hata: Dosya acilamadi !
");
return NULL;
}
while(!feof(dosya)) // dosyanin sonuna gelinmedigi surece...
{
fscanf(dosya, "%s %s %s %s %s", dummy, dummy, dummy, dummy, dummy);
// ilk basta herhangi bir yere kaydetmiyoruz sadece dosyanin ustunden bir
// kez gecerek kac kayit oldugunu sayiyoruz.
kayitSayisi++;
}
// artik kayit sayisini biliyoruz ve kayitlarin tam olarak sigacagi bir
// bellek alani ayirabiliriz
p_ogrenciler = (OGRENCI *)malloc(sizeof(OGRENCI) * kayitSayisi);
memset(p_ogrenciler, 0, sizeof(OGRENCI) * kayitSayisi);
// tekrar dosyanin basina gidelim
rewind(dosya);
i = 0;
while(!feof(dosya))
{
fscanf(dosya, "%s %s %s %s %s", ogr.ad, ogr.soyad, ogr.numara, ogr.yas, ogr.ortalama);
p_ogrenciler[i] = ogr;
i++;
}
fclose(dosya);
return p_ogrenciler;
}
void Goruntule(OGRENCI *kayitlar)
{
int i;
for (i = 0; i < kayitSayisi; i++)
printf("%s %s %s %s %s
", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);
}
void KayitSayisiniGoster(void)
{
printf("%d adet kayit var.", kayitSayisi);
}
void SwapOgrenci(OGRENCI *a, OGRENCI *b)
{
OGRENCI tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void SoyadaGoreSirala(OGRENCI *kayitlar)
{
int i, swapped;
do
{
swapped = 0;
for (i = 0; i < kayitSayisi - 1; i++)
{
if (strcmp(kayitlar[i].soyad, kayitlar[i + 1].soyad) > 0)
{
SwapOgrenci(&kayitlar[i], &kayitlar[i + 1]);
swapped = 1;
}
}
} while (swapped);
}
void DosyayaYaz(OGRENCI *kayitlar)
{
FILE *dosya;
int i;
dosya = fopen("records__.txt", "w+"); // "w+" yazmak icin ac ve icini bosalt manasina gelir :)
if (dosya == NULL) // fopen() fonksiyonu basarisiz oldugunda NULL döndürür
{
printf("Hata: Dosya acilamadi !
");
return;
}
for (i = 0; i < kayitSayisi; i++)
fprintf(dosya, "%s %s %s %s %s
", kayitlar[i].ad, kayitlar[i].soyad, kayitlar[i].numara, kayitlar[i].yas, kayitlar[i].ortalama);
fclose(dosya);
}
|
|
Yazar |
|
uslanmaz4
ANKARA
Kayıt: 15.01.2006 |
|
Ustte dosyalar falan var onları islemedik.
Pointerlar ile kullanıcının girdigi sayı kadar isim ve ortalama alan ve bunları isme yada ortalamaya göre sıralayan kod belki isinize yarar.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sinifOlustur(char *[],int);
void buyukHarfeCevir(char *[],int);
void ortalamaAl(char *[],int [],int);
void siralaOr(char *[],int [],int);
void siralaAl(char *[],int [],int);
void goster(char *[],int [],int);
int main()
{
char *sinif[20];
int ortalama[20],i;
int secim,p;
printf("sinifta kac kisi olacak
");
scanf("%d",&p);
sinifOlustur(sinif,p);
buyukHarfeCevir(sinif,p);
ortalamaAl(sinif,ortalama,p);
siralaOr(sinif,ortalama,p);
siralaAl(sinif,ortalama,p);
while(1)
{
printf("
1-Nota göre sirala
2-Isme göre sirala
3-exit
");
scanf("%d",&secim);
if(secim==3)
break;
else if(secim==1)
{
siralaOr(sinif,ortalama,p);
goster(sinif,ortalama,p);
continue;
}
else if(secim==2)
{
siralaAl(sinif,ortalama,p);
goster(sinif,ortalama,p);
continue;
}
}
return 0;
}
void sinifOlustur(char *sinifD[],int as)
{
int i;
for(i=0;i<as;i++)
{
sinifD[i]=(char *)malloc(20*sizeof(char *));
printf("
%d. ninci ogrencinin ismini girin: ",i+1);
scanf("%s",sinifD[i]);
}
}
void ortalamaAl(char *sinifD[],int ortalamaD[],int as)
{
int i;
for(i=0;i<as;i++)
{
printf("
%s icin donem sonu ortalama =",sinifD[i]);
scanf("%d",&ortalamaD[i]);
}
}
void buyukHarfeCevir(char *sinifD[],int as)
{
int i,j=0;
for(i=0;i<as;i++)
{
while(*(sinifD[i]+j)!=' | | | | | | | | | | |