نمایش نتایج 1 تا 6 از 6

نام تاپیک: پروژه آژانس با visual C++‎

  1. #1
    کاربر جدید
    تاریخ عضویت
    دی 1390
    محل زندگی
    شمال
    پست
    16

    مشکل در کد search

    سلام
    ببخشید ممکنه برای رفع اشکال این برنامه کمکم کنید
    باید پروژه آژانس رو بنویسم(visual C++‎)
    تا اینجا من کدی نوشتم که اطلاعات راننده رو save ,show,searchکنه ، ولی نمیدونم چرا در قسمت searchفقط اطلاعات اولین شماره ماشین رو پیدا میکنه و نفرات بعدی رو search نمیکنه
    ممکنه راهنماییم کنید که مشکل این برنامه کجاست؟؟

     #include<fstream>
    #include<iostream>
    #include<conio.h>
    using namespace std;
    void save();
    //void delet();
    void search();
    //void edit();
    void show();
    struct driver
    {
    char fname[20];
    char lname[20];
    int codemelli;
    int carnum;
    };
    int main()
    {
    system("cls");
    int x;
    while(1)
    {
    system("cls");
    system ("color 1a");
    cout<<"(1) SAVE DRIVER INFORMATION:"<<"\n" ;
    cout<<"(2) DELETE DRIVER INFORMATION:"<<"\n" ;
    cout<<"(3) SEARCH DRIVER INFORMATION:"<<"\n" ;
    cout<<"(4) EDIT DRIVER INFORMATION:"<<"\n" ;
    cout<<"(5) SHOW "<<"\n" ;
    cout<<"(6) EXIT "<<"\n" ;
    cout<<"\n\n\n";
    cout<<"ENTER YOUR SELECTION(1_6):";
    cin>>x;
    switch(x)
    {
    case 1:
    save();
    break;
    /* case 2:
    delet();
    break;*/
    case 3:
    search();
    break;
    /*case 4:
    edit();
    break;*/
    case 5:
    show();
    break;
    case 6:
    exit(0);

    default:
    system("cls");
    cout<<"enter a value number:";
    _getch();
    }
    }
    return 0;
    }
    //.................................................. ..........................
    void save()
    {
    system("cls");
    system("color 4d");
    driver d;
    int n;
    ofstream file("a.dat",ios::binary|ios::app);
    if(!file)
    {
    cout<<"CAN NOT OPEN THE FILE.";
    getch();
    return;
    }
    cout<<"ENTER NUMBER OF DRIVER:";
    cin>>n;
    for(int i=0;i<n;i++)
    {
    cout<<"ENTER DRIVER FNAME :\n";
    cin>>d.fname;
    cout<<"ENTER DRIVER LNAME :\n";
    cin>>d.lname;
    cout<<"ENTER CAR NUMBER :\n";
    cin>>d.carnum;
    cout<<"ENTER CODE MELLI :\n";
    cin>>d.codemelli;
    cout<<"\n\n";
    file.write((char*)&d,sizeof(driver));
    }
    file.close();
    getch();
    }
    //.................................................. ...............................
    void show()
    {
    system("cls");
    system("color 0f");
    driver d;
    ifstream file("a.dat",ios::binary|ios::in);
    if(!file)
    {
    cout<<"can not open the file.\n";
    getch();
    return;
    }

    file.read((char*)&d,sizeof(driver));
    while(!file.eof())
    {

    cout<<"**************************************\n";
    cout<<d.fname<<" || "<<d.lname<<" || "<<d.carnum<<" || "<<d.codemelli<<"\n******************************* *******\n\n";
    file.read((char*)&d,sizeof(driver));
    }
    file.close();
    getch();
    }
    //.................................................. ..................................
    void search()
    {
    system("cls");
    system("color 1a");
    driver d;
    int number;
    fstream file("a.dat",ios::in|ios::out|ios::binary);
    if(!file)
    {
    cout<<"CAN NOT OPEN THE FILE.";
    getch();
    return;
    }
    cout<<"PLEASE ENTER CAR NUMBER FOR SEARCH:\n";
    cin>>number;
    file.read((char *)&d,sizeof(driver));
    while(!file.eof())
    {
    if(d.carnum==number)
    {
    cout<<d.fname<<"\n"<<d.lname<<"\n"<<d.carnum<<"\n" <<d.codemelli<<endl;
    file.read((char *)&d,sizeof(driver));
    break;
    }
    else
    {
    cout<<"SORRY NOT FOUND.";
    break;
    }
    }
    getch();
    file.close();
    }
    //.................................................. ....................

    آخرین ویرایش به وسیله a-t-e-f-e-h : دوشنبه 14 فروردین 1391 در 23:25 عصر

  2. #2

    نقل قول: پروژه آژانس با visual C++‎


    // drivers.cpp : Defines the entry point for the console application.
    //

    #include "stdafx.h"
    #include<fstream>
    #include<iostream>
    #include<conio.h>
    #include <windows.h>
    using namespace std;
    void save();
    //void delet();
    void search();
    //void edit();
    void show();
    struct driver
    {
    char fname[20];
    char lname[20];
    int codemelli;
    int carnum;
    };
    int main()
    {
    system("cls");

    int x;
    while(1)
    {
    system("cls");
    system ("color 1a");
    cout<<"(1) SAVE DRIVER INFORMATION:"<<"\n" ;
    cout<<"(2) DELETE DRIVER INFORMATION:"<<"\n" ;
    cout<<"(3) SEARCH DRIVER INFORMATION:"<<"\n" ;
    cout<<"(4) EDIT DRIVER INFORMATION:"<<"\n" ;
    cout<<"(5) SHOW "<<"\n" ;
    cout<<"(6) EXIT "<<"\n" ;
    cout<<"\n\n\n";
    cout<<"ENTER YOUR SELECTION(1_6):";
    cin>>x;
    switch(x)
    {
    case 1:
    save();
    break;
    /* case 2:
    delet();
    break;*/
    case 3:
    search();
    break;
    /*case 4:
    edit();
    break;*/
    case 5:
    show();
    break;
    case 6:
    exit(0);

    default:
    system("cls");
    cout<<"enter a value number:";
    _getch();
    }
    }
    return 0;
    }
    //.................................................. ..........................
    void save()
    {
    system("cls");
    system("color 4d");
    driver d;
    int n;
    ofstream file("a.dat",ios::binary|ios::app);
    if(!file)
    {
    cout<<"CAN NOT OPEN THE FILE.";
    getch();
    return;
    }
    cout<<"ENTER NUMBER OF DRIVER:";
    cin>>n;
    for(int i=0;i<n;i++)
    {
    cout<<"ENTER DRIVER FNAME :\n";
    cin>>d.fname;
    cout<<"ENTER DRIVER LNAME :\n";
    cin>>d.lname;
    cout<<"ENTER CAR NUMBER :\n";
    cin>>d.carnum;
    cout<<"ENTER CODE MELLI :\n";
    cin>>d.codemelli;
    cout<<"\n\n";
    file.write((char*)&d,sizeof(driver));
    SecureZeroMemory(&d,sizeof(d));
    }
    file.close();
    getch();
    }
    //.................................................. ...............................
    void show()
    {
    system("cls");
    system("color 0f");
    driver d;
    ifstream file("a.dat",ios::binary|ios::in);
    if(!file)
    {
    cout<<"can not open the file.\n";
    getch();
    return;
    }
    SecureZeroMemory(&d,sizeof(d));
    file.read((char*)&d,sizeof(driver));
    while(!file.eof())
    {

    cout<<"**************************************\n";
    cout<<d.fname<<" || "<<d.lname<<" || "<<d.carnum<<" || "<<d.codemelli<<"\n*************************** **** *******\n\n";
    SecureZeroMemory(&d,sizeof(d));
    file.read((char*)&d,sizeof(driver));
    }
    file.close();
    getch();
    }
    //.................................................. ..................................
    void search()
    {
    system("cls");
    system("color 1a");
    driver d;
    int number,fFound = 0;
    fstream file("a.dat",ios::in| ios::binary);
    if(!file)
    {
    cout<<"CAN NOT OPEN THE FILE.";
    getch();
    return;
    }
    cout<<"PLEASE ENTER CAR NUMBER FOR SEARCH:\n"\n"";
    cin>>number;
    do
    {
    SecureZeroMemory(&d,sizeof(d));
    file.read((char *)&d,sizeof(driver));
    if(d.carnum==number)
    {
    cout<<d.fname<<"\n"<<d.lname<<"\n"<<d.carnum<<"\n" <<d.codemelli<<"\n\n\n"<<endl;
    fFound = 1;
    continue;
    }
    if(!fFound)
    {
    cout<<"SORRY NOT FOUND.";
    break;
    }

    }while(!file.eof());

    getch();
    file.close();
    }

    مشکل حل شد؟

  3. #3
    کاربر جدید
    تاریخ عضویت
    دی 1390
    محل زندگی
    شمال
    پست
    16

    نقل قول: پروژه آژانس با visual C++‎

    نه متاسفانه
    باز هم فقط اولی رو پیدا میکنه
    برای بقیه اینو اجرا میکنه

    cout<<"SORRY NOT FOUND.";

    واسه همین بازم بقیه رو پیدا نمیکنه
    با این وجود برای اینکه وقت گذاشتید ممنونم

  4. #4

    نقل قول: پروژه آژانس با visual C++‎

    تصحیح شد.

    void search()
    {
    system("cls");
    system("color 1a");
    driver d;
    int number,fFound = 0;
    fstream file("a.dat",ios::in| ios::binary);
    if(!file)
    {
    cout<<"CAN NOT OPEN THE FILE.";
    getch();
    return;
    }
    cout<<"PLEASE ENTER CAR NUMBER FOR SEARCH:\n";
    cin>>number;
    do
    {
    SecureZeroMemory(&d,sizeof(d));
    file.read((char *)&d,sizeof(driver));
    if(d.carnum==number)
    {
    cout<<d.fname<<"\n"<<d.lname<<"\n"<<d.carnum<<"\n" <<d.codemelli<<"\n\n\n"<<endl;
    fFound = 1;
    continue;
    }
    }while(!file.eof());
    if(!fFound)
    cout<<"SORRY NOT FOUND.";
    getch();
    file.close();
    }

  5. #5
    کاربر جدید
    تاریخ عضویت
    دی 1390
    محل زندگی
    شمال
    پست
    16

    نقل قول: پروژه آژانس با visual C++‎

    سلام
    بله درست شد
    خیلی از لطفتون ممنونم
    میتونم بپرسم این عبارت برای چی استفاده میشه؟؟
    SecureZeroMemory(&d,sizeof(d));

    اولین باره میبینم

  6. #6

    نقل قول: پروژه آژانس با visual C++‎

    این کار یک عادت خوبه:
    این تابع می تونه حافظه رو تمییز کنه (با صفر کردن) که باعث میشه کمتر دچار اشکال بشین و خطا یابی رو آسونتر می کنه. تازه اگه اطلاعات حساس باشه ،برا امنیت باید انجام شه.
    تو برنامه حافظه ی ساختارd تمییز شده، برای پر شدن مجدد.
    اطلاعات بیشتر در مورد استفاده تابع:http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

قوانین ایجاد تاپیک در تالار

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