نمایش نتایج 1 تا 40 از 320

نام تاپیک: مجموعه برنامه های نوشته شده به زبان C و ++C

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار majidmir
    تاریخ عضویت
    اردیبهشت 1387
    سن
    34
    پست
    199

    کتابخانه با امکان ورود - ویرایش- حذف -به امانت گرفتن و پس دادن کتاب

    کتابخانه با امکان ورود - ویرایش- حذف -به امانت گرفتن و پس دادن کتاب
    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>

    //===========================
    //===========================
    class book
    {
    friend class library;

    private:
    char book_name[11];
    char explain[51];
    char aouther[11];
    char part;

    char user[11];
    int reserved;

    book *next;

    public:
    book();
    void edit();
    void reserv();
    void getback();
    }
    //---------------------------
    book::book()
    {
    clrscr();

    cout<<"============ add a new book =================="
    <<"\n\nto insert new book ,enter flow informations:"
    <<"\n\nbook name?";
    gets(book_name);
    book_name[10]=NULL;

    cout<<"\naouther name?";
    gets(aouther);
    aouther[10]=NULL;

    cout<<"\nany explain?";
    gets(explain);
    explain[50]=NULL;

    part=book_name[0];

    reserved=0;

    next=NULL;

    cout<<"\n\ninformathions set!";
    getch();
    }
    //---------------------------
    void book::edit()
    {
    cout<<"error ";
    }
    //---------------------------
    void book::reserv()
    {
    clrscr();
    cout<<"\n=========== reserving book ===================";

    if(reserved==0)
    {
    cout<<"\n\nuser name?";
    gets(user);
    user[11]=NULL;

    reserved=1;
    }

    if(reserved==0)
    {
    cout<<"\n\nsorry! book has been reserved befor"
    <<"by user:";
    puts(user);
    }

    getch();
    }
    //---------------------------
    void book::getback()
    {
    reserved=0;

    cout<<"\n\nbook got bak.";
    getch();
    }
    //===========================
    //===========================
    class library
    {
    public:
    library();
    void run_menu();

    private:
    book *parts[24];
    void insert(book*);
    void find();
    void search();

    }
    //---------------------------
    library::library()
    {
    for(int i=0;i<=23;i++)
    parts[i]=NULL;

    }
    //---------------------------
    void library::run_menu()
    {

    char ch='n';

    while(ch!='4')
    {
    clrscr();

    cout<<"================= LIBRARY =================="
    <<"\n\n1:add a new book."
    <<"\n2:find a book."
    <<"\n3:search a book."
    <<"\n4:exit."
    <<"press numbers:";


    ch=getch();


    if(ch=='1')
    {
    book *n=new book;
    insert(n);
    }
    if(ch=='2')
    {
    find();
    }
    if(ch=='3')
    {
    search();
    }

    }//while
    }
    //---------------------------
    void library::insert(book *s)
    {
    int d=s->part-97;

    if(parts[d]==NULL)
    {
    parts[d]=s;
    }
    else
    {
    book *p=parts[d],*q;
    while(p!=NULL && strcmp(p->book_name,s->book_name)<0)
    {
    q=p;
    p=p->next;
    }
    q->next=s;
    s->next=p;
    }

    }
    //---------------------------
    void library::find()
    {
    clrscr();

    cout<<"=========== edit / delete books ============"
    <<"\nenter exact book name:";
    char name[11];
    gets(name);
    name[11]=NULL;
    int d=name[0]-97;

    book *p=parts[d],*q;
    while(p!=NULL && strcmp(p->book_name,name)!=0)
    {
    q=p;
    p=p->next;
    }
    if(p==NULL)
    {
    cout<<"not found!";
    }
    if(p!=NULL)
    {
    cout<<"\n\ndelete it?('d') or edit?('e')"
    <<" or reserv?('r') or getback?('g') :";
    char ch=getch();
    if(ch=='d')
    {
    q->next=p->next;
    delete p;
    }
    if(ch=='e')
    {
    p->edit();
    }
    if(ch=='r')
    {
    p->reserv();
    }
    if(ch=='g')
    {
    p->getback();
    }
    }
    getch();
    }
    //---------------------------
    void library::search()
    {
    char ch='6';

    while(ch!='4')
    {
    clrscr();
    cout<<"================== SEARCH ===================";
    cout<<"\n\n1:search for name."
    <<"\n2:search for aouther."
    <<"\n3:search for explanations."
    <<"\n4:back to main menu.(press numbers)";

    ch=getch();

    if(ch=='1')
    {
    cout<<"\n\nenter exact name:";
    char name[10];
    gets(name);
    name[11]=NULL;

    int d=name[0]-97;
    book *p=parts[d];
    while(p!=NULL && strcmp(p->book_name,name)!=0)
    {
    p=p->next;
    }
    if(p==NULL)
    {
    cout<<"\nnot founded!";
    }
    else
    {
    cout<<"\n\n";
    cout<<"name:";puts(p->book_name);
    cout<<"aouther:";puts(p->aouther);
    cout<<"explain:";puts(p->explain);
    if(p->reserved==1)
    {
    cout<<"RESERVED by:";
    puts(p->user);
    }
    else
    {
    cout<<"NOT RESERVES";
    }
    }//else
    getch();
    }//1
    if(ch=='2')
    {
    cout<<"\n\nenter exact aouther name:";
    char name[11];
    gets(name);
    name[11]=NULL;
    int f=0;

    for(int i=0;i<=23;i++)
    {
    book *p=parts[i];
    while(p!=NULL)
    {
    if(strcmp(p->aouther,name)==0)
    {
    f++;
    cout<<"\n"<<f<<":";
    cout<<"name:";puts(p->book_name);
    cout<<"aouthor:";puts(p->aouther);
    cout<<"explain:";puts(p->explain);
    if(p->reserved==1)
    {
    cout<<"RESERVED BY";
    puts(p->user);
    }
    else
    {
    cout<<"NOT RESERVED";
    }
    }

    p=p->next;
    }//while
    }
    getch();
    }//2
    if(ch=='3')
    {
    cout<<"\n\nenter key(15char):";
    char name[16];
    gets(name);
    name[15]=NULL;
    int f=0;

    for(int i=0;i<=23;i++)
    {
    book *p=parts[i];
    while(p!=NULL)
    {
    char *tokenptr;
    tokenptr=strtok(p->explain," ");
    while(tokenptr!=NULL)
    {
    if(strcmp(tokenptr,name)==0)
    {
    f++;

    cout<<"\n"<<f<<":";
    cout<<"name:";puts(p->book_name);
    cout<<"aouthor:";puts(p->aouther);
    cout<<"explain:";puts(p->explain);
    if(p->reserved==1)
    {
    cout<<"RESERVED BY";
    puts(p->user);
    }
    else
    {
    cout<<"NOT RESERVED";
    }
    }
    tokenptr=strtok(NULL," ");
    }

    p=p->next;
    }//while
    }//for i
    getch();
    }//3

    }

    }
    //===========================
    //===========================
    int main()
    {
    clrscr();

    library l1;
    l1.run_menu();

    return(0);
    }

  2. #2

    نقل قول: کتابخانه با امکان ورود - ویرایش- حذف -به امانت گرفتن و پس دادن کتاب

    BigNumber
    این کد برای جمع کردن 2 عدد خیلی بزرگ (حداکثر 1000 رقمی) نوشته شده.
    کاری که با ماشین حساب معمولی نمیشه انجام داد.


    #include<iostream>
    #include<string.h>
    using namespace std;

    void read_number(char num1[],char num2[]);
    char* add_number(char num1[],char num2[],char num3[]);

    #define SIZE 1000

    int main(){
    char *num1,*num2,*num3;
    num1=new char[SIZE];
    num2=new char[SIZE];
    num3=new char[SIZE];
    int n;//baraye tedad barhaye anjame amale jam.
    cout<<"Chand bar mikhahid amale jam kardane 2 adad ra anjam dahid?";
    cin>>n;
    for(int i=0;i<n;i++){
    read_number(num1,num2);
    add_number(num1,num2,num3);
    cout<<num3<<endl;
    }
    delete []num1;
    delete []num2;
    delete []num3;
    return 0;
    }
    void read_number(char num1[],char num2[]){
    cout<<"2 adad ra vared konid:";
    cin>>num1>>num2;
    }
    char* add_number(char num1[],char num2[],char num3[]){
    int carry=0;//baraye zakhire kardane raghame naghli.
    int digit;//baraye zakhire kardane yek raghame az reshteye avval va dovvom va majmoo'eshan.
    int len1,len2;//baraye zakhire kardane toole reshteha.
    len1=strlen(num1);
    len2=strlen(num2);
    int max,min;//max baraye zakhire kardane toole reshteye bozorgtar va min baraye reshteye koochakter ast.
    max=len1>len2?len1:len2;
    min=len1<len2?len1:len2;
    int i,j,k=0;//i o j shomarandeye halghe va k baraye ta'yine khaneye morede nazar az string hastand.
    if(len1>=len2){
    for(i=max-1,j=min-1;i>=0;i--){
    if(j>=0){
    digit=(int)(num1[i]-48+num2[j]-48+carry);
    if(digit>9){
    digit-=10;
    carry=1;
    }
    else{//digit<=9
    carry=0;
    }
    num3[k]=digit+48;
    k++;
    }
    else{
    digit=(int)(num1[i]-48+carry);
    if(digit>9){
    digit-=10;
    carry=1;
    }
    else{//digit<=9
    carry=0;
    }
    num3[k]=digit+48;
    k++;
    }
    j--;
    }
    }
    else{//len1<len2
    for(i=max-1,j=min-1;i>=0;i--){
    if(j>=0){
    digit=(int)(num2[i]-48+num1[j]-48+carry);
    if(digit>9){
    digit-=10;
    carry=1;
    }
    else{//digit<=9
    carry=0;
    }
    num3[k]=digit+48;
    k++;
    }
    else{
    digit=(int)(num2[i]-48+carry);
    if(digit>9){
    digit-=10;
    carry=1;
    }
    else{//digit<=9
    carry=0;
    }
    num3[k]=digit+48;
    k++;
    }
    j--;
    }
    }
    if(carry==1){
    num3[k]=1+48;//ya num3[k]=49;
    k++;
    num3[k]=NULL;
    }
    num3[k]=NULL;
    char *komaki=new char[strlen(num3)];
    strcpy(komaki,num3);
    for(i=0,j=strlen(num3)-1;num3[i];i++){
    num3[i]=komaki[j];
    j--;
    }
    return num3;
    }
    char* mul_number(char num1[],char num2[],char num3[]){
    int len1,len2;//baraye zakhire kardane toole 2 reshte.
    int carry=0;//baraye zakhire kardane raghame naghliye hasel az zarbe yek ragham dar adad.
    len1=strlen(num1);
    len2=strlen(num2);
    return num3;
    }

  3. #3
    کاربر دائمی آواتار V0RTEX
    تاریخ عضویت
    آذر 1389
    محل زندگی
    kernel
    پست
    106

    نقل قول: کتابخانه با امکان ورود - ویرایش- حذف -به امانت گرفتن و پس دادن کتاب

    این هم یه کد برای این که وقتی از ()system استفاده می کنید پنجره ای نشون نده
    void ExecuteProcess(string PathToExe,bool hidden) 
    {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory(&si,sizeof(si));
    si.cb = sizeof(si);
    if(hidden)
    {
    si.dwFlags= STARTF_USESHOWWINDOW || STARTF_USESTDHANDLES;
    si.wShowWindow=SW_HIDE;
    }
    ZeroMemory(&pi,sizeof(pi));
    if(!CreateProcess( NULL,(LPSTR)PathToExe.c_str(),NULL,NULL,FALSE,0,NU LL,NULL,&si,&pi))
    {
    cout << "CreateProcess failed:" << GetLastError() << endl;
    return;
    }
    WaitForSingleObject( pi.hProcess, INFINITE );
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
    }

    void System(string cmd)
    {
    string cm="cmd /c \"" + cmd + "\"";
    ExecuteProcess(cm.c_str(),true);
    }

برچسب های این تاپیک

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

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