مثالهای عملی C
پروژههای کوچک عملی با ترکیب همه آموختهها: ماشین حساب، بازی حدس عدد و فیبوناچی
وقت تمرین است!
در این مبحث چند پروژه کوچک را با هم میسازیم که همه مفاهیم دوره را ترکیب میکنند. کدها را اجرا کنید، تغییر دهید و شکستشان بدهید — بهترین راه یادگیری!
پروژه ۱: ماشین حساب ساده
با switch و توابع:
double calculate(double a, double b, char op) {
switch (op) {
case \x27+\x27: return a + b;
case \x27-\x27: return a - b;
case \x27*\x27: return a * b;
case \x27/\x27:
if (b != 0) return a / b;
printf("تقسیم بر صفر!");
return 0;
default: return 0;
}
}
پروژه ۲: بازی حدس عدد
با حلقه do-while و اعداد تصادفی:
#include <stdlib.h>
#include <time.h>
srand(time(0)); // شروع مولد تصادفی
int secret = rand() % 100 + 1; // عدد 1 تا 100
int guess, tries = 0;
do {
printf("حدس بزن: ");
scanf("%d", &guess);
tries++;
if (guess > secret) printf("بزرگتر است!\n");
else if (guess < secret) printf("کوچکتر است!\n");
} while (guess != secret);
printf("آفرین! با %d تلاش پیدا کردی", tries);
پروژه ۳: دنباله فیبوناچی
با حلقه و متغیرهای کمکی:
int a = 0, b = 1, next;
for (int i = 0; i < 10; i++) {
printf("%d ", a);
next = a + b;
a = b;
b = next;
}
// خروجی: 0 1 1 2 3 5 8 13 21 34
پروژه ۴: بررسی عدد اول
int isPrime(int n) {
if (n < 2) return 0;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return 0; // بخشپذیر است، اول نیست
}
return 1; // اول است
}
پروژه ۵: شمارش کلمات رشته
int countWords(char str[]) {
int count = 0, inWord = 0;
for (int i = 0; str[i] != \x27\x5c0\x27; i++) {
if (str[i] != \x27 \x27 && !inWord) {
count++;
inWord = 1;
} else if (str[i] == \x27 \x27) {
inWord = 0;
}
}
return count;
}
قدم بعدی شما
- این مثالها را تغییر دهید و قابلیت جدید اضافه کنید
- پروژههای ترکیبی بسازید: دفترچه تلفن با struct و فایل
- به C++ مهاجرت کنید — همه دانش C اینجا به کار میآید
- در مسیر سیستمعامل و سیستمهای تعبیهشده ادامه دهید
تبریک!
شما دوره کامل زبان C را تمام کردید! از printf ساده تا اشارهگرها و مدیریت حافظه — حالا پایه محکمی برای ادامه مسیر برنامهنویسی دارید.
این مبحث بخشی از دوره آموزش کامل زبان C است.