اشتراک کاربر غير فعال شد خوش آمديد!
05:22 چهارشنبه 19 بهمن ماه ، 1390
سايت سيد ابوالفضل ميرخليلي: تالار گفتمان

MySite.com :: نمايش موضوعات - پروژه دفترچه تلفن

پروژه دفترچه تلفن

 

ارسال موضوع جديد  پاسخ به اين موضوع   ارسال تشکر 

   MySite.com صفحه اول انجمن -> تمرينهاي برنامه نويسي

نمايش موضوع قبلي :: نمايش موضوع بعدي  
نويسنده پيغام

mirkhalili
کاربر جدید
کاربر جدید

وضعيت: آفلاين
23 اسفند ماه ، 1386
تعداد ارسالها: 12
امتياز: 1437
تشکر کرده: 0
تشکر شده 0 بار در 0 پست

محل سكونت: يزد

ارسالارسال شده در: يكشنبه، 8 ارديبهشت ماه ، 1387 15:26:00    موضوع مطلب: پروژه دفترچه تلفن پاسخ همراه با اعلان

دفترچه تلفن:
اين برنامه شامل 17 تابع و 454 خط مي باشد، پيچيدگي زماني برنامه براي هر بخش حداكثر 100 مي‌باشد.
ويژگي‌ها:
1- قسمت درج خودكار اطلاعات و ايجاد صفحه جديد
2- مرتب‌سازي برنامه
3- نمايش اطلاعات
4- جستجوي اطلاعات
5- ويرايش اطلاعات
6- پاك نمودن يك شخص از دفترچه
7- پشتيبان‌گيري از برنامه
8- برگرداندن اطلاعات
9- راهنماي برنامه

بازگشت به بالا

رويت مشخصات كاربر ارسال پيغام شخصي شناسه Yahoo شناسه MSN
تشکرهاي ثبت شده از ايجاد کننده تاپيک :
 

mirkhalili
کاربر جدید
کاربر جدید

وضعيت: آفلاين
23 اسفند ماه ، 1386
تعداد ارسالها: 12
امتياز: 1437
تشکر کرده: 0
تشکر شده 0 بار در 0 پست

محل سكونت: يزد

ارسالارسال شده در: يكشنبه، 8 ارديبهشت ماه ، 1387 15:27:13    موضوع مطلب: پاسخ همراه با اعلان

:كد
كد برنامه:
//Address Book Ver 6.02
//Perfessor:Mr.Dehghani
//Stu: Sayed Abolfazl mirkhalili
//ID Stu: 83918893303
#include <fstream>
#include <conio>
#include <iostream>
#include <iomanip>
#include <string>
#include <stdlib>
#include <stdio>
#include <STRING>
//---------------------------- struct
  struct personal
    {
     int ID;
     char Family[15], Name[15], Father[15], place[15], Tel[15], Mobile[15], address[100];
    }p,q;
  FILE *fp;
  int end;
// ---------------------------Function
void menu(int choice);
void page();
void print(struct personal);
void add_record(void);
void del_record(void);
void switch_s(int word);
void search(void);
void display_list(void);
void edit_tab(void);
void edit_list(void);
void help(void);
void write_file(struct personal);
void auto_id();
void backup();
void restory();
void box(int r=6,int c=4);
void sort();
بدنه:

// ---------------- Main ----------------
int main()
{
  int pass, choice;
  char numstr[2];
  box(6,7);
  cprintf ("Enter Password:");
  gotoxy(38,10);
  textcolor(0);
  textbackground(0);
  cscanf("%d",&pass);
  textbackground(0);
  if (pass!=502)
      {
      gotoxy(29,12);
      cout << " Password not valid ";
      getch();
      return 0;
      }
  fp = fopen ("data.dat","a+b");
  if (!fp){
     box(6,6);
     printf("cannot open file.");
     }
  do
   {
    clrscr();
    system("cls");
    textcolor(9);
    cprintf ("************** Address Book Ver 6.02 *************");
    cprintf ("***************  Mirkhalili ****************");
    box(11,3);
    cout << "\n";
    cout << "      1 - Creat Personal\n";
    cout << "      2 - View all Personal\n";
    cout << "      3 - Search a personal and Delete or edit\n";
    cout << "      4 - Backup Information\n";
    cout << "      5 - Restory Backup\n";
    cout << "      6 - Help\n";
    cout << "      7 - Exit program\n";
    cout << "\n";
    cout << "                                    Enter choice:  ";
    cin >>  numstr;
    choice = atoi(numstr);
    menu (choice); // ----------------load menu
   } while (choice != 7);  //--------Repeat menu
  fclose(fp);
  return 0;
}
منوي اصلي:

// -----------------------------------Menu
void menu(int choice)
 {
  switch(choice)
   {
    case 1:
     add_record();  // --------- call function for add
     break;
    case 2:
     display_list(); // -------- call function for veiw
     break;
    case 3:
     search(); // -------------- call function for search
     break;
    case 4:
     backup(); // ---------- call a function for backup
     break;
    case 5:
     restory();  // ----------- call a function for restory
    break;
    case 6:
     help();  // ----------------- call a function for help
    break;
    case 7:   // -----------------call a function for Exit
    break;
    default :
    {
      gotoxy(30,30);
      choice=0;
      cout <<"Invalid choice\n";
     }
   break;
   }
 }
تابع افزودن:

//---------------------------------- ADD
void add_record(void)
{
 while (1) {
  page();
  gotoxy(30,16);
  printf("Enter for add New Record");
  gotoxy(13,5) ;
  p.ID=1;
  gets(p.Family);
  if(!p.Family[0])
      break ;
  gotoxy(51,5) ;
  gets(p.Name) ;
  gotoxy(13,7);
  gets(p.Father) ;
  gotoxy(52,7);
  gets(p.place) ;
  gotoxy(15,9);
  gets(p.Tel);
  gotoxy(53,9);
  gets(p.Mobile);
  gotoxy(14,11);
  gets(p.address);
  write_file(p);
  }
}
تابع ايجاد صفحه خالي:
 // --------------------------------Page
void page()
{
 system("cls");
 clrscr();
 textcolor(6);
 textbackground(5);
 int i;
 for (i=1;i<18;i++)
 {
  gotoxy(2,i);
  cprintf("                                                                    ");
 }
 gotoxy(3,1);
 cprintf("-------------------------------------------------------------------");
 gotoxy(3,2);
 cprintf("~~~~~~~~~~~~~~~~~~~~~ Address Book ver 6.02 ~~~~~~~~~~~~~~~~~~~~~~~~");
 textcolor(6);
 textbackground(9);
 gotoxy(5,5);
 cprintf("Family:");
 gotoxy(45,5);
 cprintf("Name:") ;
 gotoxy(5,7);
 cprintf("Father:");
 gotoxy(45,7);
 cprintf("Place:");
 gotoxy(5,9);
 cprintf("Telephon:");
 gotoxy(45,9);
 cprintf("Mobile:");
 gotoxy(5,11);
 cprintf("Address:");
 gotoxy(3,15);
 textcolor(6);
 textbackground(5);
 cprintf("```````````````````````````````````````````````````````````````````");
 gotoxy(3,16);
 cprintf("-------------------------------------------------------------------");
}

بازگشت به بالا

رويت مشخصات كاربر ارسال پيغام شخصي شناسه Yahoo شناسه MSN

mirkhalili
کاربر جدید
کاربر جدید

وضعيت: آفلاين
23 اسفند ماه ، 1386
تعداد ارسالها: 12
امتياز: 1437
تشکر کرده: 0
تشکر شده 0 بار در 0 پست

محل سكونت: يزد

ارسالارسال شده در: يكشنبه، 8 ارديبهشت ماه ، 1387 15:27:48    موضوع مطلب: پاسخ همراه با اعلان

:كد
تابع حذف ركورد:
  // ---------------------- DELET
void del_record(void)
{
 struct personal s[100];
 int i,id=1;
 auto_id();
 rewind(fp);
 fread (s ,sizeof(struct personal), end, fp);
 fclose(fp);
 for (i=0;i<end-1;i++){
   if (p.ID!=s[i].ID){
     s[i].ID=id;
     id++;
     fwrite (&s[i] ,sizeof(struct personal), 1, fp);
   }
 }
 fclose(fp);
 fp = fopen ("data.dat","a+b");
 box(5,1);
 cout <<delete> Edit   2--> Delete   3--> Back Menu  -->");
    do  {
       cin >> word;
       s = atoi(word);
       switch_s(s); // ----------------load menu
        } while (s<1>3);  //--------Repeat menu
    break;
   }
  }
   if (tf)
     {
       box(6,1);
       cout << "Not is name this address book.";
       getch();
     }

}
void switch_s(int word)
{
    switch(word)
   {
     case 1:
      break;
     case 2:
      del_record(); // -------- call function for del
      break;
     case 3:   // -----------------call a function for Menu
      break;
     default :
       {
     gotoxy(30,20);
     printf("Try agan: ");
     word=0;
       }
   break;
   }
}
تابع نمايش:
// --------------------  DISPLY
void display_list()
{
 while (!feof(fp)){
   fread (&p ,sizeof(struct personal), 1, fp);
   page();
   print (p);
   gotoxy(55,15);
   printf("Record: %d",p.ID);
   gotoxy(35,17);
   printf("Next Veiw Record Press Enter");
   getch();
 }
}
تابع چاپ:
 //------------------------ PRINT
void print (struct personal)
{
 gotoxy(13,5) ;
 cout << p.Family;
 gotoxy(51,5) ;
 cout << p.Name;
 gotoxy(13,7);
 cout << p.Father;
 gotoxy(52,7);
 cout << p.place;
 cout << p.Tel;
 gotoxy(53,9);
 cout << p.Mobile;
 gotoxy(14,11);
 cout << p.address;
}
تابع ويرايش:
//------------------------ Edit_Tab
void edit_tab(void)
{
  page();
  gotoxy(30,16);
  printf("Enter for Edit ");
  gotoxy(13,5) ;
  gets(p.Family);
  gotoxy(51,5) ;
  gets(p.Name) ;
  gotoxy(13,7);
  gets(p.Father) ;
  gotoxy(52,7);
  gets(p.place) ;
  gotoxy(15,9);
  gotoxy(53,9);
  gets(p.Mobile);
  gotoxy(14,11);
  gets(p.address);
}


آخرين ويرايش توسط mirkhalili در تاريخ يكشنبه، 8 ارديبهشت ماه ، 1387 15:39:43; دفعات ويرايش در مجموع : 1 مرتبه

بازگشت به بالا

رويت مشخصات كاربر ارسال پيغام شخصي شناسه Yahoo شناسه MSN

mirkhalili
کاربر جدید
کاربر جدید

وضعيت: آفلاين
23 اسفند ماه ، 1386
تعداد ارسالها: 12
امتياز: 1437
تشکر کرده: 0
تشکر شده 0 بار در 0 پست

محل سكونت: يزد

ارسالارسال شده در: يكشنبه، 8 ارديبهشت ماه ، 1387 15:29:04    موضوع مطلب: پاسخ همراه با اعلان

:كد
تابع ويرايش فايل:
//------------------------  EDIT
void edit_list(void)
{
 struct personal s[100];
 int i;
 edit_tab();
 auto_id();
 rewind(fp);
 fclose(fp);
 fp = fopen ("data.dat","w+b");
 for (i=0;i<end-1;i++){
   if (p.ID!=s[i].ID){
     fwrite (&s[i] ,sizeof(struct personal), 1, fp);
   }
   else
     fwrite (&p ,sizeof(struct personal), 1, fp);
 }
 fclose(fp);
 box(5,1);
 cout << "-- Edit record --";
 getch();
}
تابع چاپ راهنماي برنامه:
//-----------------------  HELP
void help(void)
{
 FILE *hp;
 char ch;
 hp = fopen ("help.txt","r");
 clrscr();
 while (!feof(hp)){
   fscanf (hp ,"%c", &ch);
   cout << ch;
 }
 fclose(hp);
 getch();
}
تابع افزودن به فايل:
// ---------------------    WRITE
void write_file(struct personal)
{
 auto_id();
 p.ID=end;
 clrscr();
}
تابع ساخت شماره ركورد:
// --------------------- SEARCH ID
void auto_id()
{
 rewind (fp);
 while (!feof(fp)){
   fread (&q ,sizeof(struct personal), 1, fp);
   end=q.ID+1;
 }
}
تابع پشتيبان‌گيري:
// ------------------------- Backup
void backup()
{
 FILE *b;
 b = fopen ("A:backup.am","w+b");
 if (!b){
     box(6,2);
     printf("Please Disk in the flopy and try agen.");
   }
 rewind (fp);
 while (!feof(fp)){
   fwrite (&p ,sizeof(struct personal), 1, b);
   }
 box(6,3);
 printf("Backup information end.");
 fclose(b);
 getch();
}
تابع بازسازي فايل:
//-------------------------- Restory
void restory()
{
 FILE *b;
 b = fopen ("A:backup.am","r+b");
 if (!b){
   box(6,9);
   printf("Please Disk in the flopy and try agen.");
  }
 rewind (b);
   fread (&p ,sizeof(struct personal), 1, b);
   fwrite (&p ,sizeof(struct personal), 1, fp);
   }
 box(6,5);
 printf("Restory information end.");
 fclose(b);
 getch();
}
تابع ايجاد جعبه:
// -------------------------- BOX
void box(int r,int c)
{
  clrscr();
  gotoxy(16,7);
  cout << "------------ Address Book Ver 6.02 ------------";
  textcolor(4);
  textbackground(c);
  for (;r>0;r--)
   {
    cprintf ("                                                 ");
   }
  gotoxy(22,10);
}
تابع مرتب سازي:
//------------------sort
void sort()
{
 struct personal s[100];
 int i,j;
 auto_id();
 rewind(fp);
 fread (s ,sizeof(struct personal), end, fp);
 for (i=0;i<end-1;i++){
   for (j=i+1;j<end>s[i].Family){
     q=s[i];
     s[i]=s[j];
     s[j]=q;
     }
   }
 }
 for (i=0;i<end;i++)
   s[i].ID=i+1;
 fclose(fp);
 fp = fopen ("data.dat","w+b");
 fwrite (s ,sizeof(struct personal), end, fp);
 fp = fopen ("data.dat","a+b");
}

بازگشت به بالا

رويت مشخصات كاربر ارسال پيغام شخصي شناسه Yahoo شناسه MSN
تمامي مطالب ارسال شده:   
ارسال موضوع جديد   پاسخ به اين موضوع   ارسال تشکر

   MySite.com صفحه اول انجمن -> تمرينهاي برنامه نويسي

زمان پيشفرض سايت: ساعت گرينويچ + 3.5 ساعت
صفحه 1 از 1
  
نام کاربري:      کلمه عبور:     

~ يا ~
عضويت در سايت

  


 


Powered by phpBB © 2001, 2008 phpBB Group