PDA

View Full Version : سوال: حرکت متن



okpnz1
سه شنبه 03 تیر 1393, 22:00 عصر
سلام ی برنامه میخام بنویسم که یک متنو بگیره و اونو به جهتی که میگیم حرکت بده مثل تابلو روان مرسی اگ راهنمایی کنید
120465

amirtork
سه شنبه 03 تیر 1393, 22:08 عصر
سلام.
خب دوست عزیز. بخش وارد کردن متن که ساده هست و نیازی به بحث نداره. برای اینکه جملات به شکلی که مثال زدید نمایش داده بشه. به نظر من میتونید هر حرف رو یک تابع در نظر بگیرید و هربار هم با استفاده از هندل کنسول اشاره گر رو بیارید اول خط مثلا ۱۵ تا اسپیس اونورتر.
برای حرکت دادنش هم کافیه یک تابع بنویسید که یک ورودی داشته باشه و اون هم تعداد اسپیس هایی هست هایی هست که باید چاپ بشه و اونها رو چاپ کنه و بعد باز هم با استفاده از هندل کنسول اشاره گر رو برگردونه به اول سطر.
اگر سوالی وجود داشت بفرمایید

okpnz1
سه شنبه 03 تیر 1393, 22:15 عصر
سلام
میشه برای تابع حرکت دادنش ی کد مثال بزنید مرسی

amirtork
سه شنبه 03 تیر 1393, 22:28 عصر
#include <iostream>
#include <windows.h>

using namespace std;


void gotoxy(int x,int y)
{
HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );
if (INVALID_HANDLE_VALUE != hConsole)
{
COORD pos = {x, y};
SetConsoleCursorPosition( hConsole, pos );
}
}

int main()
{

int Num;
cin>>Num;

for(int i = 0 ; i < 8 ; i ++)
{
for(int j = 0 ; j < Num ; j ++)
cout<<" ";
cout<<endl;
}
gotoxy(Num,1);

cin.ignore();
cin.get();
return 0;
}


کلیاتش شبیه به همین هست. یک مقدار با کد بالا بازی کنید احتمالا دقیقا خروجیتون همون چیزی خواهد شد که می خواید. من الان ویندوز در دسترس ندارم که بخوام کد رو امتحان کنم فقط نوشتمش شاید بهتون کمک کنه. اگر مشکلی داشت بفرمایید درصورت توان اصلاح میکنم.

okpnz1
چهارشنبه 11 تیر 1393, 10:51 صبح
من برنامه بالارو نوشتم الان کلمات نوشته شده هم به شکل ستاره میاد
ولی نمی دونم چرا حرکتم خیلی محدود شده مثلا وقتی چپ به راست رو انتخاب میکنم نوشته من سه بار حرکت می کنه و برنامه برمیگرده به حالت اول
ممنون میشم راهنماییم کنید

okpnz1
چهارشنبه 11 تیر 1393, 18:36 عصر
دوستان لطفا کمک کنید
در این تاپیک (http://barnamenevis.org/showthread.php?162516-%DA%86%D8%A7%D9%BE-%D8%AD%D8%B1%D9%88%D9%81-%D8%A7%D9%86%DA%AF%D9%84%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-%DA%A9%D8%A7%D8%B1%DA%A9%D8%AA%D8%B1-%D8%B3%D8%AA%D8%A7%D8%B1%D9%87&highlight=%D8%AA%D8%A8%D8%AF%DB%8C%D9%84+%D8%AD%D8 %B1%D9%88%D9%81+%D8%A8%D9%87+%D8%B3%D8%AA%D8%A7%D8 %B1%D9%87) دوستان برنامه تبدیل حروف به کاراکتر * رو نوشتن ولی حروف زیر هم قرار میگیره کسی میدونه چیکار کنم کنار هم قرار بگیرن؟

amirtork
چهارشنبه 11 تیر 1393, 23:25 عصر
در مورد اینکه متنتون ۳ بار حرکت میکنه و به شکل اول بر میگرده. میتونید کدتون رو قرار بدید؟ یا یک مثال بزنید؟ فکر میکنم درست متوجه نشدن دارید چی کار میکنید!

okpnz1
پنج شنبه 12 تیر 1393, 08:47 صبح
امروز دیگه تحویل میدم به استاد ایشالا که مشکلی پیش نیاد ولی در اسرع وقت کد رو قرار میدم ممنون

2020s1371
پنج شنبه 12 تیر 1393, 12:40 عصر
از تابع setw هم میتونی استفاده کنی خیلی بدرد من یکی خورده
لینک (http://www.cplusplus.com/reference/iomanip/setw/?kw=setw)