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

نام تاپیک: اشکال این برنامه کجاست

  1. #1

    اشکال این برنامه کجاست

    سلام دوستان . میشه توضیح بدید برا چی ارور میده؟
    #include <stdio.h>
    #include <conio.h>
    #include <iostream>
    #include <stdlib.h>
    #include <string.h>
    #include <io.h>
    #include <fcntl.h>
    using namespace std;
    #define max 50

    class student {
    public :
    char numst[11];
    char name[15];
    char famili[20];
    double score[4];
    double ave;
    student(); //initializing
    ~student(); //destructing
    set_null(){name[0]=numst[0]='\0';}
    }st[max];
    //************************************
    student::student(){ //initializing
    set_null();
    }
    //*************************************
    student::~student(){ //destructing
    set_null();
    }
    //*************************************
    class Enter {
    private :
    void save();
    public :
    void add();
    void edit();
    void search();
    void print();
    void len_file();
    void load();
    }e;
    //************************************************** ****************************
    void Enter::add(){
    int i;
    double sum=0.00;

    for(i=0;i<max && st[i].name[0]!='\0';i++);

    system("cls");
    cout<<"\n Enter a name : "<<flush;
    cin>>st[i].name;

    cout<<"\n Enter a famili : "<<flush;
    cin>>st[i].famili;

    cout<<"\n Enter a numst : "<<flush;
    cin>>st[i].numst;


    for(int j=0;j<4;j++){
    cout<<"\n Enter a score "<<j+1<<" : "<<flush;
    cin>>st[i].score[j];
    sum+=st[i].score[j];
    }

    st[i].ave=sum/4;

    e.save();
    }
    //************************************************** ****************************
    void Enter::edit(){
    char tmp[11];
    int i,flag=0;;
    double sum=0.00;

    system("cls");

    cout<<"\n Enter a numst for edit : "<<flush;
    cin>>tmp;

    for(i=0;i<max && st[i].name[0]!='\0';i++)
    if(strcmp(st[i].numst,tmp)==0){
    cout<<"\n Enter a new name : ";
    cin>>st[i].name;

    cout<<"\n Enter a new famili : ";
    cin>>st[i].famili;


    for(int j=0;j<4;j++){
    cout<<"\n Enter a new score "<<j+1<<" : "<<flush;
    cin>>st[i].score[j];
    sum+=st[i].score[j];
    }

    st[i].ave=sum/4;

    cout<<"\n for continue . press key..."<<flush;
    getch();
    flag=1;
    e.save();
    }

    if(flag==0){
    cout<<"\n Not found . press key..."<<flush;
    getch();
    return ;
    }
    }
    //************************************************** ****************************
    void Enter::search(){
    char tmp[15];
    int i,flag=0;


    system("cls");

    cout<<"\n Enter a name for search : "<<flush;
    cin>>tmp;

    for(i=0;i<max && st[i].name[0]!='\0';i++)
    if(strcmp(st[i].name,tmp)==0){
    cout<<"\n Name = "<<st[i].name<<flush;

    cout<<"\n Famili = "<<st[i].famili<<flush;


    for(int j=0;j<4;j++)
    cout<<"\n Score "<<j+1<<" = "<<st[i].score[j]<<flush;

    cout<<"\n average = "<<st[i].ave<<flush;

    cout<<"\n for continue . press key..."<<flush;
    getch();
    flag=1;
    }

    if(flag==0){
    cout<<"\n Not found . press key..."<<flush;
    getch();
    return ;
    }
    }
    //************************************************** ****************************
    void Enter::print(){
    int i;

    system("cls");

    for(i=0;i<max && st[i].name[0]!='\0';i++){

    cout<<"\n Name = "<<st[i].name<<flush;

    cout<<"\n Famili = "<<st[i].famili<<flush;

    for(int j=0;j<4;j++)
    cout<<"\n Score "<<j+1<<" = "<<st[i].score[j]<<flush;

    cout<<"\n average = "<<st[i].ave<<"\n\n"<<flush;
    }

    cout<<"\n for continue . press key..."<<flush;
    getch();

    }
    //************************************************** ****************************
    void Enter::save(void){
    register int i;
    FILE *fp;

    fp=fopen("c:\\st.dat","w+b");
    if(!fp){
    cout<<"\n Cannot open file press key ..."<<flush;
    getch();
    return ;
    }

    for(i=0;i<max && st[i].name[0]!='\0';i++)
    fwrite(&st[i],sizeof(class student),1,fp);

    fclose(fp);
    }
    //************************************************** ****************************
    void Enter::load(void){
    register int i;
    FILE *fp;

    system("cls");

    fp=fopen("c:\\st.dat","rb");
    if(!fp){
    cout<<"\n Cannot open file press key ..."<<flush;
    getch();
    return ;
    }

    for(i=0;i<max;i++){
    fread(&st[i],sizeof(class student),1,fp);
    if(feof(fp)){
    system("cls");
    cout<<" Data loaded press a key ..."<<flush;
    getch();
    return ;
    }
    }
    fclose(fp);
    }
    //************************************************** ****************************
    void Enter::len_file(){
    int handle;

    system("cls");

    handle=open("c:\\st.dat",O_RDONLY);

    cout<<"\n File lenght in byte = "<<filelength(handle)<<" byte "<<flush;
    getch();

    close(handle);

    }
    //************************************************** ****************
    void main(){
    int num;

    e.load();

    do{
    system("cls");
    cout<<"\t\t Welcome\n"<<flush;
    cout<<"\n 1).Add"<<flush;
    cout<<"\n 2).Edit"<<flush;
    cout<<"\n 3).Search"<<flush;
    cout<<"\n 4).List"<<flush;
    cout<<"\n 5).Length file"<<flush;
    cout<<"\n 6).Exit"<<flush;
    cout<<"\n\n Enter a number (1-6) :"<<flush;
    num=getche()-48;
    getch();

    switch (num){
    case 1 : e.add();
    break;
    case 2 : e.edit();
    break;
    case 3 : e.search();
    break;
    case 4 : e.print();
    break;
    case 5 : e.len_file();
    break;
    case 6 : exit(1);
    }
    }while(1);
    }// end program

  2. #2
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    این برنامه هیچ مشکلی نداره فقط باید با ویژوال سی پلاس پلاس کامپایل بشه خروجیشم ضمیمه شد ........
    فایل های ضمیمه فایل های ضمیمه

  3. #3

    نقل قول: اشکال این برنامه کجاست

    ba visual compile mikonam vali be set_null(){name[0]=numst[0]='\0';}
    gir mide

  4. #4

    نقل قول: اشکال این برنامه کجاست

    inam erroresh :
    error C4430: missing type specifier - int assumed. Note: C++‎ does not support default-int

  5. #5

    نقل قول: اشکال این برنامه کجاست

    خوب خطا هم که داره به شما مشکل را می گه!
    شما تابع set_null را تعریف کرده اید و نوع خروجی را مشخص نکرده اید، اگر خروجی ندارد باید کلمه void را قبل از set_null در تعریف قرار دهید.

  6. #6
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    بابا پس چرا به من گیر نمی ده و کامپایل میشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟

  7. #7

    نقل قول: اشکال این برنامه کجاست

    حالا من اگه توی همین برنامه بخوام جوری سرچ کنم که مثلا یه تیکه از اسم رو بزنم کل مشخصات یاد . بدون استفاده از توابع رشته ممکن هست همچین چیزی؟
    مثلا اسم یکی با pooria ذخیره شده . من بزنم oor خودش pooria رو بیاره

  8. #8

    نقل قول: اشکال این برنامه کجاست

    من قبلا یه برنامه نوشته بودم که یه تیکه از آدرس رو میزدی میومد . ولی الان میخوام بدون استفاده از توابع رشته بنویسم .

  9. #9

    نقل قول: اشکال این برنامه کجاست

    نقل قول نوشته شده توسط amin1softco مشاهده تاپیک
    بابا پس چرا به من گیر نمی ده و کامپایل میشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟
    برای اینکه مطمئن باشید نسخه کامپایلر شما با نسخه کامپایلر کاربر سوال کننده متفاوت هست. و در طی سال های مختلف استانداردهای مختلف تا حدود خاصی پیاده سازی می شوند.

  10. #10

    نقل قول: اشکال این برنامه کجاست

    Nima_NF میشه منو راهنمایی کنی؟

  11. #11

    نقل قول: اشکال این برنامه کجاست

    نقل قول نوشته شده توسط pooria_googooli مشاهده تاپیک
    من قبلا یه برنامه نوشته بودم که یه تیکه از آدرس رو میزدی میومد . ولی الان میخوام بدون استفاده از توابع رشته بنویسم .
    منطورتان از "بدون توابع رشته" چه هست؟ بدون توابع استاندارد؟
    می خواهید به شکل دستی با مقایسه تک تک کاکتر ها به نتیجه برسید؟

    اگر بله با روشی مانند کد زیر (دقت کنید کامپایل نکردم و ممکن هست خطاهایی داشته باشد):

    char name[10] = "test";
    char name_search[10] = "est";

    int cur_n = 0;
    int cur_s = 0;

    while(name[cur_n] != '\0')
    {
    if(name_search[cur_s] == name[cur_n] )
    {
    if(cur_s == strlen(name_search)-1)
    {
    // print name, it is Found.
    }
    cur_s++;
    cur_n++;
    }
    else
    {
    cur_n++;
    }
    }

  12. #12

    نقل قول: اشکال این برنامه کجاست

    کسی نیست که منو راهنمایی کنه؟

  13. #13
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    آخه شما مشکلت رو دقیق نمی گی چیه؟

  14. #14

    نقل قول: اشکال این برنامه کجاست

    ببین دوس عزیز سایت گوگل رو در نظر بگیر . مثلا میزنی دد تمام سایت های که توش دد هست رو میاره . دیگه فرقی نمیکنه دد باشه عدد باشه کدد باشه . اون میاره . منم اینجوری میخوام باشه . بدون استفاده از توابع استاندارد .

  15. #15

    نقل قول: اشکال این برنامه کجاست

    نقل قول نوشته شده توسط pooria_googooli مشاهده تاپیک
    ببین دوس عزیز سایت گوگل رو در نظر بگیر . مثلا میزنی دد تمام سایت های که توش دد هست رو میاره . دیگه فرقی نمیکنه دد باشه عدد باشه کدد باشه . اون میاره . منم اینجوری میخوام باشه . بدون استفاده از توابع استاندارد .
    شما این سوال را چند مرتبه پرسیدید و در پست قبلی ام با یک قطعه کد برایتان مثال زدم، حالا نمی دانم مشکل کجاست ؟!

  16. #16

    نقل قول: اشکال این برنامه کجاست

    کد شما مشکلی که داره اینه که کل داده هایی که مثلا دد دارند رو پیدا نمیکنه. فقط یکیرو پیدا میکنه.

  17. #17

    نقل قول: اشکال این برنامه کجاست

    کمکم کنید دیگه

  18. #18
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    فکر کنم منظورتون همینه

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
    string name[6] = {"test","sada","pest","nest","jjjyestse","st"};
    char name_search[10] = "est";


    for(int i=0;i<6;i++){
    int cur_n = 0;
    int cur_s = 0;
    while(name[i][cur_n] != '\0')
    {
    if(name_search[cur_s] == name[i][cur_n] )
    {
    if(cur_s == strlen(name_search)-1)
    {
    // print name, it is Found.
    cout<<name[i]<<endl;

    }
    cur_s++;
    cur_n++;
    }
    else
    {
    cur_n++;
    }
    }
    }
    }

  19. #19

    نقل قول: اشکال این برنامه کجاست

    نقل قول نوشته شده توسط pooria_googooli مشاهده تاپیک
    کد شما مشکلی که داره اینه که کل داده هایی که مثلا دد دارند رو پیدا نمیکنه. فقط یکیرو پیدا میکنه.
    شما 100 تا کلمه در یک فایل دارید، 100 مرتبه این عمل را تکرار می کنید، همه کلمه ها را تک تک با همین الگوریتم بررسی می کنید و هر کدام که درست بود پیدا می کنید!

    راهنمایی: بین هر کلمه یک فضای خالی (space) قرار دارد، پس راحت می توانید فضای ها بین هر دو فضای خالی ' ' را بررسی کنید.

    در هر صورت شما هم باید کمی دست به کد شوید، وقتی برنامه بررسی و پیدا کردن یک کلمه به شما داده شده، در یک حلقه دیگر با چند خط کد باید بتوانید کل فایل را بررسی کنید.

  20. #20

    نقل قول: اشکال این برنامه کجاست

    درسته . دستتون درد نکنه

  21. #21

    نقل قول: اشکال این برنامه کجاست

    برنامم داره کامل میشه . فقط یه سوال دیگه . قسمت لیست کردن بر حسب حروف الفبارو میشه اینم بدون توابع استاندارد نوشت؟

  22. #22
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    بله میشه شما ارزش هر کارکتر رو بوسیله تابع int بدست بیار و مقایسه کن....

  23. #23

    نقل قول: اشکال این برنامه کجاست

    میشه یه نمونه کد بدید ؟

  24. #24
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: اشکال این برنامه کجاست

    یه چیزی تو این مایه ها می شه....

    #include <iostream>
    #include <string>

    using namespace std;
    int lens(string a){
    int b=0;
    for (int i=0;i<a.length();i++)
    b+=int(a[i]);
    return b;
    }
    int main(int argc, char* argv[])
    {
    string s[10]={"aa","AA","oo","ma","shoma","ishan"};

    cout<<lens(s[0])<<" - "<<lens(s[1])<<endl;
    if(lens(s[0])>lens(s[1]))
    cout <<"s0 > s1"<<endl;
    else
    cout <<"s0 < s1"<<endl;

    return 0;
    }


  25. #25

    نقل قول: اشکال این برنامه کجاست

    بسیار مرسی

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

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