دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر

Slides:



Advertisements
Similar presentations
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
Advertisements

Stranded Costs مقدمه 1 - آشنايی با پديده های غيرخطی ( ياد آوری و تکميل ) 2 - مبانی رياضی ( مهم )
Computer Programming برنامه سازی کامپيوتر1 مدل های رياضی مهندسی يعنی کاربرد علوم مختلف (رياضی، فيزيک) در حل مسائل کاربردی مدل های رياضی برای پيش بينی رفتار.
دستور های ورودی خروجی عباسپور 1 دستورهای ورودی و خروجی Input Output Commands.
Decision Tree.
مراحل مختلف اجرای يک برنامه
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
فارسی سازی يکپارچه در سيستم عاملهای OS/390 & Windows واحد 1 مهندسی سيستم Integrated Farsi support on OS/390 & Windows.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 14 Structures.
به نام خدا برنامه سازی سمت سرور (php)
برنامه نویسی کامپیوتر بخش ششم مدرس: دکتر خالدیان.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 9 Selected Topics.
فصل سوم. 2 Phases of C++ Programs: 1.Edit 2.Preprocess 3.Compile 4.Link 5.Load 6.Execute Program is created in the editor and stored on disk. Preprocessor.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 8 Chapters 8 & 9.
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
Data Types Modifiers Base data type Size Sign signed int 2 B unsigned float 4 B short double 8 B long char 1 B.
Seven Segment Configuration Lecturer: Reza Arjmandi Autumn 2015 Lecture 5: Introduction 7Segment Configuration.
Department of Computer Eng. & IT Amirkabir University of Technology (Tehran Polytechnic) Data Structures Lecturer: Abbas Sarraf Order.
آشنايي با سيستم اعداد.
فایل ها.
به نام خدا.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
بنام خدا زبان برنامه نویسی C (21814( Lecture 2 Chapter 3
انواع دستور در برنامه نويسی
دانشکده مهندسی کامپیوتر
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
مبانی کامپیوتر و برنامه سازی
دانلود جدیدترین مقالات برق الکترونیک و کامپیوتر
آرايه ها.
Odd-even merge sort مرتب سازی.
واحد های مختلف برنامه عباسپور
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
آموزش مقدمات MATLAB سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86
دانشگاه علوم پزشکی شهید بهشتی
بنام خدا زبان برنامه نویسی C (21814( Lecture 10 Chapter 11
نمايش اعداد در کامپيوتر چهار عمل اصلي
فصل دوم – آشنایی با زبان .NET Visual C#
آشنایی با پایگاه داده mysql
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
سميرا قانوني زهرا معدني
هیدرولیک جریان در کانالهای باز
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
دینامیک سیستمهای قدرت مدرس: دکتر مهدی بانژاد
بنام خدا زبان برنامه نویسی C (21814( Lecture 7 Chapter 7
بنام خدا زبان برنامه نویسی C (21814( Lecture 3 Chapter 4
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Bucket sort اكرم منوچهري زهرا منوچهري
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
وبلاگ جامع مهندسی برق و الکترونیک
راهنمای استفاده از ابزار Mailings در Ms Word
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
با تشکر از جناب آقای مهندس بگ محمدی
آشنایی مقدماتی با نرم افزار Endnote
فصل ششم مدارهای ترتیبی.
ساختمان داده‌ها درختان و درختان دودویی
مدار منطقي مظفر بگ محمدي
مدار منطقي مظفر بگ محمدي
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
عملیات با رشته‌ها موسوی ندوشنی ویراست 1389 دانشگاه صنعت آب و برق.
کتابخانه دانشکده پرستاری و مامایی دانشگاه علوم پزشکی شهید بهشتی
kbkjlj/m/lkiubljj'pl;
ساختمان داده ها مرتب سازی درجی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
Strings #include <stdio.h>
Presentation transcript:

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر آموزش برنامه نویسی C++ : Examples C++ Programming Tutorial گردآورنده : عباس عزیز جلالی C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال ها C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر این برنامه حروف بزرگ را به کوچک تبدیل می کند. /* Conversion of Capital Letter to Lower Case */ #include<stdio.h> #include<conio.h> int main(void) { int i; char ch; printf("Input Character : "); ch = getche(); i = ch; if (ch >= 'A' && ch <= 'Z') i = ch + 'a' - 'A'; printf("\nOutput Character : %c", i); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر برنامه استفاده از آرایه #include<stdio.h> int fun1(int x, int y); main() { int i , ar[6] = {8,90,34,-75,55,2,}; /*for (i=0; i<=6 ; ++i) printf("\n%dth No : ",i); scanf("%d",&ar[i]); }*/ for (i=0; i<=5 ; ++i) printf("\nAr[%d] = %d",i,ar[i]); /*printf("\n2 Vahed addition is = %d", fun1(ar[i],2));*/ } int fun1(int x, int y) printf("Input No = %d %d",x , y); return x + y; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر آرایه دو بعدی #include<stdio.h> void main() { int ar[5][6]= {{0,1,2,3,4,5}, {1,2,3,4,5,6}, {2,3,4,5,6,7}, {3,4,5,6,7,8}, {4,5,6,7,8,9}, }; int i , j; for (i=0; i<=4 ; i++) for (j=0; j<=5; j++) ar[i][j] = i + j * 4; printf("ar[%2d ,%2d] = %d ",i,j,ar[i][j]); printf("\n"); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر استفاده از توابع فایل ctype #include<stdio.h> #include<ctype.h> #include<conio.h> void main() { char c, y[]="Yes", n[]="No"; do { printf("\n Press a key <Esc ---> Quit "); c = getche(); if (c==27) break; puts("\n---------------------------------------"); printf("isalnum('%c') = %s\n" , c, isalnum(c) ? y : n); printf("isalpha('%c') = %s\n" , c, isalpha(c) ? y : n); printf("iscntrl('%c') = %s\n" , c, iscntrl(c) ? y : n); printf("isdigit('%c') = %s\n" , c, isdigit(c) ? y : n); printf("islower('%c') = %s\n" , c, islower(c) ? y : n); printf("isupper('%c') = %s\n" , c, isupper(c) ? y : n); printf("tolower('%c') = %c\n" , c, tolower(c) ); printf("toupper('%c') = %c\n" , c, toupper(c) ); } while (1); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر برنامه استفاده از فایل #include<stdio.h>; void main() { FILE *out; out = fopen("danesh","w"); fprintf(out,"In the name of ALLAH"); fclose(out); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر برنامه خواندن و نوشتن در فایل #include<stdio.h> #include<conio.h> int main() { char filename[32]; char c; FILE *infile ; printf("file name ? "); scanf("%s",filename); printf("\n%s enter file name ",filename); /*gets(filename); puts(filename);*/ infile = fopen(filename,"r"); if (infile == NULL) { printf("\n file does not exist"); fprintf(infile,"\nFile does not exist!\n"); return 0; } else printf("File exists"); fclose(infile); /*c = 'b'; infile = fopen("input1","w"); while (1) { printf("\nEnter a character : "); scanf("%c",c); fprintf(infile,"\nCharacter is %c",c); if (c='1') return 0;*/ } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر ارسال آرایه به تابع #include <stdio.h> int g; fun (int q[]); main() { int p[1]={100}; printf("p1 = %d\n",p[0]); g = 2; printf ("G = %d\n",g); fun(p); printf("p4 = %d\n",p[0]); } fun (int q[]) printf("p2 = %d\n",q[0]); q[0] = 333; printf("p3 = %d\n",q[0]); g = 400; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر برنامه استفاده از تابع در تشخیص ارقام #include<stdio.h> #include<conio.h> int isletter(char c); void main() { char ch; printf("Enter a character : "); ch = getche(); if (isletter(ch) == 1) printf("\nThis is a capital letter"); else printf("\nThis is not"); } int isletter(char c) if (c>='0') if (c<='9') return 1; else return 0; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر لسیت های پیوندی #include<stdio.h> #include<stdlib.h> #include<conio.h> void main() { /*typedef struct rec node;*/ struct rec { int data; struct rec *next; } *head , *p; head = p = (struct rec *)malloc(sizeof(struct rec)); p->data = 123; p->next = (struct rec *)malloc(sizeof(struct rec)); p = p->next; p->data = 198; p->data = 42; p->data = 361; p->next = NULL; p = head; while (p) { printf("%d\n" , p->data); p = p->next; } } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر لیست های پیوندی شماره 2 #include<stdio.h> #include<stdlib.h> #include<conio.h> void main() { struct rec { int data; struct rec *next; } *head , *p , *q; head = p = (struct rec *) malloc(sizeof(struct rec)); puts("\n Enter 0 to exit" "\n----------------"); do { printf("Number : "); scanf("%d", &p->data); q = p; p->next = (struct rec *) malloc(sizeof(struct rec)); p = p->next; } while(q->data); q->next = NULL; puts("\n"); p = head; while(p->next) { printf("%6d\n",p->data); p = p->next; } } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثالی از Loop #include<stdio.h>; #include<conio.h>; main() { int a=1; while (a<100) if (a % 20 == 0) { printf("\nPress any key to continue..."); getch();} printf("\nNext No = %d",a); ++a; } do { ++a; } while (a<=200); for (a=1;a<=300;a++) { printf("\nNext No ======== %d",a); } } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر استفاده از Pointer #include<stdio.h> main() { int a , *p; a = 100; p = &a; printf("\nvalue of a = %d",a); printf("\nvalue of &a = %5d",&a); printf("\nvalue of *p = %5d",*p); printf("\nvalue of p = %5d",p); ++*p; } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثالی از ساختار (Structure) #include<stdio.h> void main() { struct { int stno; char name[15]; float avg[3]; } stud [5]; int i=0; int j=0; do { printf("Student No :"); scanf("%d" , &stud[i].stno); printf("--------------"); printf("Student Name : "); scanf("%s",stud[i].name); for (j=0;j<=2;j++) { printf("Grade[%d] : ",j); scanf("%f",&stud[i].avg[j]); } /*printf("Hi Mr/Mrs %s , your average is %.2f", stud.name,stud.average);*/ ++i; } while (i<=3); for (i=0;i<=3;i++) printf(out,"\nHi Mr/Mrs %s , your average is %.2f", stud[i].name,stud[i].avg[1]); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر -برنامه ای بنویسید که کار تابع puts را انجام دهد. #include <stdio.h> void my_puts(char *p) { printf(“%s\n”, p); } int main() puts(“This line is printed by ‘puts’ function,”); my_puts(“\nand, this line by ‘my_puts’ function. “); C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر -برنامه زیر کار برنامه strcpy را با استفاده از pointer انجام می دهد. #include <stdio.h> void my_strcpy( char *to, char *from) { while ((*to = *from) != ‘\0’ ) { *to++; *from++; } int main() char str[30]; my_strcpy(str, “Copied by ‘my_strcpy’ function “); printf(“%s\n” , str); return 0; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر تابع قبل را به صورت فشرده تر نیز می توان نوشت: void my_strcpy( char *to, char *from) { while ((*to++ = *from++) != ‘\0’ ) { } int main() char str[30]; my_strcpy(str, “Copied by ‘my_strcpy’ function “); printf(“%s\n” , str); return 0; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال از توابع بازگشتی - فیبوناچی : 2, 5, 11, 23, … جمله پنجم دنباله اعداد فوق چه عددی می باشد؟ حدس شما چيست؟ اگر کمی دقت کنيد متوجه خواهيد شد که هر جمله از دنباله فوق برابر است با دو برابر جمله قبلی بعلاوه يک. پس جمله پنجم برابر است با 2*23+1=47 دنباله فوق را توسط فرمول زير نيز می توان مشخص کرد : d(1) = 2 d(n) = 2*d(n-1)+1 همانطور که متوجه شده ايد در اين دنباله هر جمله به جملات قبلی خود وابسته است و برای بدست آوردن آن نياز به بازگشت روی جملات قبلی داريم تا اينکه سرانجام به جمله اول که عدد 2 می باشد برسيم. فرمول فوق را به صورت تابعی زير بازنويسی می کنيم : C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال از توابع بازگشتی (ادامه)-فیبوناچی: همانطور  که  در  تابع فوق  می  بينيد يک  حالت پايه  وجود دارد که  همان d(1)=2 می باشد و يک حالت بازگشتی که تابع با يک واحد کمتر دوباره فراخوانی می شود d(n) = 2*d(n-1)+1 . توابع بازگشتی به طور کلی دارای يک يا چند حالت پايه و يک بخش بازگشتی می باشند. که معمولاً در بخش بازگشتی تابع با مقداری کمتر مجدداً فراخوانی می شود. تابع بازگشتی فوق به زبان ++C به صورت زير می باشد : long int d(long int n) { if (n == 1) return 2; else return 2*d(n-1)+1; } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر برنامه فیبوناچی : در زير برنامه ای می نويسيم تا با استفاده از تابع فوق 20 جمله اول دنباله مذکور را نمايش دهد. #include <iostream.h> long int d(long int); int main( ) { for (int i=1 ; i<=20 ; i++) { cout<<d(i)<<"\t"; if (i%5==0) cout<<endl; } return 0; } long int d(long int n) if (n == 1) return 2; else return 2*d(n-1)+1; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال از تابع بازگشتی : برنامه برج هانوی #include <iostream.h> int hanoi(int, char, char, char); int main( ) { int disks; cout<<"Moving disks form tower A to C."<<endl; cout<<"How many disks do you want to move?"; cin>>disks; cout<<hanoi(disks,'A','B','C')<<endl; return 0; } int hanoi(int n, char first, char help, char second) if (n == 1) { cout <<"Disk "<<n << " from tower " << first << " to tower " << second << endl;} else { hanoi(n-1, first, second, help); cout << "Disk "<<n<<" from tower "<<first<<" to tower "<< second << endl; hanoi(n-1, help, first, second); } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال : برنامه ای بنويسيد که توسط آرايه ، نمودار ميله ای افقی برای اعداد {1 و17 و5 و13 و9 و11 و7 و15 و3 و19 } رسم کند . #include <iostream.h> int main() { const int arraySize = 10; int n[arraySize]= { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 }; cout << "Element" << " Value" << endl; for ( int i = 0; i < arraySize; i++ ) cout << i << "\t " << n[ i ] << "\t"; for ( int j = 0; j < n[ i ]; j++ ) cout << '*'; cout << endl; } return 0; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال : برنامه ای بنويسيد که يک تاس را 6000 بار پرتاب کرده و توسط آرايه ای تعداد دفعات آمدن هر وجه را حساب کند .( تعداد دفعات آمدن هر وجه را يک عنصر آرايه ای در نظر بگيريد ) #include <iostream.h> #include <stdlib.h> #include <time.h> void main() { const int arraySize = 7; int frequency[ arraySize ] = { 0 }; srand( time( 0 ) ); for ( int roll = 1; roll <= 6000; roll++ ) ++frequency[ 1 + rand() % 6 ]; cout << "Face Frequency" << endl; for ( int face = 1; face < arraySize; face++ ) cout << face << "\t" << frequency[face] << endl; } C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر مثال جستجو در آرایه : برنامه ای بنویسید که یک آرایه با هفت عنصر و مقادیر دلخواه را با عدد ورودی داده شده جستجو کرده و در صورت پیدا شدن مقدار مورد نظر، اندیس آرایه را نمایش دهد. #include <iostream.h> int linearSearch(const int array[], int, int ); void main() { const int arraySize = 7; int a[ arraySize ]={2,6,4,3,12,10,5}; int searchKey; cout << "Enter integer search key: "; cin >> searchKey; int element=linearSearch(a, searchKey, arraySize); if ( element != -1 ) cout << "Found value in element " << element << endl; else cout << "Value not found" << endl; } int linearSearch( const int array[], int key, int sizeOfArray ) for ( int j = 0; j < sizeOfArray; j++ ) if ( array[ j ] == key ) return j; return -1; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر خروجی مثال قبل (توابع strcmp و strncmp) s1 = Happy New Year s2 = Happy New Year s3 = Happy Holidays strcmp(s1, s2) = 0 strcmp(s1, s3) = 6 /* Subtract of ASCII ‘N’ From ‘H’ */ strcmp(s3, s1) = -6 strncmp(s1, s3, 6) = 0 strncmp(s1, s3, 7) = 6 strncmp(s3, s1, 7) = -6 C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر استفاده از تابع strtok برای جدا کردن رشته ها #include <iostream.h> #include <string.h> void main() { char sentence[ ] ="This is a sentence with 7 tokens"; char *tokenPtr; cout << "The string to be tokenized is:\n"<<sentence << "\n\nThe tokens are:\n\n"; tokenPtr = strtok( sentence, " " ); while ( tokenPtr != NULL ) { cout << tokenPtr << '\n'; tokenPtr = strtok( NULL, " " ); // get next token } cout <<"\nAfter strtok, sentence ="<<sentence<<endl; C++ Tutorial azizjalali@iust.ac.ir

دانشگاه علم و صنعت ایران – دانشکده مهندسی کامپیوتر اجرای برنامه قبل (استفاده از strtok) The string to be tokenized is: This is a sentence with 7 tokens The tokens are: This is a sentence with 7 Tokens After strtok, sentence = This C++ Tutorial azizjalali@iust.ac.ir