![]() |
|
|||
|
arkadaşlar kodu çalıştırdığımda bir hata veriyor yardımcı olurmusunuz anlayamadım
konusu; Bir öğretmen çoktan seçmeli (a, b, c, d, ve e) bir sınav sonrasında öğrencilerin cevaplarını işaretledikleri formları bir bilgisayar programı ile kontrol edecektir. Soru sayısı 10 tane olup, her sorunun doğru cevap şıkkı programın içinde gömülüdür. Öğretmen her öğrenci için her soruda işaretlediği şıkkı programa klavyeden girecek ve sonra öğrencinin toplam doğru ve yanlış adedini ekranda görüntüleyecektir. Her öğrencinin işlemi sonlandığında program hocaya başka öğrenci girip girmeyeceğini soracak, cevap hayır ise program son olarak hocaya toplam öğrenci adedini ve her bir soru için ayrı ayrı doğru ve yanlış cevap sayılarını ekranda görüntülenecektir. Bu uygulamanın C programını yazınız. #include<stdio.h> #include<string.h> #include<conio.h> void main() { int i,d=0,y=0, bulundu=0; char soru[10]; soru[0]='a'; soru[1]='b'; soru[2]='c'; soru[3]='c'; soru[4]='a'; soru[5]='e'; soru[6]='b'; soru[7]='e'; soru[8]='d'; soru[9]='a'; char x[10]; char cevap='E'; while(cevap=='E') { puts("Incelenecek ogrencinin cevap kagidini giriniz.."); for(i=0;i<10;i++) { printf("%d. sorunun cevabi giriniz :", i+1); scanf("%s", &x); } for(i=0;i<10;i++) { bulundu=0; printf("%s = %s\n",soru,x); if(strcmp(soru,x)==0) { bulundu=1; d=d+1; } if(bulundu==0) y=y+1; } printf("\n"); printf("dogru sayisi :%d\n", d); printf("yanlis sayisi :%d\n", y); printf("Baska sayi girmek istiyor musunuz(devam-E)\n"); cevap=getche(); } }[/size] |
|
||||
|
Derleyicim yok ama bir de böyle deneyebilirmisiniz?
Kod:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
int i,d=0,y=0, bulundu=0;
char soru[10];
soru[0]='a';
soru[1]='b';
soru[2]='c';
soru[3]='c';
soru[4]='a';
soru[5]='e';
soru[6]='b';
soru[7]='e';
soru[8]='d';
soru[9]='a';
char x[10];
char cevap='E';
while(cevap=='E')
{
puts("Incelenecek ogrencinin cevap kagidini giriniz..");
for(i=*;i<10;i++)
{
printf("%d. sorunun cevabi giriniz :", i+1);
scanf("%s", &x[i]);
}
for(i=0;i<10;i++)
{
bulundu=0;
printf("%s = %s\n",soru,x);
if(strcmp(soru,x)==0)
{
bulundu=1;
d=d+1;
}
if(bulundu==0)
y=y+1;
}
printf("\n");
printf("dogru sayisi :%d\n", d);
printf("yanlis sayisi :%d\n", y);
printf("Baska sayi girmek istiyor musunuz(devam-E)\n");
cevap=getch();
}
}
__________________
"Topçu Çavuş, Tekirdağ-Hayrabolu :)" haber34.com |
|
||||
|
x yerine x[i] 'si , soru 'yu soru[i] olarak değiştirdim. Array'in hangi elemanını çağıracağımız bildirmemiz gerekiyor.tekrar bir denermisin
Kod:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
int i,d=0,y=0, bulundu=0;
char soru[10];
soru[0]='a';
soru[1]='b';
soru[2]='c';
soru[3]='c';
soru[4]='a';
soru[5]='e';
soru[6]='b';
soru[7]='e';
soru[8]='d';
soru[9]='a';
char x[10];
char cevap='E';
while(cevap=='E')
{
puts("Incelenecek ogrencinin cevap kagidini giriniz..");
for(i=0;i<10;i++)
{
printf("%d. sorunun cevabi giriniz :", i+1);
scanf("%s", &x[i]);
}
for(i=0;i<10;i++)
{
bulundu=0;
printf("%s = %s\n",soru[i],x[i]);
if(strcmp(soru[i],x[i])==0)
{
bulundu=1;
d=d+1;
}
if(bulundu==0)
y=y+1;
}
printf("\n");
printf("dogru sayisi :%d\n", d);
printf("yanlis sayisi :%d\n", y);
printf("Baska sayi girmek istiyor musunuz(devam-E)\n");
cevap=getch();
}
}
__________________
"Topçu Çavuş, Tekirdağ-Hayrabolu :)" haber34.com |
|
|||
|
benim ilk yazdığımda veren hatayı veriyor strcmpde veriyor
HATA: C:\Documents and Settings\Genel\Desktop\as\Cpp1.cpp(35) : error C2664: 'strcmp' : cannot convert parameter 1 from 'char' to 'const char *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast |
|
||||
|
strcmp string compare demek
ama bizim burada kullandığımız char, yani sadece 1 karakter.. bu nedenle char ile string (char *) arasında dönüşüm yapamıyor Kod:
if(strcmp(soru[i],x[i])==0) Kod:
if(soru[i] == x[i])
__________________
"Topçu Çavuş, Tekirdağ-Hayrabolu :)" haber34.com |
|
|||
|
kodlari incelemedim calisiyorlarmi bilmiyorum ama program odev kagidinda istenen seyi tam olarak yapmiyor. Her soru icin ayri ayri kac dogru ve yanlis oldugunu hesaplamamis.
|
|
|||
|
nasıl yani kodlar istenileni veriyor
|
![]() |
| Seçenekler | |
| Stil | |
|
|