PDA

View Full Version : سوال: draw table



mmmtm1000
پنج شنبه 05 آذر 1394, 17:54 عصر
سلام
من یک تازه کارم
میتونید راهنمایی کنید چطور میشه بوسیله کد جدول کشید؟(در C++‎)

amirtork
پنج شنبه 05 آذر 1394, 18:19 عصر
سلام،
برای اینکار باید ابتدا محیطی که میخواید توش کار کنید رو مشخص کنید،
از اونجایی که گفتید تازه کار هستید و عموم افرادی که به تازگی میخوان با ٓc++ آشنا بشن از محیط کنسول استفاده میکنن، رسمش رو در محیط کنسول قرار میدم:

#include <iostream>
#include <iomanip>


using namespace std;
/************************************************** ****************************************/
/* This is an example that input the scores of 5 students and print it with some format. */
/************************************************** ****************************************/


int main()
{


cout << "Students Table:" << endl;
/*setfill(x) fill the empty space by provided character x*/
/*setw(x) creates a column of width x*/
/*left keyword align the contents of a columns left align*/
/*right keyword align the contents of a columns right align*/


//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "First Name" << setw(1) << "|" << setw(15) << left << "Last Name" << setw(1) << "|" << setw(5) << left << "Age" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Rizwan" << setw(1) << "|" << setw(15) << left << "Zafar" << setw(1) << "|" << setw(5) << left << "22" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Micheal" << setw(1) << "|" << setw(15) << left << "Jones" << setw(1) << "|" << setw(5) << left << "20" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Ricky" << setw(1) << "|" << setw(15) << left << "Benwa" << setw(1) << "|" << setw(5) << left << "21" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;


return 0;
}

تابع setfill با ورودی یک کاراکتر، اون کاراکتر رو در فضاهای خالی قرار میده.
تابع setw یک سطر به عرضی که موقع فراخوانی بهش داده میشه میسازه
کلمات کلیدی left و right هم نحوه ی چیدمان رو در سطر نشون میدن.(راست چین بودن یا چپ چین بودن)

mmmtm1000
پنج شنبه 05 آذر 1394, 18:49 عصر
سلام،
برای اینکار باید ابتدا محیطی که میخواید توش کار کنید رو مشخص کنید،
از اونجایی که گفتید تازه کار هستید و عموم افرادی که به تازگی میخوان با ٓC++‎‎ آشنا بشن از محیط کنسول استفاده میکنن، رسمش رو در محیط کنسول قرار میدم:

#include <iostream>
#include <iomanip>


using namespace std;
/************************************************** ****************************************/
/* This is an example that input the scores of 5 students and print it with some format. */
/************************************************** ****************************************/

int main()
{


cout << "Students Table:" << endl;
/*setfill(x) fill the empty space by provided character x*/
/*setw(x) creates a column of width x*/
/*left keyword align the contents of a columns left align*/
/*right keyword align the contents of a columns right align*/


//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "First Name" << setw(1) << "|" << setw(15) << left << "Last Name" << setw(1) << "|" << setw(5) << left << "Age" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Rizwan" << setw(1) << "|" << setw(15) << left << "Zafar" << setw(1) << "|" << setw(5) << left << "22" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Micheal" << setw(1) << "|" << setw(15) << left << "Jones" << setw(1) << "|" << setw(5) << left << "20" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;
//printing student record
cout << setfill(' ') << setw(1) << "|" << setw(15) << left << "Ricky" << setw(1) << "|" << setw(15) << left << "Benwa" << setw(1) << "|" << setw(5) << left << "21" << setw(1) << "|" << endl;
//printing border
cout << setfill('-') << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(15) << "-" << setw(1) << "+" << setw(5) << "-" << setw(1) << "+" << endl;


return 0;
}

تابع setfill با ورودی یک کاراکتر، اون کاراکتر رو در فضاهای خالی قرار میده.
تابع setw یک سطر به عرضی که موقع فراخوانی بهش داده میشه میسازه
کلمات کلیدی left و right هم نحوه ی چیدمان رو در سطر نشون میدن.(راست چین بودن یا چپ چین بودن)


با تشکر
راهنمایی تون خیلی کامل بود