السلام عليكم و رحمة الله تعالى و بركاته
مرحبا بكم في السؤال الرابع من أسئلة هذه المسابقة الرمضانية :)
سؤال اليوم يتعلق بــ Checking for Palindromes :
تجدون التفاصيل في ملف PDF في المرفقات.
أرجو لكم التوفيق.
السلام عليكم و رحمة الله تعالى و بركاته
مرحبا بكم في السؤال الرابع من أسئلة هذه المسابقة الرمضانية :)
سؤال اليوم يتعلق بــ Checking for Palindromes :
تجدون التفاصيل في ملف PDF في المرفقات.
أرجو لكم التوفيق.
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 2 أغسطس 2012 في 13:39 — السبب: تحديث المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
هذه المشاركة مخصصة للرد على استفسارات الأعضاء حول هذا السؤل.
:: تعديل ::
لاتوجد أسئلة.
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 7 أغسطس 2012 في 13:47 — السبب: تحديث المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 7 أغسطس 2012 في 13:47 — السبب: تحديث المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
هذه المشاركة مخصصة لعرض عدد نقاط المشاركين و محاولاتهم بعد انتهاء مدة السؤال.
:: تعديل ::

ملاحظات على محاولة العضو TheInventorHabib : لا توجد.
النقاط التي حصلها عليها العضو TheInventorHabib :
[*]المرحلة الثانية (2/6):
[*]المرحلة الثالثة (0/21)
[*]كتابة ملف خاص بتوثيق اللعبة (0/2).
مجموع النقاط التي حصل عليها العضو TheInventorHabib يساوي 05/30

تجدون محاولة العضو في المرفقات.

نتمنى حظ أوفر للأخ TheInventorHabib في بقية الأسئلة.
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 7 أغسطس 2012 في 14:08 — السبب: تحديث المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
دعم الحروف العربية
أخي هل سنستعمل GUI؟
لا !, البرنامج يُكتب في بيئة الــ Console فقط :)
و هنا تكمن صعوبة السؤال لذا وضعته على 21 نقطة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
تم حل الsؤال الأول لا أعرف كيف أتعامل مع UNICODE بال Console.
ولدلك قمت بحل المرحلة الأولي فقط.
تم وضع رابط التحميل كتعليق لديك أخي أحمد.
اقتباستم وضع رابط التحميل كتعليق لديك أخي أحمد.
تم استقبال المحاولة.
اقتباسلا أعرف كيف أتعامل مع UNICODE بال Console.
اللغة العربية من اللغات التي تُكتب من اليمين الي اليسار وهي ليست مُفعلة في شفره الآسكي (ASCII) وللكتابة بها و إخراج أحرفها على الشاشه بالترميز المطلوب لابد من إجراء الآتي:
إليك الكود:
#include<iostream>
using namespace std;
#include<windows.h>
#ifdef WIN32
#endif
#define _WIN32_WINNT_WIN7 0x0601
typedef struct _CONSOLE_FONT_INFOEX
{
ULONG cbSize;
DWORD nFont;
COORD dwFontSize;
UINT FontFamily;
UINT FontWeight;
WCHAR FaceName[LF_FACESIZE];
}CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
PCONSOLE_FONT_INFOEX testFont;
int main()
{
HANDLE hstdo;
hstdo = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hstdo, FOREGROUND_GREEN|FOREGROUND_INTENSITY|BACKGROUND_BLUE);
HANDLE OutputH;
OutputH = GetStdHandle(STD_OUTPUT_HANDLE);
testFont->dwFontSize.X = 10;
testFont->dwFontSize.Y = 20;
SetCurrentConsoleFontEx(OutputH, TRUE, testFont);
UINT a=864;
if ((SetConsoleOutputCP(a)==0))
cout<<"CP not changed."<<endl;
else
cout<<"CP changed to الفريق العربي للبرمجة"<<a<<endl;
cout<< GetConsoleOutputCP() <<"\n";
system("PAUSE");
return 0;
}الكود يقوم بتغيير :
تم تضمين هذا السطر:
#define _WIN32_WINNT 0x0601
من أجل التعرف على نظام التشغيل الخاص بك وضم بعض الملفات الخاصه به :
Setting WINVER or _WIN32_WINNT
WIN32_WINNT_VERSION
بالنسبة للدالة SetCurrentConsoleFontEx فهي موجودة في أنظمة الــ windows ابتداء من الــ vista فما فوق فقط.
مراجع مفيدة :
راجع أيضا :
لا يمكنني أن أفيدك أكثر من هذا, لا تنسى أننا في مسابقة :)
أرجو لك التوفيق.
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 3 أغسطس 2012 في 01:07 — السبب: ننسيق المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
شكرا أخي أحمد أضن أني هده هي الفرصة لأتعلم التعامل مع العربية بالConsole.
بالنسبة للدالة
SetCurrentConsoleFontEx فهي موجودة في أنظمة الــ windows ابتداء من الــ vista فما فوق فقط.غير معرفة لدي.
windows 7 .
إذا لم تعمل معك الدالة SetCurrentConsoleFontEx فيمكنك استخدام الدالة SetConsoleFont لتغيير حجم الخط :
#include <windows.h>
#include <tchar.h>
#include <iostream>
using namespace std;
typedef struct _CONSOLE_FONT {
DWORD index;
COORD dim;
} CONSOLE_FONT;
BOOL WINAPI SetConsoleFont(HANDLE hOutput, DWORD fontIndex) {
typedef BOOL (WINAPI *PSetConsoleFont)(HANDLE, DWORD);
static PSetConsoleFont pSetConsoleFont = NULL;
if(pSetConsoleFont == NULL)
pSetConsoleFont = (PSetConsoleFont)::GetProcAddress(::GetModuleHandle(_T("kernel32")), "SetConsoleFont");
if(pSetConsoleFont == NULL) return FALSE;
return pSetConsoleFont(hOutput, fontIndex);
}
BOOL WINAPI GetConsoleFontInfo(HANDLE hOutput, BOOL bMaximize, DWORD fontIndex, CONSOLE_FONT* info) {
typedef BOOL (WINAPI *PGetConsoleFontInfo)(HANDLE, BOOL, DWORD, CONSOLE_FONT*);
static PGetConsoleFontInfo pGetConsoleFontInfo = NULL;
if(pGetConsoleFontInfo == NULL)
pGetConsoleFontInfo = (PGetConsoleFontInfo)::GetProcAddress(::GetModuleHandle(_T("kernel32")), "GetConsoleFontInfo");
if(pGetConsoleFontInfo == NULL) return FALSE;
return pGetConsoleFontInfo(hOutput, bMaximize, fontIndex, info);
}
DWORD WINAPI GetNumberOfConsoleFonts() {
typedef DWORD (WINAPI *PGetNumberOfConsoleFonts)();
static PGetNumberOfConsoleFonts pGetNumberOfConsoleFonts = NULL;
if(pGetNumberOfConsoleFonts == NULL)
pGetNumberOfConsoleFonts = (PGetNumberOfConsoleFonts)::GetProcAddress(::GetModuleHandle(_T("kernel32")), "GetNumberOfConsoleFonts");
if(pGetNumberOfConsoleFonts == NULL) return 0;
return pGetNumberOfConsoleFonts();
}
BOOL WINAPI SetConsoleIcon(HICON hIcon) {
typedef BOOL (WINAPI *PSetConsoleIcon)(HICON);
static PSetConsoleIcon pSetConsoleIcon = NULL;
if(pSetConsoleIcon == NULL)
pSetConsoleIcon = (PSetConsoleIcon)::GetProcAddress(::GetModuleHandle(_T("kernel32")), "SetConsoleIcon");
if(pSetConsoleIcon == NULL) return FALSE;
return pSetConsoleIcon(hIcon);
}
int main(int argc, char *argv[])
{
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
cout <<" \n\n/\n\n";
SetConsoleFont(h, 1);
system("PAUSE");
return EXIT_SUCCESS;
}C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
انتهت فترة تسليم المحاولات.
تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 7 أغسطس 2012 في 14:12 — السبب: تحديث المشاركة.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around. ― Dennis Ritchie
~OoO~________--------------------------------------------________~OoO~
من مواضيعي :
هذا الموضوع مغلق.