انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: ext4 یا ntfs ؟ به روایت آمار خودم ؟  (دفعات بازدید: 1560 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
ext4 یا ntfs ؟ به روایت آمار خودم ؟
« : 19 خرداد 1391، 09:55 ب‌ظ »
چند روز پیش برای شخصی پروژه پایانیش رو انجام دادم (شرمنده که همچینی کار بدی رو انجام دادم و اون هم برای پول)
هرچند بماند که چرا پروژه پایانی لیسانس یک شخص چرا باید اینقدر ابتدایی باشه و چرا ماها اینقدر بی‌سواد هستیم

برنامه اینه که یک فایل 100 مگابایتی ایجاد میکنه سپس اون فایل رو در اندازه‌های 10 مگابایت - یک مگابایت و 100 کیلو بایت ذخیره و یا می‌خونه
و اینکار باید در ویندوز و گنو/لینوکس انجام بشه و نتیجه رو بصورت نمودار نمایش داده بشه

نتیجه رو نمی‌گم خودتون ببینید
برای دیدن نتیجه کار بصورت جدول و نمودار
http://mustafajf.persiangig.com/Projects/File/FileProject.docx

دریافت فایل اجرایی برای گنو و ویندوز (به حجم دو فایل توجه کنید)
http://mustafajf.persiangig.com/Projects/File/GNUFile
http://mustafajf.persiangig.com/Projects/File/WinFile.exe

و در آخر کد پروژه (البته برای اینکه استاد شک نکنه برنامه بصورت ابتدایی نوشته شده و همچنین سطح برنامه نویسی من هم بالا نیست در کل ببخشید برای برنامه)
http://mustafajf.persiangig.com/Projects/File/GNUFile.cpp


من تا وقتی که این برنامه رو ننوشته بودم کاملا برعکس فکر می‌کردم
خوشحال میشم نظر شما رو هم بدونم
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19703
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : ext4 یا ntfs ؟ به روایت آمار خودم ؟
« پاسخ #1 : 23 خرداد 1391، 12:13 ق‌ظ »
با یه فرمت استاندارد می‌ذاشتی حداقل. مثل odt یا حتا pdf
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : ext4 یا ntfs ؟ به روایت آمار خودم ؟
« پاسخ #2 : 23 خرداد 1391، 10:27 ق‌ظ »
با یه فرمت استاندارد می‌ذاشتی حداقل. مثل odt یا حتا pdf

چون طرف برای ویندوز می‌خواستش و منم خیلی حوصله نداشتم دیگه تبدیل نکردم خلاصه دیگه شرمنده ولی به زودی درستش می‌کنم
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : ext4 یا ntfs ؟ به روایت آمار خودم ؟
« پاسخ #3 : 23 خرداد 1391، 10:29 ق‌ظ »
#include <iostream>
#include <fstream>
#include <string>
#include <ctime>
#include <cstring>
#include <cstdlib>

using namespace std;

void Menu();
void GetTime();
void clrscr();
void SetFileNames();
//****************آرایه دو بعدی برای ذخیره نام فایلها
char fileNames[1024][4];
long start, end, buffer, fileSize, oldFileSize = 1024000;
//***************************کلاس ایجاد و خواندن فایل
class file
{
    char str[1025];
    long bytes;
    public:
        file();
        ~file();
        void setStr(char chr);
        void makeFile(char *fileName, int buffer, long fileSize);
        void readFile(char *fileName, int buffer, long fileSize, bool writeDevided);
        void delFile ();
}File;

file::file()
{
    setStr('a');
    makeFile("Text.txt",1024,102400);
}

file::~file()
{
    remove("Text.txt");
}

void file::setStr(char chr)
{
for (int i = 0; i <= 1023; i++)
    str[i] = chr;
}

void file::makeFile(char *fileName, int buffer, long fileSize)
{
    ofstream out(fileName, ios::out | ios::binary);
    long aaa = 0;
    bytes = fileSize * 1024 / buffer;
    while (aaa < bytes)
    {
        out.write(str, buffer);
        aaa ++;
    }
    out.close();
}

void file::readFile(char *fileName, int buffer, long fileSize, bool wr)
{
    ifstream in(fileName, ios::in | ios::binary);
    int a;
    ofstream out;
        File.delFile();
    for (int i = 0; i < 102400 / fileSize; i++)
    {
        if (wr)
            out.open((char*)fileNames[i], ios::out | ios::binary);
        for (int j = 0; j < ((102400 / (102400 / fileSize)) * 1024) / buffer; j++)
        {
            in.read(str, buffer);
            if (wr)
                out.write(str, buffer);
        }
        out.close();
    }
    in.close();
    oldFileSize = fileSize;
}

void file::delFile ()
{
    for (int i = 0; i < 102400 / oldFileSize; i++)
        remove((char*)fileNames[i]);
}

int main (int argc,char *argv[])
{
    SetFileNames();
    Menu();
    return 0;
}

//*******************نمایش منو برای تعیین اندازه بافر, اندازه فایل و ایجاد و یا خواندن فایل در بافر
void Menu()
{
    int choice;
    cout << "\n ( 1 ) - Set the size of buffer" << "\n ( 2 ) - Set the size of File" << "\n ( 3 ) - Create the File" << "\n ( 4 ) - Read Read the File" << "\n ( 5 ) - Exit" << "\n" ;
    cout << "\n Enter the number (1 to 5) : ";
    cin >> choice;
    switch (choice)
    {
        case 1:
        {
            clrscr();
            cout << "\n  - Enter the size of buffer (under 1024) : ";
            cin >> buffer;
            Menu();
            break;
        }
        case 2:
        {
            clrscr();
            cout << "\n (Sizes [100-MB ; 10-MB ; 1-MB ; 100-KB] are recomended) for 100MB enter 102400 \n  - Enter the size of File in KB : ";
            cin >> fileSize;
            Menu();
            break;
        }
        case 3:
        {
            clrscr();
            if (buffer <= 0)
                cout << "Set the buffer`s size \n";
            else if (fileSize <= 0)
                cout << "Set the File`s size \n";
            else
            {
                File.readFile("Text.txt", buffer,fileSize, true);
                GetTime();
            }
            Menu();
            break;
        }
        case 4:
        {
            clrscr();
            if (buffer <= 0)
                cout << "Set the buffer`s size \n";
            else if (fileSize <= 0)
                cout << "Set the File`s size \n";
            else
            {
                File.readFile("Text.txt", buffer,fileSize, false);
                GetTime();
            }
            Menu();
            break;
        }
        case 5:
        {
            File.delFile();
            exit(1);
        }
        default:
            while (choice < 1 || choice >5)
            {
                cout << "\n Choose a number between 1 to 5 : ";
                cin >> choice;
            }
    }
}

//*******************تابع تعیین زمان سپری شده برای انجام هر عملیات
void GetTime()
{
    long miliSecond, seconds, minutes, timer;
    start = end;
    end = clock() / 1000;
    timer = difftime (end, start);
    miliSecond = timer % 1000;
    seconds = timer / 1000 % 60;
    minutes = timer / 60000;
    cout << endl << minutes << " Minutes " << seconds << " Seconds " << miliSecond << " Mili Seconds " <<  endl;
}

//********************تابع برای ایجاد یکدسته فایل برای تقسیم کردن فایل بزرگتر به فایلهای کوچکتر
void SetFileNames()
{
    int aaa = 0;
    for(int i = 97; i <= 122; i++)
        for(int j = 97; j <= 122; j++)
            for(int k = 97; k <= 122; k++)
            {
                if (aaa == 1024)
                    break;
                fileNames[aaa][0] = (char)i;
                fileNames[aaa][1] = (char)j;
                fileNames[aaa][2] = (char)k;
                aaa++;
            }
}

void clrscr()
{
    for (int i = 0; i < 60; i++)
        cout << endl;
}
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید