تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: يه سوال

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Nov 2008
    محل سكونت
    یزد
    پست ها
    182

    پيش فرض يه سوال

    هيچ كس ميتونه اين برنامه c رو به ++c تبديل كنه برنامه فايلي هست در مورد تبديل فايلها فقط كمك كنيد
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<iostream.h>
    #include<string.h>
    typedef struct {
    char na[10];
    char fa[15];
    long stno;
    float ave;
    }student;
    void add()
    {
    char *s;
    student stu;
    FILE *fp;
    fp=fopen("stu.dat","a");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    cout<<"\n enter a name ";
    gets(stu.na);
    cout<<"\n enter a famil ";
    gets(stu.fa);
    cout<<"\n enter a stno ";
    gets(s);
    stu.stno=atol(s);
    cout<<"\n enter a ave ";
    gets(s);
    stu.ave=atof(s);
    fwrite(&stu,sizeof(student),1,fp);
    fclose(fp);
    }
    //*****************
    void list()
    {
    student stu;
    FILE *fp;
    fp=fopen("stu.dat","r");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    fread(&stu,sizeof(student),1,fp);
    while(!feof(fp))
    {
    cout<<"\n ";
    cout<<stu.na<<" ";
    cout<<stu.fa<<" ";
    cout<<stu.stno<<" ";
    cout<<stu.ave<<" ";
    fread(&stu,sizeof(student),1,fp);
    }
    fclose(fp);
    }
    //*********************
    void sort()
    {
    student stu[100],temp;
    int i,j,k=0;
    FILE *fp;
    fp=fopen("stu.dat","r+");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    fread(stu+k,sizeof(student),1,fp);
    while(!feof(fp))
    {
    k++;
    fread(stu+k,sizeof(student),1,fp);
    }
    for(i=0;i<k;i++)
    for(j=i+1;j<k;j++)
    if(strcmpi(stu[i].fa,stu[j].fa)>0)
    {
    temp=stu[i];
    stu[i]=stu[j];
    stu[j]=temp;
    }
    rewind(fp);
    fwrite(stu,sizeof(student),k,fp);
    fclose(fp);
    }
    //**********************
    void del()
    {
    char *s;
    student stu[100],temp;
    int flag=0,k=0;
    long stno;
    FILE *fp;
    fp=fopen("stu.dat","r");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    cout<<"\n enter a stno for del ";
    gets(s);
    stno=atol(s);
    fread(&temp,sizeof(student),1,fp);
    while(!feof(fp))
    {
    if(temp.stno==stno)
    flag=1;
    else
    stu[k++]=temp;
    fread(&temp,sizeof(student),1,fp);
    }
    fclose(fp);
    if(flag==0)
    cout<<"\n not found ";
    fp=fopen("stu.dat","w");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    fwrite(stu,sizeof(student),k,fp);
    fclose(fp);
    }
    //*********************
    void update()
    {
    char *s;
    student stu[100],temp;
    int flag=0,k=0;
    long stno;
    FILE *fp;
    fp=fopen("stu.dat","r+");
    if(!fp)
    {
    cout<<"\n can not open file ";
    getch();
    exit(0);
    }
    cout<<"\n enter a stno for update ";
    gets(s);
    stno=atol(s);
    fread(&temp,sizeof(student),1,fp);
    while(!feof(fp))
    {
    if(temp.stno==stno)
    {
    flag=1;
    cout<<"\n enter a new stno ";
    gets(s);
    temp.stno=atol(s);
    }
    stu[k++]=temp;
    fread(&temp,sizeof(student),1,fp);
    }
    rewind(fp);
    if(flag==0)
    cout<<"\n not found ";

    fwrite(stu,sizeof(student),k,fp);
    fclose(fp);
    }
    //********************
    void main()
    {
    clrscr();
    char ch;
    while(1)
    {
    cout<<"\n enter a for add s for";
    cout<<"\n sort l for list u for update d for del";
    ch=getche();
    switch(ch)
    {
    case 'a':
    case'A':
    add();
    list();
    break;
    case 'l':
    case'L':
    list();
    break;
    case 'd':
    case'D':
    del();
    list();
    break;
    case 's':
    case'S':
    sort();
    list();
    break;
    case 'u':
    case'U':
    update();
    list();
    break;
    }
    cout<<" Do you continue? n for no ";
    ch=getche();
    cout<<"\n";
    if(ch=='n' || ch=='N')
    break;
    }
    getch();
    }
    Last edited by ppp1486; 29-05-2009 at 21:35.

  2. #2
    اگه نباشه جاش خالی می مونه warmaster's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    0101World
    پست ها
    253

    پيش فرض

    تویه cpp دیگه لازم نیست فایل تعریف کنی
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به عنوان مثال دستور read در بالا میاد به اندازه ی struct student از تو فایل می خونه و میریزه تو متغیر stu که از نوع struct studen تعریف شده
    Last edited by warmaster; 29-05-2009 at 23:33.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •