# include <stdio.h> # include <string.h> main() { char sifre[20]; printf("SIFRE : "); scanf("%s",sifre); do { if (strcmp(sifre,"12345")==0 ) { puts("Birinci hakkinizda sifreyi dogru girdiniz. \a");break; } else puts("sifre yanlis ! Son 2 hakkiniz kaldi. \a"); } while(strcmp(sifre,"12345")==0); printf("SIFRE : "); scanf("%s",sifre); do { if (strcmp(sifre,"12345")==0 ) { puts("Ikinci hakkinizda sifreyi dogru girdiniz. \a");break; } else puts("Sifre Yanlis! Son 1 hakkiniz kaldi. \a"); } while(strcmp(sifre,"12345")==0); }
Yeni başladım kodlamaya ödevim var ve ben bu şekilde bişey yazdım fakat 'Birinci hakkinizda sifreyi dogru girdiniz.' den sonra programı bir türlü sonlandıramadım. Sonlandırma yapabileceğim bir komut varmı yoksa kullandıgım deyimler mi yanlıs. baya ugrastım fakat bi sonuca varamadım . Bilen arkadaslar yardım edebilirse sevinirim .
Neden iki tane do-while loop yazdınız? Birinci kez şifreyi 12345 girdikten sonra ikinci defa 12345 girmedikçe bu program sonlanmaz.
int hak = 3; do { scanf("%s", sifre); if (strcmp(sifre,"12345")==0 ) { puts("...");break; } else{ hak--; puts("Sifre Yanlis! Son {0} hakkiniz kaldi. \a", hak); } while(hak > 0); }
if(hak > 0) // Şifre başarılı girilmiş else // 3 hakta da yanlış şifre girilmiş