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

نام تاپیک: کمک در مورد یه نوع از فایل های متنی

  1. #1
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    کمک در مورد یه نوع از فایل های متنی

    سلام
    من یه برنامه میخوام که یه فایل با نامش که کاربر نامشو انتخاب کنه تو یه درایو یا یه فولدر تو یه درایو بریزه و هر چی دلش خواست توش وارد کنه (عدد،حرف،spaceو...) و تو یه فایل دیگه بیاد اعداد صحیح یا اعشاری رو بریزه یعنی مثلا تو فایل داریم

    am efkjd12sldjkad12 kasjd 12.1 dja345
    بعد بیاد تو فایل دوم یعنی فایل چاپش اینجوری چاپ کنه
    12
    12
    12.1
    345
    میبینید که هر عددی رو که میگیره یه خط میره پایینتر یعنی باید این کارم انجام بشه
    ببینید من ترم اولیم و درسامونو و تمرینام تموم شده
    این سوال یه سوال تو امتحانمون بود که هنوز استادمون چنین سوالی رو طرح نکرده بود و من اصلا نمیدونم چجوری باید حلش کرد پس از مدیر این بخش خواهش میکنم که احساس نکنن که من تمرین دانشجویی دادم و بیانو تاپیکمو حذف کنن
    در ضمن بگم که فقط از توابع fscanf و fprintf میخوام استفاده کنم نه با امکانات بیشتر
    یه چیز دیگه نوع فایلش متنی (notepad) باشه
    واقعا ممنون میشم اگه به من کمک کنید
    خیلی نوکریم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    خوب دوست عزیز کار با فایل رو که بلد هستید ایشالا !؟

    فکر نمیکنم نیازی باشه تمام کد نوشته بشه. فرض کن فایل اولیه اسمش input هست و فایل دومیه که قراره توش بنویسیم اسمش output هستش. راستی این فایل اولیه فقط یه خط داره !؟

    char str[100];
    fscanf(input, "%s", str);

    for(int i=0; i<strlen(str); i++){
    if(str[i]>='0' && str[i]<='9'){
    while(str[i]>='0' && str[i]<='9'){
    fprintf(output,"%c",str[i]);
    i++;
    }
    if(str[i]=='.' && str[i+1]>='0' && str[i+1]<='9'){
    fprintf(output,".");
    i++;
    while(str[i]>='0' && str[i]<='9'){
    fprintf(output,"%c",str[i]);
    i++;
    }
    }
    fprintf(output,"\n");
    }
    }

  3. #3
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    نه
    هر چی می خواد باشه دو خط سه خط ...
    الان اینی که شما نوشتین نام فایل رو هم مشخص میکنه ؟؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    در مورد اینکه اسم فایل رو هم مشخص میکنه یا نه ، خوب من فکر کردم اونجاش رو بلدی !!
    اما به هر حال این قسمت رو میتونی به ابتدای برنامت اضافه کنی :

    FILE *input,*output;
    char name_input[100],name_output[100];
    scanf("%s%s",name_input,name_output);
    input=fopen(name_input,"r");
    outout=fopen(name_output,"w");
    و اما اینکه چجوی بفهمی انتهای فایل هستی یا نه :
    while( fscanf( input, " %s", str) !=EOF )

  5. #5
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    نقل قول نوشته شده توسط qwerty11 مشاهده تاپیک
    در مورد اینکه اسم فایل رو هم مشخص میکنه یا نه ، خوب من فکر کردم اونجاش رو بلدی !!
    اما به هر حال این قسمت رو میتونی به ابتدای برنامت اضافه کنی :

    FILE *input,*output;
    char name_input[100],name_output[100];
    scanf("%s%s",name_input,name_output);
    input=fopen(name_input,"r");
    outout=fopen(name_output,"w");
    ]
    ببینید این که نوشتین درست ولی اگه بخوایم آدرس بذارم چی؟
    یعنی بخوایم فایل تو مثلا درایو سی ریخته بشه یا تو یه فولدر تو درایو سی؟؟؟

  6. #6
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    خواهشا میشه برنامه کامل اون چیزی که تا حالا رو گفتم بنویسین
    خیلی خیلی ممنون

  7. #7
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: کمک در مورد یه نوع از فایل های متنی

    نقل قول نوشته شده توسط amir-yeketaz مشاهده تاپیک
    ببینید این که نوشتین درست ولی اگه بخوایم آدرس بذارم چی؟
    یعنی بخوایم فایل تو مثلا درایو سی ریخته بشه یا تو یه فولدر تو درایو سی؟؟؟
    وا !!! خوب تو همون قسمت input_name میتونی آدرس هم بدی دیگه !! یعنی مثلاً input_name رو c:\\aa.txt بزاری.

    کل برنامه !؟ هرجوری فکر میکنم میبینم کل برنامه رو نوشتم ! ولی به هر حال :

    void main(){
    FILE *input,*output;
    char name_input[100],name_output[100];
    scanf("%s%s",name_input,name_output);
    input=fopen(name_input,"r");
    output=fopen(name_output,"w");
    char str[100];
    while( fscanf( input, " %s", str) !=EOF ){
    for(int i=0; i<strlen(str); i++){
    if(str[i]>='0' && str[i]<='9'){
    while(str[i]>='0' && str[i]<='9'){
    fprintf(output,"%c",str[i]);
    i++;
    }
    if(str[i]=='.' && str[i+1]>='0' && str[i+1]<='9'){
    fprintf(output,".");
    i++;
    while(str[i]>='0' && str[i]<='9'){
    fprintf(output,"%c",str[i]);
    i++;
    }
    }
    fprintf(output,"\n");
    }
    }
    }
    }

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

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