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

نیازمند کمک فوری در مورد c++ و class ها !!!

yahya73

Registered User
تاریخ عضویت
23 ژوئن 2013
نوشته‌ها
303
لایک‌ها
133
درود دوستان !
نمونه کد زیر کارش اینکه میشه اطلاعات یک دانشجو رو وارد کرد -- اطلاعات ووارد شده رو مشاهده کرد - اطلاعات وارد شده رو پاک کرد ...

به طور ساده برنامه ثبت اطلاعات دانشجویان هست . که با struct و فایل نوشته شده ...

اینو از نت دانلود کردم ...
اما چیزی که من میخوام اینکه همین برنامه دقیقا با همین کار کرد با Class نوشته شده باشه ..
ممنون میشم راهنمایی کنید چطور انجام بدیم ... خواهشا واضح راهنمایی کنید سطح برنامه نویسی c++ من زیر خط فقره


کد:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <conio.h>
#include <iomanip>

using namespace std;
int main()
{
    FILE *fp, *ft;
    char another, choice;

    struct student
    {
        char first_name[50], last_name[50];
        char course[100];
        int section;
    };

    struct student e;
    char xfirst_name[50], xlast_name[50];
    long int recsize;

    fp=fopen("users.txt","rb+");

    if (fp == NULL)
    {
        fp = fopen("users.txt","wb+");

        if (fp==NULL)
        {
            puts("Cannot open file");
            return 0;
        }
    }


    recsize = sizeof(e);

    while(1)
    {
        system("cls");

        cout << "\t\t====== STUDENT DATABASE MANAGEMENT SYSTEM ======";
        cout <<"\n\n                                          ";
        cout << "\n\n";
        cout << "\n \t\t\t 1. Add    Records";
        cout << "\n \t\t\t 2. List   Records";
        cout << "\n \t\t\t 3. Modify Records";
        cout << "\n \t\t\t 4. Delete Records";
        cout << "\n \t\t\t 5. Exit   Program";
        cout << "\n\n";
        cout << "\t\t\t Select Your Choice :=> ";
        fflush(stdin);
        choice = getche();
        switch(choice)
        {
        case '1' :
            fseek(fp,0,SEEK_END);
            another ='Y';
            while(another == 'Y' || another == 'y')
            {
                system("cls");
                cout << "Enter the Firt Name : ";
                cin >> e.first_name;
                cout << "Enter the Last Name : ";
                cin >> e.last_name;
                cout << "Enter the Course    : ";
                cin >> e.course;
                cout << "Enter the Section   : ";
                cin >> e.section;
                fwrite(&e,recsize,1,fp);
                cout << "\n Add Another Record (Y/N) ";
                fflush(stdin);
                another = getchar();
            }
            break;
        case '2':
            system("cls");
            rewind(fp);
            cout << "=== View the Records in the Database ===";
            cout << "\n";
            while (fread(&e,recsize,1,fp) == 1)
            {
                cout << "\n";
                cout <<"\n" << e.first_name << setw(10)  << e.last_name;
                cout << "\n";
                cout <<"\n" <<e.course <<  setw(8)  << e.section;
            }
            cout << "\n\n";
            system("pause");
            break;

        case '3' :
            system("cls");
            another = 'Y';
            while (another == 'Y'|| another == 'y')
            {
                cout << "\n Enter the last name of the student : ";
                cin >> xlast_name;

                rewind(fp);
                while (fread(&e,recsize,1,fp) == 1)
                {
                    if (strcmp(e.last_name,xlast_name) == 0)
                    {
                        cout << "Enter new the Firt Name : ";
                        cin >> e.first_name;
                        cout << "Enter new the Last Name : ";
                        cin >> e.last_name;
                        cout << "Enter new the Course    : ";
                        cin >> e.course;
                        cout << "Enter new the Section   : ";
                        cin >> e.section;
                        fseek(fp, - recsize, SEEK_CUR);
                        fwrite(&e,recsize,1,fp);
                        break;
                    }
                    else
                        cout<<"record not found";
                }
                cout << "\n Modify Another Record (Y/N) ";
                fflush(stdin);
                another = getchar();
            }
            break;


        case '4':
            system("cls");
            another = 'Y';
            while (another == 'Y'|| another == 'y')
            {
                cout << "\n Enter the last name of the student to delete : ";
                cin >> xlast_name;

                ft = fopen("temp.dat", "wb");

                rewind(fp);
                while (fread (&e, recsize,1,fp) == 1)

                    if (strcmp(e.last_name,xlast_name) != 0)
                    {
                        fwrite(&e,recsize,1,ft);
                    }
                fclose(fp);
                fclose(ft);
                remove("users.txt");
                rename("temp.dat","users.txt");

                fp=fopen("users.txt","rb+");

                cout << "\n Delete Another Record (Y/N) ";
                fflush(stdin);
                another = getchar();
            }

            break;

        case '5':
            fclose(fp);
            cout << "\n\n";
            cout << "\t\t     THANK YOU FOR USING THIS SOFTWARE";
            cout << "\n\n";
            exit(0);
        }
    }


    system("pause");
    return 0;
}

خودم شاید 5 درصد کد نویسی این برنامه رو بلد باشم خواهشا راهنمایی کنید . اخر ترمه باید پروژه تهیه کنم
 

yahya73

Registered User
تاریخ عضویت
23 ژوئن 2013
نوشته‌ها
303
لایک‌ها
133
عزیزان اگر کسی میتونه انجام بده هزینشم پرداخت میکنم
 

ahpiri

Registered User
تاریخ عضویت
5 می 2010
نوشته‌ها
217
لایک‌ها
38
محل سکونت
تهران
در خدمتم. اگر هنوز تمایل دارید کار براتون انجام بشه لطفا پیام خصوصی بدین.
 

yahya73

Registered User
تاریخ عضویت
23 ژوئن 2013
نوشته‌ها
303
لایک‌ها
133
توقف تایپیک
 
بالا