الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب مساعدة في كود

بدأه aegr في 1 ديسمبر 2011 · 7 رد · 861 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم..هذا البرنامج ما فهمته .. ..الرجاء المساعدة من ذوي الخبرة

اكتب برنامج بدون استخدام جمله switch لطباعة رمز ( كود ) وجنسية اي مواطن من الدول المختلفة عند ادخال كود البلد لاي شخص مع استمرار عمل البرنامج دون توقف الى ان يطلب المستخدم ذلك ؟

جزاكم الله خير

#2

ممكن نعمل كتلة البيانات الخاصة بنا على هيئة هيكل بيانات بأستخدام struct كالتالى:

struct country
{
    char nation [10] ;
    int code;
};

بالنسبة لجزء انهاء البرنامج فلتكون القيمة صفر . ولنعتبرها قيمة المتغير ncode كالتالى:

do
{
 // ضف هنا الكود الذى تتوقعة
}while(ncode != 0);

اﻵن تمتلك مفاتيح الحل . قم بتجميع الكود وترتيب اﻻفكار وحاول وضف محاولتك هنا بالمنتدى .

تم تعديل هذه المشاركة بواسطة محمد ابوزايد في 2 ديسمبر 2011 في 11:59

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

#3

عفوا لم ندرس struct بعد..الا يوجد طريقة اخرى

#4

يمكن إستخدام مصفوفتين، واحدة لتخزين أكواد الدول و الأخرى لتخزين أسماء الجنسيات المقابلة للأكواد. و عند إدخال كود الدولة إبحث فى المصفوفة الأولى إلى أن تجده ثم إخرج الجنسية المقابلة من المصفوفة الثانية.

#5
اقتباس
عفوا لم ندرس struct بعد..الا يوجد طريقة اخرى

أستخدم مصفوفة من نوعى srting وint

 string nation [200] ;
    int code[200];

ابسط فابسط ..........

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

#6

شكرا جزيلا على مشاركتكم جميعا ساحاول ان استخدم المصفوفات..واطبق الفكرة.

جزاكم الله خير

#7
Blueteeth كتب:

يمكن إستخدام مصفوفتين، واحدة لتخزين أكواد الدول و الأخرى لتخزين أسماء الجنسيات المقابلة للأكواد. و عند إدخال كود الدولة إبحث فى المصفوفة الأولى إلى أن تجده ثم إخرج الجنسية المقابلة من المصفوفة الثانية.

ا

تم تعديل هذه المشاركة بواسطة aegr في 15 ديسمبر 2011 في 00:07

#8

البرنامج التالى يطبع أسم الدولة بمجرد أدخال كدو الدولة المكون من حرفين انكليزى كبيرة مثل SU أو EG .. الخ.

كيف تم أنشاء هذا الكود

  1. الحصول على قائمة باسم الدولة والكود من أحد المواقع.
  2. ثم نسخ الدولة وكودة من الموقع والمكون من عمودين و246 صفا .
  3. لصقها فى برنامج معالج الجداول الحسابية.
  4. فكونت لدينا عمودين و 246 صفا.
  5. العمود اﻻول A أسم الدولة
  6. العمود B كود الدولة
  7. فى العمود الثالث كتبت المعادلة =""""&B1&A1&""""&","
  8. لتنتج لنا التالى: "ADAndorra",
  9. كرر المعادلة على باقى الصفوف لتحصل على قيم جاهزة لتدخل فى المصفوة النصية الكبيرة.
  10. نسخ العمود الثالث والصقة فى كود بلوك.
  11. فقط ضف اﻻقواس واسم المتغير للقائمة. طبعا هذا يسهل كثيرا مع التعامل السلسة النصية الضخمة. التى تتطلب معالجة مبديئة.
  12. تم استخدام الفئة string وهى اﻻفضل فى معالجة النصوصفى سي++ عن بدائلها المعقدة فى السى.
  13. تم استخدام تقنيات مفتوحة المصدر بالكامل codeblock و liberoffice calc و ubuntu .

كود البرنامج :

#include <iostream>
using namespace std;
string CodeCountry[] =
{
    "ADAndorra",
    "AEUnited Arab Emirates",
    "AFAfghanistan",
    "AGAntigua and Barbuda",
    "AIAnguilla",
    "ALAlbania",
    "AMArmenia",
    "ANNetherlands Antilles",
    "AOAngola",
    "AQAntarctica",
    "ARArgentina",
    "ASAmerican Samoa",
    "ATAustria",
    "AUAustralia",
    "AWAruba",
    "AXÅland Islands",
    "AZAzerbaijan",
    "BABosnia and Herzegovina",
    "BBBarbados",
    "BDBangladesh",
    "BEBelgium",
    "BFBurkina Faso",
    "BGBulgaria",
    "BHBahrain",
    "BIBurundi",
    "BJBenin",
    "BMBermuda",
    "BNBrunei Darussalam",
    "BOBolivia",
    "BRBrazil",
    "BSBahamas",
    "BTBhutan",
    "BVBouvet Island",
    "BWBotswana",
    "BYBelarus",
    "BZBelize",
    "CACanada",
    "CCCocos (Keeling) Islands",
    "CDCongo, the Democratic Republic of the",
    "CD Zaire",
    "CFCentral African Republic",
    "CGCongo",
    "CHSwitzerland",
    "CICôte D'Ivoire",
    "CKCook Islands ",
    "CLChile",
    "CMCameroon",
    "CNChina ",
    "COColombia",
    "CRCosta Rica",
    "CUCuba",
    "CVCape Verde",
    "CXChristmas Island",
    "CYCyprus",
    "CZCzech Republic",
    "DEGermany",
    "DJDjibouti",
    "DKDenmark",
    "DMDominica",
    "DODominican Republic",
    "DZAlgeria",
    "ECEcuador ",
    "EEEstonia",
    "EGEgypt",
    "EHWestern Sahara",
    "EREritrea",
    "ESSpain",
    "ETEthiopia ",
    "FIFinland",
    "FJFiji",
    "FKFalkland Islands (Malvinas)",
    "FMMicronesia, Federated States of",
    "FOFaroe Islands",
    "FRFrance",
    "GAGabon ",
    "GBUnited Kingdom",
    "GDGrenada",
    "GEGeorgia ",
    "GFFrench Guiana",
    "GGGuernsey",
    "GHGhana",
    "GIGibraltar",
    "GLGreenland",
    "GMGambia ",
    "GNGuinea",
    "GPGuadeloupe",
    "GQEquatorial Guinea",
    "GRGreece",
    "GSSouth Georgia and the South Sandwich Islands",
    "GTGuatemala",
    "GUGuam",
    "GWGuinea-Bissau",
    "GYGuyana",
    "HKHong Kong",
    "HMHeard Island and Mcdonald Islands",
    "HNHonduras",
    "HRCroatia",
    "HTHaiti",
    "HUHungary",
    "IDIndonesia",
    "IEIreland",
    "ILIsrael",
    "IMIsle of Man",
    "INIndia",
    "IOBritish Indian Ocean Territory",
    "IQIraq ",
    "IRIran, Islamic Republic of",
    "ISIceland",
    "ITItaly",
    "JEJersey",
    "JMJamaica",
    "JOJordan",
    "JPJapan",
    "KEKENYA",
    "KGKyrgyzstan",
    "KHCambodia",
    "KIKiribati",
    "KMComoros",
    "KNSaint Kitts and Nevis",
    "KPKorea, Democratic People's Republic of",
    "KRKorea, Republic of",
    "KWKuwait",
    "KYCayman Islands",
    "KZKazakhstan",
    "LALao People's Democratic Republic",
    "LBLebanon",
    "LCSaint Lucia",
    "LILiechtenstein",
    "LKSri Lanka",
    "LRLiberia",
    "LSLesotho",
    "LTLithuania",
    "LULuxembourg",
    "LVLatvia",
    "LYLibyan Arab Jamahiriya",
    "MAMorocco",
    "MCMonaco",
    "MDMoldova, Republic of",
    "MEMontenegro",
    "MGMadagascar",
    "MHMarshall Islands",
    "MKMacedonia, the Former Yugoslav Republic of",
    "MLMali ",
    "MMMyanmar",
    "MNMongolia",
    "MOMacao",
    "MPNorthern Mariana Islands",
    "MQMartinique",
    "MRMauritania",
    "MSMontserrat",
    "MTMalta",
    "MUMauritius",
    "MVMaldives",
    "MWMalawi ",
    "MXMexico",
    "MYMalaysia ",
    "MZMozambique",
    "NANamibia",
    "NCNew Caledonia",
    "NENiger ",
    "NFNorfolk Island",
    "NGNigeria",
    "NINicaragua",
    "NLNetherlands",
    "NONorway",
    "NPNepal",
    "NRNauru",
    "NUNiue ",
    "NZNew Zealand",
    "OMOman",
    "PAPanama",
    "PEPeru",
    "PFFrench Polynesia",
    "PGPapua New Guinea",
    "PHPhilippines",
    "PKPakistan",
    "PLPoland",
    "PMSaint Pierre and Miquelon",
    "PNPitcairn",
    "PRPuerto Rico",
    "PSPalestinian Territory, Occupied",
    "PTPortugal",
    "PWPalau",
    "PYParaguay",
    "QAQatar",
    "RERéunion ",
    "RORomania",
    "RSSerbia",
    "RURussian Federation",
    "RWRwanda",
    "SASaudi Arabia ",
    "SBSolomon Islands",
    "SCSeychelles",
    "SDSudan",
    "SESweden",
    "SGSingapore",
    "SHSaint Helena",
    "SISlovenia",
    "SJSvalbard and Jan Mayen",
    "SKSlovakia",
    "SLSierra Leone",
    "SMSan Marino",
    "SNSenegal",
    "SOSomalia",
    "SRSuriname",
    "STSao Tome and Principe",
    "SVEl Salvador",
    "SYSyrian Arab Republic",
    "SZSwaziland",
    "TCTurks and Caicos Islands",
    "TDChad",
    "TFFrench Southern Territories",
    "TGTogo",
    "THThailand",
    "TJTajikistan",
    "TKTokelau",
    "TLTimor-Leste",
    "TMTurkmenistan",
    "TNTunisia",
    "TOTonga",
    "TRTurkey",
    "TTTrinidad and Tobago",
    "TVTuvalu",
    "TWTaiwan, Province of China",
    "TZTanzania, United Republic of",
    "UAUkraine",
    "UGUganda",
    "UMUnited States Minor Outlying Islands",
    "USUnited States",
    "UYUruguay",
    "UZUzbekistan",
    "VAHoly See (Vatican City State)",
    "VA Vatican City State",
    "VCSaint Vincent and the Grenadines",
    "VEVenezuela",
    "VGVirgin Islands, British",
    "VIVirgin Islands, U.S.",
    "VNViet Nam",
    "VUVanuatu",
    "WFWallis and Futuna",
    "WSSamoa",
    "YEYemen",
    "YTMayotte",
    "ZASouth Africa",
    "ZMZambia",
    "ZWZimbabwe",
    "00"
};

int main()
{
    string Code = "00";
    string Letter1, Letter2, CodeCmp;
    cout <<"Enter Counry Code 2 letter only ex: EG, AF, AD: " ;
    cin >> Code;
    int i = 0;
    do
    {
        Letter1 = CodeCountry[0];
        Letter2 = CodeCountry[1];
        CodeCmp = Letter1+Letter2;
        if(Code == CodeCmp) cout <<"**************" << endl<< &CodeCountry[2] ;
        i++;
    }
    while (CodeCmp != "00");
    return 0;
}

المخرجات:

auda@nxpc:~$ ./coutrylist 
Enter Counry Code 2 letter only ex: EG, AF, AD: EG
**************
Egypt

ملاحظات:

  1. ﻻحظ ان تدخل كود الدولة كحرفين كبيرين.
  2. تم دمج كود الدولة مع أسم الدولة.
  3. أن وجدت أى ملاحات يمكنك اضافتها

تحياتى العطرة

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

مواضيع مشابهة