|
C PROGRAMMING |
VISUAL STUDIO |
अक्षर Alphabets
Uppercase: A B C ................................... X Y Z
Lowercase: a b c ...................................... x y zData Type Keywords
ये variables का type बताते हैं 1. int 👉 integer (पूरे number) C int a = 10; 2. float 👉 decimal number C float x = 10.5; 3. double 👉 बड़ा decimal (float से ज्यादा accurate) C double y = 12.34567; 4. char 👉 single character C char ch = 'A'; 5. void 👉 कोई value return नहीं C void fun() { }🔹 Control Statements
6. if 👉 condition check C if(a > 10) { printf("Yes"); } 7. else 👉 if false हो तो C if(a>10) printf("Yes"); else printf("No"); 8. switch 👉 multiple condition C switch(a) { case 1: printf("One"); break; } 9. case 👉 switch के अंदर option C case 2: printf("Two"); 10. default 👉 कोई case match न हो C default: printf("Other");🔹 Loop Keywords
11. for 👉 loop (fixed count) C for(int i=0;i<5;i++) { printf("%d", i); } 12. while 👉 condition based loop C while(i<5) { i++; } 13. do 👉 पहले run फिर check C do { i++; } while(i<5);🔹 Jump Statements
14. break 👉 loop/ switch से बाहर C if(i==3) break;🔹 Storage Class Keywords
18. auto 👉 default local variable C auto int a; 19. register 👉 fast memory में store (CPU register) C register int x; 20. static 👉 value retain करता है C static int x = 0; 21. extern 👉 दूसरे file का variable C extern int a; 🔹 6. Type Modifiers 22. short 👉 छोटा int C short int a;int money;
double accountBalance;char ch = 'a';
// some code
ch = 'l';
number = 5; // integer variablenumber = 5.5; // errordouble number; // errorयहाँ, संख्या चर का प्रकार int है। आप इस चर के लिए एक फ़्लोटिंग-पॉइंट (दशमलव) मान 5.5 असाइन नहीं कर सकते। इसके अलावा, आप चर के डेटा प्रकार को दोगुना करने के लिए फिर से परिभाषित नहीं कर सकते। वैसे, C में दशमलव मानों को संग्रहीत करने के लिए, आपको इसके प्रकार को डबल या फ्लोट घोषित करने की आवश्यकता है।
शाब्दिक (Literals)
साहित्य वे डेटा हैं जिनका उपयोग निश्चित मूल्यों का प्रतिनिधित्व करने के लिए किया जाता है। उन्हें सीधे कोड में उपयोग किया जा सकता है। उदाहरण के लिए: 1, 2.5, 'सी' आदि।
यहाँ 1, 2.5 और 'c' शाब्दिक हैं। क्यों? आप इन शर्तों को अलग-अलग मान निर्दिष्ट नहीं कर सकते।
1. पूर्णांकों (Integers) पूर्णांक एक संख्यात्मक शाब्दिक (संख्याओं से जुड़ा हुआ) बिना किसी अंश या घातीय भाग के होता है। C प्रोग्रामिंग में तीन प्रकार के पूर्णांक शाब्दिक हैं:
- decimal (base 10)
- octal (base 8)
- hexadecimal (base 16)
- उदाहरण के लिए:
- Decimal: 0, -9, 22 etc
Octal: 021, 077, 033 etcHexadecimal: 0x7f, 0x2a, 0x521 etc
0.0000234-0.22E-5 3. वर्ण (Characters)"good" //स्ट्रिंग स्थिर (string constant)
"" //अशक्त स्ट्रिंग स्थिरांक
(null string constant)
" " //छह सफेद स्थान की निरंतरता
(string constant of six white space)
"x" //एकल चरित्र वाले स्ट्रिंग निरंतर।
(string constant having a single character)"Earth is round\n" //एक नई रेखा के साथ स्ट्रिंग
(prints string with a newline)
const double PI = 3.14; double PI = 3.14;PI = 2.9; //Error myVar; salary;double price; normalizationFactor = 22.442e2; test = 'h';long a;long long b;long double c;#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0;}unsigned int x;int y;int main(){ // Displays the string inside quotations printf("C Programming"); return 0;}
C Programmingint main(){ int testInteger = 5; printf("Number = %d", testInteger); return 0;} output :- Number=5
int main(){ float number1 = 13.5; double number2 = 12.4; printf("number1 = %f\n", number1); printf("number2 = %lf", number2); return 0;}
output:-number1 = 13.500000number2 = 12.400000int main(){ char chr = 'a'; printf("character = %c", chr); return 0;} output:- character = aint main(){ int testInteger; printf("Enter an integer: "); scanf("%d", &testInteger); printf("Number = %d",testInteger); return 0;}OutputEnter an integer: 4Number = 4int main(){ float num1; double num2; printf("Enter a number: "); scanf("%f", &num1); printf("Enter another number: "); scanf("%lf", &num2); printf("num1 = %f\n", num1); printf("num2 = %lf", num2); return 0;}
Output
Enter a number: 12.523Enter another number: 10.2num1 = 12.523000num2
= 10.200000int main(){ char chr; printf("Enter a character: "); scanf("%c",&chr); printf("You entered %c.", chr); return 0;} Output
Enter a character: gYou entered g int main(){ char chr; printf("Enter a character: "); scanf("%c", &chr); // When %c is used, a character is displayed printf("You entered %c.\n",chr); // When %d is used, ASCII value is displayed printf("ASCII value is %d.", chr); return 0;}
outputEnter a character: g
You entered g.ASCII value is 103.int main(){ int a; float b; printf("Enter integer and then a float: "); // Taking multiple inputs scanf("%d%f", &a, &b); printf("You entered %d and %f", a, b); return 0;}Output
Enter integer and then a float: -33.4You entered -3 and 3.400000
I / O के लिए प्रारूप विनिर्देशक (Format Specifiers for I/O) जैसा कि आप उपरोक्त उदाहरणों से देख सकते हैं, हम उपयोग करते हैं
%dforint%fforfloat%lffordouble%cforchar
यहां आमतौर पर उपयोग किए जाने वाले सी डेटा प्रकारों की सूची और उनके प्रारूप विनिर्देशक हैं।
सी प्रोग्रामिंग ऑपरेटर (C Programming Operators)
इस ट्यूटोरियल में, आप उदाहरणों की मदद से C प्रोग्रामिंग में विभिन्न ऑपरेटरों के बारे में जानेंगे।
एक ऑपरेटर एक प्रतीक है जो एक मूल्य या एक चर पर संचालित होता है। उदाहरण के लिए: + एक ऑपरेटर है जो अतिरिक्त प्रदर्शन करता है
C के पास विभिन्न ऑपरेशन करने के लिए ऑपरेटरों की एक विस्तृत श्रृंखला है।
C अंकगणित संचालक (C Arithmetic Operators) एक अंकगणितीय ऑपरेटर संख्यात्मक मानों (स्थिरांक और चर) पर गणितीय संचालन जैसे जोड़, घटाव, गुणा, भाग आदि करता है।
उदाहरण : अंकगणित संचालक (Arithmetic Operators)
int main(){ int a = 9,b = 4, c; c = a+b; printf("a+b = %d \n",c); c = a-b; printf("a-b = %d \n",c); c = a*b; printf("a*b = %d \n",c); c = a/b; printf("a/b = %d \n",c); c = a%b; printf("Remainder when a divided by b = %d \n",c); return 0;}
Output
a+b = 13a-b = 5a*b = 36a/b = 2Remainder
when a divided by b=1संचालक +, - और * इसके अलावा, घटाव और गुणन क्रमशः गणना करते हैं, जैसा कि आपने उम्मीद की थी।
सामान्य गणना में, 9/4 = 2.25। हालाँकि, आउटपुट प्रोग्राम में 2 है।
इसका कारण यह है कि दोनों चर ए और बी पूर्णांक हैं। इसलिए, आउटपुट भी पूर्णांक है। कंपाइलर दशमलव बिंदु के बाद शब्द की उपेक्षा करता है और 2.25 के बजाय उत्तर 2 दिखाता है।
वह modulo ऑपरेटर% शेष की गणना करता है। जब a = 9 को b = 4 से विभाजित किया जाता है, तो शेष 1. 1.% ऑपरेटर केवल पूर्णांकों के साथ उपयोग किया जा सकता है।
मान लीजिए a = 5.0, b = 2.0, c = 5 और d = 2. फिर सी प्रोग्रामिंग में,// Either one of the operands is a floating-point number
a/b = 2.5 a/d = 2.5 c/b = 2.5 // Both operands are integersc/d = 2#include <stdio.h>int main(){ int a = 10, b = 100; float c = 10.5, d = 100.5; printf("++a = %d \n", ++a); printf("--b = %d \n", --b); printf("++c = %f \n", ++c); printf("--d = %f \n", --d); return 0;}
Output
++a = 11--b = 99++c = 11.500000--d = 99.500000int main(){ int a = 5, c; c = a; // c is 5 printf("c = %d\n", c); c += a; // c is 10 printf("c = %d\n", c); c -= a; // c is 5 printf("c = %d\n", c); c *= a; // c is 25 printf("c = %d\n", c); c /= a; // c is 5 printf("c = %d\n", c); c %= a; // c = 0 printf("c = %d\n", c); return 0;}
Output
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
#include <stdio.h>int main(){ int a = 5, b = 5, c = 10; printf("%d == %d is %d \n", a, b, a == b); printf("%d == %d is %d \n", a, c, a == c); printf("%d > %d is %d \n", a, b, a > b); printf("%d > %d is %d \n", a, c, a > c); printf("%d < %d is %d \n", a, b, a < b); printf("%d < %d is %d \n", a, c, a < c); printf("%d != %d is %d \n", a, b, a != b); printf("%d != %d is %d \n", a, c, a != c); printf("%d >= %d is %d \n", a, b, a >= b); printf("%d >= %d is %d \n", a, c, a >= c); printf("%d <= %d is %d \n", a, b, a <= b); printf("%d <= %d is %d \n", a, c, a <= c); return 0;}
Output
5 == 5 is 15 == 10 is 05 > 5 is 05 > 10 is 05 < 5 is 05 < 10 is 15 != 5 is 05 != 10 is 15 >= 5 is 15 >= 10 is 05 <= 5 is 15 <= 10 is 1 #include <stdio.h>int main(){ int a = 5, b = 5, c = 10, result; result = (a == b) && (c > b); printf("(a == b) && (c > b) is %d \n", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) is %d \n", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) is %d \n", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) is %d \n", result); result = !(a != b); printf("!(a != b) is %d \n", result); result = !(a == b); printf("!(a == b) is %d \n", result); return 0;}Output
(a == b) && (c > b) is 1 (a == b) && (c < b) is 0 (a == b) || (c < b) is 1 (a != b) || (c < b) is 0 !(a != b) is 1 !(a == b) is 0
int main(){ int a; float b; double c; char d; printf("Size of int=%lu bytes\n",sizeof(a)); printf("Size of float=%lu bytes\n",sizeof(b)); printf("Size of double=%lu bytes\n",sizeof(c)); printf("Size of char=%lu byte\n",sizeof(d)); return 0;}
Output
Size of int = 4 bytesSize of float = 4 bytesSize of double = 8 bytesSize of char = 1 byteint main() { printf("Hello, World!"); return 0;}Output
Hello, World! (test expression) { // code}#include <stdio.h>int main() { int number; printf("Enter an integer: "); scanf("%d", &number); if (number < 0) { printf("You entered %d.\n", number); } printf("The if statement is easy."); return 0;}
Output 1
Enter an integer: -2You entered -2.The if statement is easy.
if (test expression1) {
}
else if(test expression2) {
}
else if (test expression3) {
}
else {
}
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d",
&number1, &number2);
if(number1 == number2) {
printf("Result: %d = %d",number1,number2);
}
else if (number1 > number2) {
printf("Result: %d > %d", number1, number2);
}
else {
printf("Result: %d < %d",number1, number2);
}
return 0;
}
Output
Enter two integers: 12
23
Result: 12 < 23
नेस्टेड अगर ... और (Nested if...else)
यह संभव है कि अगर ... किसी और के शरीर के अंदर एक और बयान शामिल हो तो ... और भी बयान।
उदाहरण : घोंसला अगर ... और (Nested if...else)
नीचे दिया गया यह कार्यक्रम दो पूर्णांकों को संबंधित करता है <,> और = का उपयोग करते हुए अगर ... वरना सीढ़ी के उदाहरण। हालाँकि, हम एक नेस्टेड का उपयोग करेंगे यदि ... इस समस्या को हल करने के लिए और बयान।
int main() { int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1 >= number2) { if (number1 == number2) { printf("Result: %d = %d",number1,number2); } else { printf("Result: %d > %d", number1, number2); } } else { printf("Result: %d < %d",number1, number2); } return 0;}यदि शरीर के if ... और विवरण में केवल एक कथन है, तो आपको कोष्ठक {} का उपयोग करने की आवश्यकता नहीं है।
For example, this code
if (a > b) { print("Hello");}print("Hi");
is
equivalent to (
if (a > b) print("Hello");print("Hi");लूप के लिए सी (C for Loop)
प्रोग्रामिंग में, एक लूप का उपयोग कोड के एक ब्लॉक को दोहराने के लिए किया जाता है जब तक कि निर्दिष्ट शर्त पूरी नहीं होती है।
C प्रोग्रामिंग में तीन प्रकार के लूप हैं:
1. for loop
2. while loop
3. do.... while loop
loop पाश कैसे काम करता है?
1. इनिशियलाइज़ेशन स्टेटमेंट को केवल एक बार निष्पादित किया जाता है।
2. फिर, परीक्षण अभिव्यक्ति का मूल्यांकन किया जाता है। यदि परीक्षण अभिव्यक्ति को गलत का मूल्यांकन किया जाता है, तो लूप को समाप्त कर दिया जाता है।
3. हालाँकि, यदि परीक्षण अभिव्यक्ति का मूल्यांकन सही किया जाता है, तो लूप के लिए निकाय के अंदर कथनों को निष्पादित किया जाता है, और अद्यतन अभिव्यक्ति अपडेट की जाती है।
4. फिर से परीक्षण अभिव्यक्ति का मूल्यांकन किया जाता है।
यह प्रक्रिया तब तक चलती है जब तक कि परीक्षण अभिव्यक्ति झूठी न हो जाए। जब परीक्षण अभिव्यक्ति झूठी होती है, तो लूप समाप्त हो जाता है।पाश फ़्लोचार्ट के लिए (for loop Flowchart)
dio.h>
int main() {
int i;
for (i = 1; i < 11; ++i)
{
printf("%d ", i);
}
return 0;
}
Output
1 2 3 4 5 6 7 8 9 10
1. मैं 1 से आरंभीकृत हूं।
2. परीक्षण अभिव्यक्ति i <11 का मूल्यांकन किया जाता है। चूंकि 1 से कम 11 सच है, लूप के लिए शरीर को निष्पादित किया जाता है। यह स्क्रीन पर 1 (i का मान) प्रिंट करेगा।
3. अद्यतन कथन ++ i निष्पादित किया गया है। अब, i का मान 2 होगा। फिर से, परीक्षण अभिव्यक्ति का मूल्यांकन सत्य के लिए किया जाता है, और लूप के लिए निकाय निष्पादित किया जाता है। यह स्क्रीन पर 2 (i का मूल्य) प्रिंट करेगा।
4. फिर से, अपडेट स्टेटमेंट ++ i को निष्पादित किया जाता है और परीक्षण अभिव्यक्ति i <11 का मूल्यांकन किया जाता है। यह प्रक्रिया 11 वर्ष की होने तक चलती है।
5. जब मैं 11 वर्ष का हो जाता हूं, i <11 गलत हो जाएगा, और लूप समाप्त हो जाएगा।
for loop example
#include <stdio.h>int main(){ int num, count, sum = 0; printf("Enter a positive integer: "); scanf("%d", &num); for(count = 1; count <= num; ++count) { sum += count; } printf("Sum = %d", sum); return 0;}OutputEnter a positive integer: 10Sum = 55
C जबकि और करो ... जबकि लूप (C while and do...while Loop)
इस ट्यूटोरियल में, आप उदाहरणों की मदद से C प्रोग्रामिंग में लूप करते समय और करना सीखेंगे।
हम जानेंगे while and do..while loop.
while loop
The syntax of the while loop is:
while (testExpression) { // statements inside the body of the loop }How while loop works?
1. while लूप कोष्ठक () के अंदर परीक्षण अभिव्यक्ति का मूल्यांकन करता है।
2. यदि परीक्षण की अभिव्यक्ति सही है, तो लूप निष्पादित होते समय body के अंदर के कथन। फिर, परीक्षण अभिव्यक्ति का फिर से मूल्यांकन किया जाता है।
3. प्रक्रिया तब तक चलती है जब तक कि परीक्षण अभिव्यक्ति को गलत का मूल्यांकन नहीं किया जाता है।
4. यदि परीक्षण अभिव्यक्ति झूठी है, तो लूप समाप्त हो जाता है (समाप्त होता है)।
while लूप के फ्लोचार्ट
Example : while loop#include <stdio.h>
int main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", i);
++i;
}
return 0;
}
Output
1
2
3
4
5
करते हैं ... जबकि पाश (do...while loop) एक महत्वपूर्ण अंतर के साथ लूप जबकि लूप के समान है। लूप की बॉडी ... जबकि लूप को कम से कम एक बार निष्पादित किया जाता है। तभी, परीक्षण अभिव्यक्ति का मूल्यांकन किया जाता है।
लूप का सिंटैक्स है do...while लूप है:
do
{ // लूप के body के अंदर statement}while (testExpression); do...while लूप काम करता है?
1. लूप की बॉडी do...while loop को एक बार निष्पादित किया जाता है। तभी, परीक्षण अभिव्यक्ति का मूल्यांकन किया जाता है।
2. यदि परीक्षण अभिव्यक्ति सही है, तो लूप के शरीर को फिर से निष्पादित किया जाता है और परीक्षण अभिव्यक्ति का मूल्यांकन किया जाता है।
3. यह प्रक्रिया तब तक चलती है जब तक परीक्षण अभिव्यक्ति झूठी नहीं हो जाती।
फ्लोचार्ट ऑफ़ डू ... जबकि लूप (Flowchart of do...while Loop)
Example : do...while loop
#include <stdio.h>
int main()
{
double number, sum = 0;
do
{
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
Output
Enter a number: 1.5
Enter a number: 2.4
Enter a number: -3.4
Enter a number: 4.2
Enter a number: 0
Sum = 4.70
सी ब्रेक और जारी है(C break and continue)
C break ब्रेक स्टेटमेंट का सामना होने पर तुरंत लूप समाप्त हो जाता है। इसका सिंटैक्स है:
4. यदि परीक्षण अभिव्यक्ति झूठी है, तो लूप समाप्त होता है।
break; ब्रेक स्टेटमेंट का उपयोग लगभग हमेशा किया जाता है if... else लूप के अंदर स्टेटमेंट का प्रयोग होता है।
Example : do...while loop
#include <stdio.h>
int main()
{
double number, sum = 0;
do
{
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
Output
Enter a number: 1.5
Enter a number: 2.4
Enter a number: -3.4
Enter a number: 4.2
Enter a number: 0
Sum = 4.70
Example : break statement
// संख्या के योग की गणना करने का कार्यक्रम (अधिकतम 10 संख्या)
(Program to calculate the sum of numbers (10 numbers max)
// यदि उपयोगकर्ता एक नकारात्मक संख्या में प्रवेश करता है, तो लूप समाप्त हो जाता है
If the user enters a negative number, the loop terminates
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter n%d: ", i);
scanf("%lf", &number);
// if the user enters a negative number, break the loop (if उपयोगकर्ता एक नकारात्मक संख्या में प्रवेश करता है, तो लूप को तोड़ दें)
if (number < 0.0) {
break;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
Output
Enter n1: 2.4
Enter n2: 4.5
Enter n3: 3.4
Enter n4: -3
Sum = 10.30
सी जारी है (C continue) जारी statement लूप के वर्तमान पुनरावृत्ति को छोड़ देता है और अगले पुनरावृत्ति के साथ जारी रहता है। इसका सिंटैक्स है: Continue
continue भी if और else के साथ ही प्रयोग होता है
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter a n%d: ",
i);
scanf("%lf",
&number);
if (number < 0.0) {
continue;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
Output
Enter n1: 1.1
Enter n2: 2.2
Enter n3: 5.5
Enter n4: 4.4
Enter n5: -3.4
Enter n6: -45.5
Enter n7: 34.5
Enter n8: -4.2
Enter n9: -1000
Enter n10: 12
Sum = 59.70
C स्विच स्टेटमेंट (C switch Statement) वह स्विच स्टेटमेंट हमें कई विकल्पों में से एक कोड ब्लॉक निष्पादित करने की अनुमति देता है।आप एक ही काम कर सकते हैं if ... else ...if सीढ़ी। हालांकि, स्विच स्टेटमेंट का सिंटैक्स पढ़ना और लिखना बहुत आसान है।
switch example:-
#include <stdio.h>int main() { char operator; double n1, n2; printf("Enter an operator (+, -, *, /): "); scanf("%c", &operator); printf("Enter two operands: "); scanf("%lf %lf",&n1, &n2); switch(operator) { case '+': printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2); break; case '-': printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2); break; case '*': printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2); break; case '/': printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2); break; // operator doesn't match any case constant +, -, *, / default: printf("Error! operator is not correct"); } return 0;}Output
Enter an operator (+, -, *,): -Enter two operands: 32.5
12.4सी गोटो स्टेटमेंट (C goto Statement) :- goto स्टेटमेंट हमें प्रोग्राम के नियंत्रण को निर्दिष्ट (specified) लेबल पर स्थानांतरित करने की अनुमति देता है।
उदाहरण: goto स्टेटमेंट
#include <stdio.h>int main() { const int maxInput = 100; int i; double number, average, sum = 0.0; for (i = 1; i <= maxInput; ++i) { printf("%d. Enter a number: ", i); scanf("%lf", &number); // यदि उपयोगकर्ता एक नकारात्मक संख्या में प्रवेश करता है तो कूदने के लिए जाएं //go to jump if the user enters a negative number if (number < 0.0) { goto jump; } sum += number; } jump: average = sum / (i - 1); printf("Sum = %.2f\n", sum); printf("Average = %.2f", average); return 0;}Output
1. Enter a number: 32. Enter a number: 4.33. Enter a number: 9.34. Enter a number: -2.9Sum = 16.60Average = 5.53 32.5 - 12.4 = 20.1अनुमति देता है।
SNAKE GAME programming # 1
#include <stdio.h> #include <conio.h> #include <windows.h> int width = 20, height = 20; int gameOver; int x, y, fruitX, fruitY, score; int tailX[100], tailY[100]; int nTail; enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN}; enum eDirection dir; void gotoxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } void Setup() { gameOver = 0; dir = STOP; x = width / 2; y = height / 2; fruitX = rand() % width; fruitY = rand() % height; score = 0; } void Draw() { gotoxy(0,0); // स्क्रीन क्लियर करने की बजाय कर्सर को ऊपर ले जाएँ for (int i = 0; i < width+2; i++) printf("#"); printf("\n"); for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { if (j == 0) printf("#"); if (i == y && j == x) printf("O"); else if (i == fruitY && j == fruitX) printf("F"); else { int print = 0; for (int k = 0; k < nTail; k++) { if (tailX[k] == j && tailY[k] == i) { printf("o"); print = 1; } } if (!print) printf(" "); } if (j == width - 1) printf("#"); } printf("\n"); } for (int i = 0; i < width+2; i++) printf("#"); printf("\n"); printf("Score: %d\n", score); } void Input() { if (_kbhit()) { switch (_getch()) { case 'a': dir = LEFT; break; case 'd': dir = RIGHT; break; case 'w': dir = UP; break; case 's': dir = DOWN; break; case 'x': gameOver = 1; break; } } } void Logic() { int prevX = tailX[0]; int prevY = tailY[0]; int prev2X, prev2Y; tailX[0] = x; tailY[0] = y; for (int i = 1; i < nTail; i++) { prev2X = tailX[i]; prev2Y = tailY[i]; tailX[i] = prevX; tailY[i] = prevY; prevX = prev2X; prevY = prev2Y; } switch (dir) { case LEFT: x--; break; case RIGHT: x++; break; case UP: y--; break; case DOWN: y++; break; default: break; } if (x >= width) x = 0; else if (x < 0) x = width - 1; if (y >= height) y = 0; else if (y < 0) y = height - 1; for (int i = 0; i < nTail; i++) if (tailX[i] == x && tailY[i] == y) gameOver = 1; if (x == fruitX && y == fruitY) { score += 10; fruitX = rand() % width; fruitY = rand() % height; nTail++; } } int main() { Setup(); while (!gameOver) { Draw(); Input(); Logic(); Sleep(100); // गेम की स्पीड कंट्रोल करें } return 0; }
🕹️ Controls:
W→ ऊपरS→ नीचेA→ बाएँD→ दाएँX→ गेम बंद
✨ नया फीचर:
जब Snake खुद से टकराएगा तो Game Over स्क्रीन दिखेगी।
वहाँ आपको स्कोर दिखाई देगा।
Rदबाने पर गेम फिर से शुरू होगा।Qदबाने पर गेम बंद हो जाएगा।
हम बस गेम बोर्ड का साइज बड़ा कर देंगे।
👉 इसके लिए आपको बस width और height वेरिएबल्स को बढ़ाना है। अभी ये 20×20 हैं, इन्हें आप 40×20 या 50×25 कर सकते हैं ताकि Snake को घूमने के लिए ज़्यादा जगह मिले।
int width = 40; // पहले 20 था int height = 25; // पहले 20 था
#include <stdio.h> #include <conio.h> char board[3][3]; char currentPlayer; void resetBoard() { for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) board[i][j] = ' '; currentPlayer = 'X'; } void printBoard() { printf("\n"); for (int i = 0; i < 3; i++) { printf(" %c | %c | %c \n", board[i][0], board[i][1], board[i][2]); if (i < 2) printf("---|---|---\n"); } printf("\n"); } int checkWin() { // Rows for (int i = 0; i < 3; i++) if (board[i][0] == currentPlayer && board[i][1] == currentPlayer && board[i][2] == currentPlayer) return 1; // Columns for (int i = 0; i < 3; i++) if (board[0][i] == currentPlayer && board[1][i] == currentPlayer && board[2][i] == currentPlayer) return 1; // Diagonals if (board[0][0] == currentPlayer && board[1][1] == currentPlayer && board[2][2] == currentPlayer) return 1; if (board[0][2] == currentPlayer && board[1][1] == currentPlayer && board[2][0] == currentPlayer) return 1; return 0; } int checkDraw() { for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) if (board[i][j] == ' ') return 0; return 1; } void switchPlayer() { currentPlayer = (currentPlayer == 'X') ? 'O' : 'X'; } int main() { int row, col; resetBoard(); while (1) { printBoard(); printf("Player %c, enter row and column (0-2): ", currentPlayer); scanf("%d %d", &row, &col); if (row < 0 || row > 2 || col < 0 || col > 2 || board[row][col] != ' ') { printf("Invalid move! Try again.\n"); continue; } board[row][col] = currentPlayer; if (checkWin()) { printBoard(); printf("Player %c wins!\n", currentPlayer); break; } if (checkDraw()) { printBoard(); printf("It's a draw!\n"); break; } switchPlayer(); } return 0; }
🎮 कैसे खेलें:
दो खिलाड़ी बारी-बारी से
rowऔरcolumn(0–2) डालेंगे।XऔरOसे बोर्ड भरेगा।जो खिलाड़ी पहले 3 एक लाइन में बना लेगा (row, column या diagonal), वही जीत जाएगा।
अगर पूरा बोर्ड भर गया और कोई नहीं जीता → Draw।
📝 उदाहरण गेम:
Player X:
0 0→ ऊपर-बाएँ में XPlayer O:
1 1→ बीच में OPlayer X:
0 1→ ऊपर-मध्य में XPlayer O:
2 2→ नीचे-दाएँ में OPlayer X:
0 2→ ऊपर-दाएँ में X
अब Player X ने ऊपर की पूरी row भर दी → X जीत गया!
🎮 Number Guessing Game (C Code) # 3
गेम का आइडिया:
कंप्यूटर एक गुप्त नंबर चुन लेता है (जैसे 1 से 100 के बीच)।
आपका काम है उस नंबर को अनुमान लगाना (guess करना)।
हर बार जब आप कोई नंबर डालेंगे, कंप्यूटर बताएगा:
अगर आपका अनुमान ज़्यादा बड़ा है → "Too high!"
अगर आपका अनुमान ज़्यादा छोटा है → "Too low!"
अगर आपका अनुमान सही है → "Congratulations!"
🌀 Maze Runner with Visible Exit # 4
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 20
#define HEIGHT 10
#define ENEMY_COUNT 2
char maze[HEIGHT][WIDTH+1] = {
"####################",
"# # #",
"# ### # ########## #",
"# # # # #",
"# # ####### # #### #",
"# # # # #",
"# ####### # ###### #",
"# # # #",
"# ####### ##########",
"# X#" // Exit यहाँ है
};
int playerX = 1, playerY = 1;
int enemyX[ENEMY_COUNT], enemyY[ENEMY_COUNT];
void drawMaze() {
system("cls");
for (int i = 0; i < HEIGHT; i++) {
for (int j = 0; j < WIDTH; j++) {
if (i == playerY && j == playerX) {
printf("P");
} else {
int printed = 0;
for (int e = 0; e < ENEMY_COUNT; e++) {
if (i == enemyY[e] && j == enemyX[e]) {
printf("E");
printed = 1;
break;
}
}
if (!printed) {
printf("%c", maze[i][j]);
}
}
}
printf("\n");
}
}
void moveEnemy(int e) {
int dir = rand() % 4;
int newX = enemyX[e], newY = enemyY[e];
if (dir == 0) newY--;
else if (dir == 1) newY++;
else if (dir == 2) newX--;
else if (dir == 3) newX++;
if (maze[newY][newX] == ' ' || maze[newY][newX] == 'X') {
enemyX[e] = newX;
enemyY[e] = newY;
}
}
int main() {
srand(time(0));
for (int e = 0; e < ENEMY_COUNT; e++) {
enemyX[e] = rand() % (WIDTH-2) + 1;
enemyY[e] = rand() % (HEIGHT-2) + 1;
if (maze[enemyY[e]][enemyX[e]] != ' ') {
e--;
}
}
char move;
while (1) {
drawMaze();
printf("Use W A S D to move. Reach 'X' to escape!\n");
move = _getch();
int newX = playerX, newY = playerY;
if (move == 'w') newY--;
else if (move == 's') newY++;
else if (move == 'a') newX--;
else if (move == 'd') newX++;
if (maze[newY][newX] == ' ' || maze[newY][newX] == 'X') {
playerX = newX;
playerY = newY;
}
for (int e = 0; e < ENEMY_COUNT; e++) {
moveEnemy(e);
if (playerX == enemyX[e] && playerY == enemyY[e]) {
system("cls");
printf("💀 Oh no! Enemy caught you!\n");
return 0;
}
}
if (maze[playerY][playerX] == 'X') {
system("cls");
printf("🎉 Congratulations! You escaped the maze!\n");
return 0;
}
}
}
🌟 Falling Stars Game (Slow Speed + Smooth) # 5
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 30
#define HEIGHT 15
int playerX = WIDTH/2;
int starX, starY;
int score = 0;
// कर्सर को ऊपर ले जाने का फ़ंक्शन
void gotoxy(int x, int y) {
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
void drawGame() {
gotoxy(0,0); // स्क्रीन साफ़ नहीं करेंगे, बस कर्सर ऊपर ले जाएँगे
for (int i = 0; i < HEIGHT; i++) {
for (int j = 0; j < WIDTH; j++) {
if (i == HEIGHT-1 && j == playerX) {
printf("P"); // Player
} else if (i == starY && j == starX) {
printf("*"); // Falling Star
} else {
printf(" ");
}
}
printf("\n");
}
printf("Score: %d\n", score);
}
int main() {
srand(time(0));
starX = rand() % WIDTH;
starY = 0;
char move;
system("cls"); // शुरुआत में साफ़ करेंगे
while (1) {
drawGame();
if (_kbhit()) {
move = _getch();
if (move == 'a' && playerX > 0) playerX--;
else if (move == 'd' && playerX < WIDTH-1) playerX++;
}
starY++;
if (starY == HEIGHT-1) {
if (starX == playerX) {
score++;
gotoxy(0, HEIGHT+2);
printf("⭐ You caught a star!\n");
} else {
gotoxy(0, HEIGHT+2);
printf("💀 Missed the star!\n");
}
starX = rand() % WIDTH;
starY = 0;
Sleep(800); // नया स्टार आने से पहले लंबा इंतज़ार
}
Sleep(400); // गिरने की स्पीड धीमी कर दी
}
return 0;
}

















Govt. Institution gives a good job
ReplyDeleteNice notes provided to me its helps me very much
ReplyDeleteGreat notes in Hindi very useful for us
ReplyDelete