الاتصال بنا



النتائج 1 إلى 10 من 10

الموضوع: اليكم هذا البرنامج الذي كتبته

  1. #1
    فضلاً اكتب اسمك الحقيقي هنا
    زائر


    برنامج عنوان ودليل هاتف المسجل
    وهي بلغة ++C


    <BLOCKQUOTE><font size="1" face=" Arial">code:</font><HR><pre>
    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /* header files */
    #include &lt;stdio.h&gt;
    #include &lt;conio.h&gt;
    #include &lt;ctype.h&gt;
    #include &lt;string.h&gt;
    #include &lt;stdlib.h&gt;

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /* define constants */
    #define Address_Logo "Abu Omar ADDRESS BOOK"
    #define chose_Logo "Please chose from the Manu"
    #define filename "C:\\data.txt"
    #define HelpFile "C:\\help.txt"

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /*prototypes*/
    void main (void);
    void mainmenu (void);
    void inputdata(void);
    int ValidatePostCode(char* PC);
    void SearchBySname (void);
    void SearchBySnameAndPostCode (void);
    void ViewAllRecords (void);
    void help (void);
    void ViewCredtis (void);

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /* Implementation:
    define global variables */
    struct record
    {
    char fname[22];
    char sname[22];
    char street[42];
    char PostCode[9];
    char country[22];
    char tel[13];
    };

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/


    /* define main function */
    void main (void)
    {
    mainmenu (); /* gose to our Main Menu */
    };

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /* our Main Menu */

    void mainmenu (void)
    {
    clrscr();
    char chose;

    /*the main menu print out*/
    gotoxy(28,2);
    printf("%s\n",Address_Logo);

    gotoxy(20,5);
    printf("[A] Create a database of clients.\n");

    gotoxy(20,6);
    printf("[B] Search by surname.\n");

    gotoxy(20,7);
    printf("[C] Search by surname and postcode.\n");

    gotoxy(20,8);
    printf("[V] View all records.\n");

    gotoxy(20,9);
    printf("[H] Help!\n\n");

    gotoxy(20,12);
    printf("[E] Exit.\n");

    gotoxy(20,11);
    printf("[F] View Credits...");

    gotoxy(25,15);
    printf("=======&gt; ..... &lt;=======");
    gotoxy(36,15);

    /*now the switch statement for our menu */

    scanf("%c",&chose);
    switch (toupper(chose))
    {
    case 'A': inputdata();
    case 'B': SearchBySname();
    case 'C': SearchBySnameAndPostCode();
    case 'V': ViewAllRecords();
    case 'H': help();
    case 'F': ViewCredtis();
    case 'E':
    { clrscr();
    gotoxy(15,10);
    printf("Thank you for useing Anmar's Address Book");};
    getchar();
    exit('0');
    default: mainmenu();

    };

    fflush(stdin);
    getchar();
    };

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    /* This is our input data and writing to a Disk File */
    void inputdata (void)
    {
    clrscr();
    char chose;

    /* Defining a pointer fp to a file to be opend later */
    FILE *fp;

    /* setting a record of the name client */
    struct record client;

    /* Defining a pointer to a record an initialising it do the address of the record client*/
    struct record *clptr=&client;

    fp = fopen(filename,"a+");

    if (fp == NULL)
    puts("Can't open file!!! Back to main menu ");

    else
    {
    fflush(stdin);

    puts("Enter First Name -Max 20 characters =&gt; ");
    gets(clptr -&gt; fname);
    fflush(stdin);

    puts("Enter Last Name -Max 20 characters =&gt;\t");
    gets(clptr -&gt; sname);
    fflush(stdin);

    puts("Enter Street Address -Max 40 characters =&gt;\t");
    gets(clptr -&gt; street);
    fflush(stdin);

    again:
    puts("Enter PostCode -Max 7 characters( ex. HA9 8LY )=&gt;\t");
    char PC[8];
    int test = 0;
    gets(PC);
    test = ValidatePostCode(PC);
    if (test ==0)
    {
    printf (" You have entered a wrong post code.Enter [R] to \n retry or any key to go Back to main menu!!\n\n");
    char chose;
    scanf("%c",&chose);
    fflush(stdin);
    chose=toupper(chose);
    if ( chose == 'R') goto again;

    mainmenu() ;
    };

    strcpy(clptr -&gt; PostCode,PC);
    fflush(stdin);


    puts("Enter Country of person -Max 20 characters =&gt;\t");
    gets(clptr -&gt; country);
    fflush(stdin);

    puts("Enter the phone number -Max 11 characters =&gt;\t");
    gets(clptr -&gt; tel);
    fflush(stdin);

    /* asking the user if ok to save to file */
    printf("\n\nSave to file: Y(for Yes) N(for No)?");
    scanf("%c",&chose);
    chose = toupper(chose);
    if (chose == 'Y' )
    {

    fputs(clptr -&gt; fname,fp); fputs("\n",fp);
    fputs(clptr -&gt; sname,fp); fputs("\n",fp);
    fputs(clptr -&gt; street,fp);fputs("\n",fp);
    fputs(clptr -&gt; PostCode,fp);fputs("\n",fp);
    fputs(clptr -&gt; country,fp);fputs("\n",fp);
    fputs( clptr -&gt; tel,fp);fputs("\n",fp);

    fflush(stdin);
    fclose(fp);

    printf("Do you like to add another entry: Y(for Yes) N(for No)?");
    scanf("%c",&chose);
    chose = toupper(chose);
    if (chose == 'Y' )inputdata();
    };
    mainmenu ();


    };

    };

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    int ValidatePostCode(char* PC)
    {

    int counter = 0;
    counter = strlen(PC);
    if ( counter != 7)
    {
    printf(" Counter = %d ",counter);
    printf( " : Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };

    if ( !(*PC &gt;='A' && *PC &lt;= 'Z'))
    {
    printf(" First Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC &gt;='A' && *PC &lt;= 'Z'))
    {
    printf(" Second Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC &gt;= '0' && *PC &lt;= '9'))
    {
    printf(" Third Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC = ' '))
    {
    printf(" Fourth Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC &gt;= '0' && *PC &lt;='9'))
    {
    printf(" Fifth char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC &gt;='A' && *PC &lt;= 'Z'))
    {
    printf(" Sixth Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    *PC++;
    if ( !(*PC &gt;='A' && *PC &lt;= 'Z'))
    {
    printf(" Seventh Char: Invalid Post Code: Check and re-enter again!!\n");
    fflush(stdin);

    return 0;
    };
    /* otherwise Post Code is valid we return true = 1 */
    return 1;

    };


    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    void SearchBySname(void)
    {
    clrscr();
    char InputSurname[22];
    struct record client;

    FILE *fp;
    fp = fopen(filename,"r");

    if (fp == NULL)
    {

    puts("Can't open file!!! Press Enter to go Back to main menu ");
    getchar();
    mainmenu ();
    };

    printf("Enter surname your looking for =&gt;");
    scanf("%s",InputSurname);

    int length;
    length=strlen(InputSurname);
    InputSurname[length]='\n';
    InputSurname[length+1]='\0';


    while(!feof(fp))
    {

    fgets(client.fname,80,fp);
    fgets(client.sname,80,fp);
    fgets(client.street,80,fp);
    fgets(client.PostCode,80,fp);
    fgets(client.country,80,fp);
    fgets(client.tel,80,fp);


    if (strcmpi(client.sname,InputSurname)==0)
    {
    printf("%s%s%s%s%s%s\n\n\n",client.fname,client.sname,
    client.street,client.PostCode,client.country,client.tel);
    fflush(stdin);
    fclose(fp);
    printf("Do you like another search: Y(for Yes) N(for No)?");
    char chose;
    scanf("%c",&chose);
    chose = toupper(chose);
    if (chose == 'Y' )SearchBySname();
    else mainmenu();
    };

    };

    printf("Sorry it's not there!\n");
    printf("Do you like another search: Y(for Yes) N(for No)?");
    fflush(stdin);
    char chose;
    scanf("%c",&chose);
    chose = toupper(chose);
    if (chose == 'Y' )
    {
    fclose(fp);
    SearchBySname();
    }
    else mainmenu();
    getchar();


    };

    /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

    void SearchBySnameAndPostCode (void)
    {
    clrscr();
    char InputSurname[22];
    char InputPostCode[9];
    struct record client;
    char chose;
    FILE *fp;
    fp = fopen(filename,"r");

    if (fp == NULL)
    {

    puts("Can't open file!!! Press Enter to go Back to main menu ");
    getchar();
    mainmenu ();
    };

    printf("Enter surname your looking for =&gt;");
    scanf("%s",InputSurname);
    fflush(stdin);
    int length;
    length=strlen(InputSurname);
    InputSurname[length]='\n';
    InputSurname[length+1]='\0';

    again:
    printf("Enter his/her Post Co







  2. #2
    فضلاً اكتب اسمك الحقيقي هنا
    زائر











  3. أعتذر للأخوة الزوار لم أستطع أن أضعه من اليسار الى اليمين !!

    ولكن إذا قمتم بنسخه ولصقه في الورد ربما يسهل قرائته .

    شكرا لكم.





    أبوعمرالمبرمج غير متواجد حالياً

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 1999
    المشاركات
    799


    شكرا لك ...

    استخدم الكود [code] وحطة بينها [/code.]

    طبعا في الثانية بدون . نقطة


    ------------------
    ســـامر الليـــــــل





    Vampire غير متواجد حالياً

  5. #5


    شكرا لك أخوي جزاك الله كل خير ..
    نتمنى إنك تواصل في تقديم البرامج

    أتمنى إنك تسمح لي أحاول أنقل البرنامج لكود لغة الباسكال أو الدلفي
    ونشره لتعم الفائدة



    ------------------
    البريد الإلكتروني lonly200@yahoo.com








    الخبير غير متواجد حالياً



  6. أخي الخبير

    تفضل بنقله بلغة الباسكال ...

    أبدا خذ راحتك...

    الأخ Vampire كفانا الله شر الـ Vampires

    شكرا لك على هذه المساعدة







    أبوعمرالمبرمج غير متواجد حالياً

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Jan 2000
    المشاركات
    43


    انت عملت كمبايل لما سويت البرنامج باية برنامج؟
    انا ب Visua C++ لكن يوجد
    2Errors
    وشكرا

    ------------------
    المعرفة قوة





    M-006 غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jan 2000
    المشاركات
    36


    السلام عليكم ورحمة الله وبركاته

    لو سمحت لي يا أخ "أبوعمر" ... "المبرمج" ، هناك عدة ملاحظات (في الحقيقة وبشكل أكثر "صراحة" أخطاء) ، منها :

    1- البرنامج بلغة C وليس بلغة ++C .
    2- البرنامج يفتقد للتنظيم المتعارف عليه عند مبرمجي سي و سي++ ، ألا وهو تقسيم التعاريف في ملف (Header file) و الأوامر البرمجية نفسها (Source code) في ملف آخر .
    3- البرنامج أيضا يحتوي على بعض الطرق "القديييييييييمه" التي لم تعد تسعمل هذه الأيام ، مثل :
    }struct record
    ...
    ؛{
    فستحتاج عند إستخدام هذا النوع إلى كتابة :
    ؛struct record xyz
    في كل مرة تستخدم هذا المتغير في برنامجك ، بينما يمكنك تعريفه بالطريقة التاليه :
    }typedef struct _recrod#
    ...
    ؛record{
    وبهذا يمكنك إستخدامه مباشرة كالتالي :
    ؛record xyz

    4- البرنامج مأخوذ من مصدر لم تشر إليه ، وأتوقع أن يكون مجلة "بريطانيه" لعدة أسباب ، منها :
    أ) - يستخدم الإسم الأول first name و اللقب Sure name ، بينما كان بإمكانك إستبدال هذا بالإسم الأول و الثاني و العائلة (كما هو متعارف عليه عندنا نحن "العرب").
    ب) يستخدم رمزا بريديا كالتالي HA9 8LY (كما هو مكتوب في ملاحظات البرنامج) وهذا الرمز هو المستخدم في بريطانيا . في الوظيفة التي تتأكد من صحة الرمز البريدي المدخل ، يتأكد من أنه بهذا الشكل (7 خانات) ، بينما تستخدم الدول العربية (و أمريكا!!!) رمزا بريديا يتكون من 4 أرقام غالبا . كان بإمكانك تعديل البرنامج لتفادي هذا .
    لا مشكلة من نقل البرامج كطريقة أولية لتعلم البرمجة ، ولكن يجب الإشارة أولا إلى مصدرها ، إذ سيتبادر إلى ذهن القاريء أنك أنت الذي كتبتها (كما حدث هذا مع الأخ "الخبير" الذي إستسمحك في نقل البرنامج) وتعلم ما في هذا من الإيهام .

    5- قد تكون ردودا قاسية ، ولكنها "الحقيقة" التي يجب عليك تقبلها.

    دمتم بخير






    xeerh غير متواجد حالياً



  9. السلام عليكم ورحمة الله وبركاته

    أخي xeerh


    ملاحظاتك أخي الكريم في محلها ولكن ....أنني نقلت البرنامج فهذا غير صحيح...

    لسبب أنني طالب في بريطانيا...

    وعنوان بريدي إن أحببت مراسلتي هو

    100 Carlton Ave Est
    Wembley
    Middlesex HA9 8LY
    UK


    وهو فقط مثال لكي اتمكن من إجبار المدخل لنوع معين من الرمز البريدي

    وهذا برنامج كتبته للتعلم فكما تعلم أنه في DOS Level Programing

    ولم أستخدم تقنية النوافذ

    ودمتم بخير

    ملاحظة : قمت بإستخدام Borland C++ Compiler Ver. 4.52
    في كتابة البرنامج وتنفيذه...







    أبوعمرالمبرمج غير متواجد حالياً

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Jan 2000
    المشاركات
    36


    السلام عليكم ورحمة الله وبركاته

    عذرا عن "الإتهام" ، ولكن لاتزال الملاحظات قائمه.

    دمتم بخير






    xeerh غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0