حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

وبلاگ دانشگاهی حسین خسروی، عضو هیات علمی دانشگاه صنعتی شاهرود

حسین خسروی

باتوجه به محدودیتهای صفحه شخصی موجود در سایت دانشگاه، این بلاگ را راه اندازی کردم.
اطلاعیه های مربوط به دروسی که تدریس می کنم و تمرینها در این وبلاگ قرار خواهد گرفت.
برای آگاهی از مطالب مربوط به هر درس، در قاب زیر (طبقه بندی موضوعی) روی نام درس کلیک کنید.

پیوندهای روزانه

۴ مطلب با کلمه‌ی کلیدی «C Programming Example» ثبت شده است

  • ۰
  • ۰

مثال ماشین حساب ساده ای که در کلاس مطرح شد و مقرر شد برای جلسه بعد همگی آن را روی لپ تاپشان تست کنند و همراه بیاورند:


#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
	int x = 0, y = 0;
	cout << "Please enter 2 numbers" << endl;
	cin >> x >> y;
	cout << "x + y = " << x + y << endl;
	cout << "x - y = " << x - y << endl;
	cout << "x * y = " << x * y << endl;
	//if (y != 0)
	if(y)
	{
		cout << "x / y = " << (float)x / y << endl;
	}
	else
		cout << "Divide by zero not allowed" << endl;

	cin.ignore();
	getchar();
    return 0;
}
  • حسین خسروی
  • ۰
  • ۰

مثال دریافت n عدد اعشاری به کمک اشاره گر، مرتب سازی حبابی آنها و نمایش خروجی:


#include "stdafx.h"
#include <iostream>

int main()
{
	/*int x = 10, y = 21;
	float z = (float)y / x; //remove (float) and see the results 
	x = (int)z;
	printf("z = %.f", z);*/
	unsigned long N = 0;
	printf("Please enter N:\n");
GET_N:
	scanf_s("%ld", &N);
	if (N < 1)
	{
		printf("Invalid size, try again\n");
		goto GET_N;
	}
	printf("\nEnter %d Numbers: ", N);
	double* data = new double[N];

	memset(data, 0, N * sizeof(double));
	for (int i = 0; i < N; i++)
		scanf_s("%lf", &data[i]);
	
	for (int i = 0; i < N; i++)
	{
		for (int j = i + 1; j < N; j++)
		{
			if (data[j] > data[i])
			{
				double t = data[i];
				data[i] = data[j];
				data[j] = t;
			}
		}
	}

	printf("Sorted output:\n");
	for (int i = 0; i < N; i++)
		printf("%.2lf, ", data[i]);
	
	std::cin.ignore();
	getchar();
	return 0;
}
  • حسین خسروی
  • ۰
  • ۰

تمرین سری سوم درس مبانی برنامه‌نویسی

الف) برنامه ای بنویسید که درایه های یک ماتریس 3*2 و 2*3 را از کاربر دریافت کند و ماتریس حاصلضرب را نمایش دهد.

ب) برنامه ای بنویسید که اطلاعات n نفر از دانشجویان شامل نام و نام خانوادگی، شماره دانشجویی و معدل را دریافت کند. سپس به صورت جدولی همین اطلاعات را نمایش دهد.

  • عدد n از کاربر دریافت شود.
  • شماره دانشجویی حتما باید 7 رقمی باشد در غیر این صورت پیام خطای مناسب داده شده و دوباره دریافت شود.
  • معدل حتما باید بین 0 و 20 باشد در غیر این صورت پیام خطای مناسب داده شده و دوباره دریافت شود.

نمونه ای از اجرای برنامه ( اطلاعات زرد رنگ توسط کاربر وارد شده و سایر اطلاعات توسط برنامه تولید شده است)

Please enter number of students: 3
Please enter information for 3 students (name, ID, GPA):
Name 1: Hossein Khosravi
ID 1: 78123818
Invalid ID, try again: 7812381
GPA 1: 17.5
-------------------------------
Name 2: Ali Alavi
ID 2: 9225354
GPA 2: 15.5
-------------------------------
Name 3: Fatemeh Dadgar
ID 3: 9215764
GPA 3: 14.25
-------------------------------

Name                  ID            GPA
----------------      -------       -----
Hossein Khosravi      7812381       17.5
Ali Alavi             9225354       15.5
Fatemeh Dadgar        9215764       14.25


ج) برنامه ای بنویسید که یک رشته ریاضیاتی از کاربر گرفته و نتیجه آن را نمایش دهد. رشته مذکور تنها شامل یک عملگر از چهار عملگر اصلی بوده و دو عملوند دارد:

Please enter a mathematical expression: 42 + 36
ans = 78

روش تهیه و ارسال تمرینها

  • یک فایل word ایجاد کنید و کد نوشته شده به همراه یک نمونه اجرای برنامه را در آن قرار دهید (از خروجی برنامه با فشردن هم‌زمان دکمه‌های Alt و Print Screen عکس بگیرید و داخل فایل word کپی کنید).
  • به پوشه پروژه ای که ایجاد کرده اید رفته و فایلهای با پسوند c, cpp, h, cbp, vcxproj را در پوشه ای با نام خودتان (مثلا HosseinKhosravi) کپی کنید (پوشه‌های Debug و Release و ipch را نباید اضافه کنید).
  • فایل word را هم در همان پوشه کپی کنید و سپس پوشه را zip کنید.
  • اگر مراحل فوق درست انجام شده باشد فایل zip شده باید حجمی کمتر از 200 کیلوبایت داشته باشد. این فایل را به آدرس استاد حل تمرین بفرستید
  • عنوان ایمیل (subject) حتما شامل عبارت C_HW_03 باشد.

 موعد تحویل 17 آبان


  • حسین خسروی
  • ۰
  • ۰
تمرین سری اول برنامه نویسی

1.    برنامه ماشین حساب ساده (4 عمل اصلی)

برنامه ای بنویسید که 2 عدد اعشاری از کاربر دریافت کرده و چهار عمل اصلی را روی آنها انجام دهد.
برای دریافت عدد از کاربر از scanf استفاده کنید:
float n1;
printf("Please enter a number: ");
scanf("%g", &n1);
برای چاپ نتیجه از printf استفاده کنید:
printf("Sum of n1 and n2 is %g", n1+n2);

از عبارت کنترلی g% یا f% برای خواندن یا نمایش اعداد اعشاری با دقت معمولی (float) استفاده می شود و از lf% برای اعداد اعشاری دقت مضاعف (double) استفاده می شود.

2.    تبدیل رشته به حروف بزرگ و کوچک

برنامه ای بنویسید که یک رشته دریافت کند و حروف کوچک آن را به حروف بزرگ تبدیل کرده و نمایش دهد.

3.    برنامه معکوس کردن یک عدد 3 رقمی

برنامه ای بنویسید که یک عدد سه رقمی (مثلا 786) دریافت کند و معکوس آن را (687) حساب کرده و نمایش دهد.

4.    برنامه محاسبه ب.م.م. و ک.م.م

برنامه ای بنویسید که 2 عدد صحیح از کاربر دریافت کرده و ب.م.م و ک.م.م. آنها را حساب کرده و نمایش دهد.

روش ارسال تمرینها:

1.    یک فایل ورد ایجاد کنید و در صفحه اول مشخصات خودتان و شماره تمرین را ذکر کنید. سپس از اجرای برنامه تان با print screen عکس بگیرید و در همان فایل ورد کپی کنید.
2.    به پوشه پروژه هایی که ایجاد کرده اید رفته و فایلهای با پسوند *.c, *.cpp, *.h, *.vcxproj (*.cbp) را در پوشه ای با نام خودتان (مثلا HosseinKhosravi) کپی کرده و zip کنید. (فایل exe را نفرستید)
اگر موارد فوق رعایت شود فایل zip شده باید حجمی کمتر از 200 کیلوبایت داشته باشد. این فایل را به آدرس استاد حل تمرین بفرستید.

موعد تحویل 27 مهرماه


  • حسین خسروی