-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.ogrencipuanihesaplama.c
70 lines (58 loc) · 1.84 KB
/
main.ogrencipuanihesaplama.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
struct ogrenciTip{
int no;
char cevap[10];
};
struct sonucTip{
int no;
int not;
};
int main()
{
/*Bir öğretmen 30 kişilik sınıfa 10 soruluk çoktan seçmeli sorulardan oluşan bir sınav vermiştir.
Bu sınavda her sorunun 4 şıkkı(A B C D) bulunmakta ve 4 yanlış bir doğruyu götürmektedir.Bu programda
bir öğrencinin okul numarasını ve cevaplarını içeren bir yapı tanımlayınız ve sınıfta bulunan her öğrencinin
okul numarasını ve cevaplarını bu yapı dizisine okutunuz.Daha sonra öğretmenin hazırladığı cevap anahtarını
bir karakter dizisine okuyunuz ve her öğrencinin 10 üzerinden aldığı notu hesaplayınız.Her öğrencinin okul numarası
ile,hesaplanan sınav sonucunu bir başka yapı dizisinde tutunuz ve sonuçları ekranda görüntüleyiniz.*/
struct ogrenciTip ogrenci[30];
struct sonucTip sonuc[30];
char anahtar[10],satir;
int i,j;
int dogru,yanlis;
printf("Lutfen cevap anahtarini giriniz\n");
for(i=0;i<10;i++)
{
scanf("%s",&anahtar[i]);
}
printf("Ogrenci bilgilerini giriniz\n");
for(j=0;j<30;j++)
{
printf("Ogrenci no:\n");
scanf("%d",&ogrenci[j].no);
dogru=yanlis=0;
scanf("%c",&satir);
printf("Cevaplari:");
for(i=0;i<10;i++)
{
scanf("%s",&ogrenci[j].cevap[i]);
if(anahtar[i]==ogrenci[j].cevap[i])
{
dogru++;
}
else if(ogrenci[j].cevap[i] !=' ')
{
yanlis++;
}
}
sonuc[j].no=ogrenci[j].no;
printf("Dogru :%d Yanlis:%d\n",dogru,yanlis);
sonuc[j].not=dogru-(yanlis/4);
}
for(j=0;j<30;j++)
{
printf("Ogrenci no :%d Not:%d\n",sonuc[j].no,sonuc[j].not);
}
return 0;
}