-
نمونه برنامه های ++C
سلام به تمام پلاس پلاسی ها ی عزیز !
چند وقتی بود که اینجا سر نزده بودم. خوشبختانه این تاپیک خوب را افتاده ( به لطف کلیه دوستان )
در این پست یه سری لینک گذاشتم که توشون پره از انواع نمونه برنامه های C و C++
امیدوارم مفید واقع بشه. فعلا بای
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام این یه ماشین حساب ساده داخل سی
برای خروج هم بعد از محاسبه کلید e را بزنید
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
یه منوی ساده:
#include<conio.h>
#include<dos.h>
#include<string.h>
int get_menu(char*,char[]="",int=1,int=15,int=11,int=12,int=1,int=14);
void main(){
int rtn;
do{
clrscr();
rtn=get_menu("Yes,No","Do you exit?",2);
}while(rtn!=1);
}
int get_menu(char *str,char *title,int cho_def,int effect_time,int text_color,int title_color,int border_color,int choice_color){
if(*str=='\0')
return 0;
int j,rtn=1,val_line=0,x_start,y_start,x_size,y_size,y _lines[100];
char ch_key;
struct text_info screen_info;
choice_color+=128;
gettextinfo(&screen_info);
x_start=screen_info.curx;
y_start=screen_info.cury;
x_size=screen_info.curx;
y_size=screen_info.cury;
_setcursortype(_NOCURSOR);
//print text of menu:
textcolor(text_color);
if(*title)
cprintf("\n\n\n");
else
cprintf("\n");
while(*str){
delay(effect_time);
if(val_line==0){
gotoxy(x_start+4,wherey());
val_line++;
y_lines[val_line-1]=wherey();
}
if((*str==',')){
if(*(str+1)==','){
cprintf(",");
str+=2;
}
else{
gotoxy(x_start+4,wherey()+2);
val_line++;
y_lines[val_line-1]=wherey();
str++;
}
}
else{
putch(*str);
str++;
}
x_size=wherex()>x_size ? wherex() : x_size;
}
y_size=wherey()>y_size ? wherey() : y_size;
x_size-=x_start;
y_size-=y_start;
y_size++;
textcolor(title_color);
if(*title){
x_size=strlen(title)+5>x_size ? strlen(title)+5 : x_size;
gotoxy(((x_size+2)-strlen(title)+1)/2,y_start+1);
cprintf("%s",title);
}
//Draw border:
textcolor(border_color);
gotoxy(x_start,y_start);
putch(201);
gotoxy(x_start+x_size,y_start);
putch(187);
for(j=y_start+1;j<y_start+y_size;j++){
delay(effect_time);
if((j==y_start+2)&&(*title!='\0')){
gotoxy(x_start,j);
putch(199);
gotoxy(x_start+x_size,j);
putch(182);
}
else{
gotoxy(x_start,j);
putch(186);
gotoxy(x_start+x_size,j);
putch(186);
}
}
gotoxy(x_start,y_start+y_size);
putch(200);
gotoxy(x_start+x_size,y_start+y_size);
putch(188);
for(j=x_start+1;j<x_start+x_size;j++){
delay(effect_time);
gotoxy(j,y_start);
putch(205);
if(*title!='\0'){
gotoxy(j,y_start+2);
putch(196);
}
gotoxy(j,y_start+y_size);
putch(205);
}
textcolor(choice_color);
if(cho_def>val_line)
rtn=val_line;
else if(cho_def<1)
rtn=1;
else
rtn=cho_def;
do{
gotoxy(x_start+2,y_lines[rtn-1]);
putch(16);
ch_key=getch();
if(ch_key==0)
ch_key=getch();
if((ch_key==72)&&(rtn>1)){
gotoxy(x_start+2,y_lines[rtn-1]);
putch(' ');
rtn--;
gotoxy(x_start+2,y_lines[rtn-1]);
putch(16);
}
else if((ch_key==80)&&(rtn<val_line)){
gotoxy(x_start+2,y_lines[rtn-1]);
putch(' ');
rtn++;
gotoxy(x_start+2,y_lines[rtn-1]);
putch(16);
}
}while(ch_key!=13);
textcolor(choice_color-128);
gotoxy(x_start+2,y_lines[rtn-1]);
putch(4);
gotoxy(x_start,y_start+y_size+1);
normvideo();
_setcursortype(_NORMALCURSOR);
return rtn;
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
اینم یه برنامه ساده برای پیدا کردن controlrol و keycode کلید های روی صفحه کلید با ++C
https://barnamenevis.org/showth...900#post971900
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سرچ درجی
<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} p.MsoPlainText, li.MsoPlainText, div.MsoPlainText {mso-style-unhide:no; mso-style-link:"Plain Text Char"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Times New Roman";} span.PlainTextChar {mso-style-name:"Plain Text Char"; mso-style-unhide:no; mso-style-locked:yes; mso-style-link:"Plain Text"; font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:8.5in 11.0in; margin:1.0in 65.95pt 1.0in 65.95pt; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> insertion_sort ( int arr[ ] , int n )
{
register int i , j , t ;
for ( i = 1 ; i < n ; i++ )
{
t = arr[ i ] ;
for ( j = i ; j > 0 && arr[ j - 1 ] >= t ; j-- )
arr[ j ] = arr[ j - 1 ] ;
arr[ i ] = t ;
}
}
-
swap
#include<iostream>
using namespace std;
void swap1(int &a,int &b) //commonly used
{
int temp;
temp=a;
a=b;
b=temp;
}
void swap2(int &a,int &b) //doesnt involve the use of a temporary variable
{
a=a+b;
b=a-b;
a=a-b;
}
int main()
{
int a,b;
cout<<"enter two numbers :";
cin>>a>>b;
swap1(a,b);
cout<<a<<" "<<b;
swap2(a,b);
cout<<a<<" "<<b;
system("pause");
return 0;
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
pop double stack
#include <stdio.h>
#define MAXSIZE 100
int sp = 0;
double stack[MAXSIZE];
void push(double f)
{
if (sp < MAXSIZE)
stack[sp++] = f;
else
printf("error: stack is full\n");
}
double pop()
{
if (sp > 0)
return stack[--sp];
else
{
printf("error: stack is empty\n");
return 0;
}
}
-
4 عمل اصلی چند جمله ای ها
واقعا من خودم این برنامه رو دوست دارم چون تقسیم رو با باقی مانده جواب میده
#include<conio.h>
#include<iostream.h>
#define Max 20
class Poly;
class PolyNode
{
friend Poly;
float Coef;
int Pow;
};
class Poly
{
int n;
PolyNode Data[Max];
public:
void Poly::SortPoly(void);
void ReadPoly(void);
void WritePoly(void);
void AddPoly(Poly a,Poly b);
void SubtractPoly(Poly a,Poly b);
void MulPoly(Poly a,Poly b);
void Poly::ItemPoly(float Coef,int Pow,Poly b);
void Poly::TaghsimPoly(int k,Poly a,Poly b);
};
void Poly::SortPoly(void)
{
int i,j;
PolyNode item;
for(i=n-1;i>0;i--)
for(j=0;j<i;j++)
if(Data[j].Pow<Data[j+1].Pow)
{
item=Data[j];
Data[j]=Data[j+1];
Data[j+1]=item;
}
while(i<n-1)
if(Data[i].Pow==Data[i+1].Pow)
{
Data[i].Coef+=Data[i+1].Coef;
for(j=i+1;j<n-1;j++)Data[j]=Data[j+1];
n--;
}else i++;
}
void Poly::ReadPoly(void)
{
int i;
cout<<"\nPlease enter parts of poly : ";
cin>>n;
cout<<"\nPlease enter Polynomial : \n\n";
for(i=0;i<n;i++)
{
cin>>Data[i].Coef;
cout<<" x^"<<endl;
cin>>Data[i].Pow;
cout<<" +"<<endl;
}
}
void Poly::WritePoly(void)
{
int i;
cout<<"\n";
for(i=0;i<n;i++)cout<<Data[i].Coef<<"X^"<<Data[i].Pow<<" + ";
}
void Poly::AddPoly(Poly a,Poly b)
{
int i,j,k;
i=j=k=0;
while(i<a.n&&j<b.n)
{
if(a.Data[i].Pow>b.Data[j].Pow)
{
Data[k].Coef=a.Data[i].Coef;
Data[k++].Pow=a.Data[i++].Pow;
}
else if(a.Data[i].Pow<b.Data[j].Pow)
{
Data[k].Coef=b.Data[j].Coef;
Data[k++].Pow=b.Data[j++].Pow;
}
else if(a.Data[i].Coef+b.Data[j].Coef)
{
Data[k].Coef=a.Data[i].Coef+b.Data[j].Coef;
Data[k++].Pow=a.Data[i++].Pow;
j++;
}
else
{
i++;
j++;
}
}
while(i<a.n)
{
Data[k].Coef=a.Data[i].Coef;
Data[k++].Pow=a.Data[i++].Pow;
}
while(j<b.n)
{
Data[k].Coef=b.Data[j].Coef;
Data[k++].Pow=b.Data[j++].Pow;
}
n=k;
}
void Poly::SubtractPoly(Poly a,Poly b)
{
int i,j,k;
i=j=k=0;
while(i<a.n&&j<b.n)
{
if(a.Data[i].Pow>b.Data[j].Pow)
{
Data[k].Coef=a.Data[i].Coef;
Data[k++].Pow=a.Data[i++].Pow;
}
else if(a.Data[i].Pow<b.Data[j].Pow)
{
Data[k].Coef=b.Data[j].Coef;
Data[k++].Pow=b.Data[j++].Pow;
}
else if(a.Data[i].Coef-b.Data[j].Coef)
{
Data[k].Coef=a.Data[i].Coef-b.Data[j].Coef;
Data[k++].Pow=a.Data[i++].Pow;
j++;
}
else
{
i++;
j++;
}
}
while(i<a.n)
{
Data[k].Coef=a.Data[i].Coef;
Data[k++].Pow=a.Data[i++].Pow;
}
while(j<b.n)
{
Data[k].Coef=b.Data[j].Coef;
Data[k++].Pow=b.Data[j++].Pow;
}
n=k;
}
void Poly::MulPoly(Poly a,Poly b)
{
int i,j,k;
i=j=k=0;
while(i<a.n)
{
j=0;
while(j<b.n)
{
Data[k].Coef=a.Data[i].Coef*b.Data[j].Coef;
Data[k++].Pow=a.Data[i].Pow+b.Data[j++].Pow;
}
i++;
}
n=k;
}
void Poly::ItemPoly(float Coef,int Pow,Poly b)
{
int j,t;
j=t=0;
while(j<b.n)
{
Data[t].Coef=Coef*b.Data[j].Coef;
Data[t++].Pow=Pow+b.Data[j++].Pow;
}
n=t;
}
void Poly::TaghsimPoly(int k,Poly a,Poly b)
{
Poly d,e;
p:
if(a.Data[0].Pow>=b.Data[0].Pow)
{
Data[k].Pow=a.Data[0].Pow-b.Data[0].Pow;
Data[k].Coef=a.Data[0].Coef/b.Data[0].Coef;
d.ItemPoly(Data[k].Coef,Data[k].Pow,b);
e.SubtractPoly(a,d);
k++;
}
n=k;
if(e.Data[0].Pow>=b.Data[0].Pow)TaghsimPoly(k,e,b);
else
{
cout<<"\nMod Is : \n";
e.WritePoly();
}
}
void main(void)
{
Poly a,b,c;
char Sign;
a.ReadPoly();
a.SortPoly();
cout<<"\nPlease enter sign(+,-,*,/) : ";
cin>>Sign;
b.ReadPoly();
b.SortPoly();
switch(Sign)
{
case'+':
c.AddPoly(a,b);
break;
case'-':
c.SubtractPoly(a,b);
break;
case'*':
c.MulPoly(a,b);
c.SortPoly();
break;
case'/':
c.TaghsimPoly(0,a,b);
break;
}
cout<<"\n\nAnswer Is : \n";
c.WritePoly();
getche();
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این برنامه یک فایل source C را با درج تورفتگی های مناسب مرتب میکند.
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
برنامه رسم DFA و مینیمم سازی آن و...
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
فونت ادیت (FontEdit) برای Dos
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
برنامه ای برای جابجایی، چرخش و تغیر سایز یک شکل
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
-
3 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
-
5 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
پازل ساختن تصویر بهم ریخته
-
2 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
شبیه سازی ماشین تورینگ Turing
-
چاپ مثلث با زبان c ++
چاپ مثلث بالای قطر فرعی
پایینش و ببینید میتونید بنویسید اگه نه براتون بذارم تمرین خوبیه برای آرایه ها! :لبخندساده:
#include<iostream.h>
#include<conio.h>
int main()
{
int n,i,j;
cout<< "Enter num:";
cin>> n;
for(i = n; i >= 1; --i){
for(j = 1; j <= i; ++j)
cout<< '*';
cout<< '\n';
}
getch();
return 0;
}
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
داشتم فایلهام رو مرور میکردم که این برنامهء قدیمی رو که خیلی وقت پیش نوشته بودم و در یک فروم یکی از دوستان ایدهء نوشتنش رو مطرح کرده بود دیدم.
گفتم بذارم اینجا بد نیست بالاخره از اینکه جایی که کسی بهش دسترسی نداره خاک بخوره بهتره.
این برنامه یک ادیتور متن ساده و آزمایشی هست که با سی و تحت داس نوشته شد.
بنظرم بخش بزرگی از پیچیدگی و حجمش بخاطر اینه که نمایش خطوط طولانی تر از تعداد ستونهای صفحهء نمایش و همینطور عبور از سطر آخر صفحهء نمایش و اینطور چیزها رو مدیریت میکنه. یعنی مثلا وقتی طول خط از 80 ستون بیشتر میشه کاراکترها یکی به سمت چپ میرن و غیره. ضمنا اون دوستی که پیشنهادش رو داده بود نظرش یک ادیتور خیلی ساده تر بود که فقط کاربرد لیست پیوندی رو باهاش نمایش بدیم و تجاوز از ستونها و سطرهای صفحهء نمایش رو مدیریت نکنه، ولی من سعی کردم تاحد امکان از نظر کارایی آزمایشی کامل باشه و ضمنا بیشتر استانداردهاش رو هم سعی کردم از نوتپد ویندوز بگیرم. خلاصه اکثر امکانات ویرایشی پایه مثل select کردن و کپی و پیست و غیره رو داره.
فایل ضمیمه شده شامل سورس (فقط یک فایل سی) و فایل exe هست.
وقتی برنامه رو اجرا کردید کلید F1 رو که بزنید یک Help مختصر میاد که هر کارایی و ترکیب کلید مربوطه رو معرفی کرده. با کلید ESC هم خارج بشید.
متاسفانه بخاطر محدودیت حافظهء داس، حجم فایلهایی که میشه با این برنامه باز کرد یا حجم متنی که میشه تایپ کرد خیلی محدوده؛ البته من یک بار با استفاده از اشاره گرهای بزرگتر یا یه همچین چیزی (زمان زیادی میگذره و یادم رفته دقیقا چی بود :لبخند:) مقدارش رو افزایش دادم اما سورس اون از دست رفت و دیگه هم درستش نکردم.
ضمنا برنامه وقتی با Alt+Enter اون رو به حالت Full screen ببرید خیلی سریعتر کار میکنه و محیطش هم ظاهر مناسبتری داره.
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام دوستان
یكی از اساتید عزیز یه برنامه در خواست كرده بود كه بنویسیم ، گفته بود كه یه برنامه دیكشنری بنویسید. من هم نوشتم گفتم حالا كه نوشتم بیام بفرستم كه دیگران هم استفاده كنیم.
این برنامه از طریق Ado db و با یك دیتابیس access كار می كنه
اسمش هم گذاشتم Kudos كه یعنی جلال!!!!
(نگید چرا این قدر علامت تعجب گذاشتم، انهایی كه باید بفهمند می فهمند)
این فایل باینری : http://kitten2.persiangig.com/Kudos%20Dic-Bin.rar
و اینم سورس كد به علاوه فایل باینری :
http://kitten2.persiangig.com/Kudos%20Dic.rar
این برنامه با ویژوال سی پلاس پلاس 2005 است.
برای اطلاعات بیشتر به وبلاگ من سر بزنید.
http://kitten2.persiangig.com/kudos%20dic.JPG
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام
این یه برنامه ساده برای کار با فایله. امیدوارم مفید باشه.
-
1 ضمیمه
یه بازی 5 مرحله ای! :اشتباه:
فقط با استفاده از کدهای اسکی
net, console application. //
-
3 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام،
یک کد برای ترتیب نزولی بر اساس معدل دانشجو
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define N 4
main()
{
int ave[N],i,j,t;
char name[N][20],str[20];
for(i=0;i<N;i++)
{
printf("Enter Name[%d]: ",i+1);
scanf("%s",name[i]);
printf("Enter Average[%d]: ",i+1);
scanf("%d",&ave[i]);
}
for(j=N;j>0;j--)
for(i=0;i<j-1;i++)
{
if(ave[i]<ave[i+1])
{
t=ave[i];
ave[i]=ave[i+1];
ave[i+1]=t;
strcpy(str,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],str);
}
}
printf("\nSorted name acording to ave:\n");
for(i=0;i<N;i++)
{
printf("%s has average %d \n",name[i],ave[i] );
}
getch();
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
برنامه ی شاگرد اول
#include <stdio.h>
#include <conio.h>
#define N 4
main()
{
int ave[N],i,saveNo=0,max;
char name[N][20];
for(i=0;i<N;i++)
{
printf("Enter Name[%d]: ",i+1);
scanf("%s",name[i]);
printf("Enter Average[%d]: ",i+1);
scanf("%d",&ave[i]);
}
max=ave[0];
saveNo=0;
for(i=0;i<N;i++) {
if(ave[i]> max) {
saveNo=i;
max=ave[i];
}
}
printf("Best Student=%s with Average=%d",name[saveNo],ave[saveNo]);
getch(); }
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
یک کد برای برنامه:لبخند:
همیشه آشنا
phone book
#include <stdio.h>
#include <conio.h>
#include <string.h>
FILE *fptr;
struct info
{char name[20];
char number[15];
}user;
void meno();
void gereftan_etelaat();
void namayesh();
void jostojou();
/************************************************** ***************************/
int main()
{
fptr=fopen("phonbook.txt","a+");
meno();
fclose(fptr);
return 0;
}
/************************************************** ***************************/
void meno()
{int c;
clrscr();
printf("1- gereftan_etelaat\n2- namayesh\n3- jostojou\n4- khorouj\n");
printf("\nPlease enter your choice's number:");
scanf("%d",&c);
switch(c)
{
case 1 :gereftan_etelaat();break;
case 2 :namayesh(); break;
case 3 :jostojou();break;
case 4 :break;/*exit*/ }
}
/************************************************** ***************************/
void gereftan_etelaat()
{clrscr();
textcolor(11);
cprintf("Please enter the name:");
scanf("%s",user.name);
textcolor(11);
cprintf("Please enter the number:");
scanf("%s",user.number);
fprintf(fptr,"%s : %s\n",user.name,user.number);
clrscr();
textcolor(10);
cprintf("The info has been saved.");
printf("\n");
textcolor(15);
cprintf("If you want to go back to the menu press enter.");
if(getch()=='\r')
meno();
}
/************************************************** ***************************/
void namayesh()
{char c;
clrscr();
rewind(fptr);
while(1)
{c = fgetc(fptr);
if(c!=EOF)
printf("%c",c);
else break;}
printf("\n\n\n");
textcolor(10);
cprintf("If you want to go back to the menu press enter.");
if(getch()=='\r')
meno();
}
/************************************************** ***************************/
void jostojou()
{char s[15],m[15],v[15];
clrscr();
printf("Please enter the name or number for starting to search:\n");
scanf("%s",v);
rewind(fptr);
while(fscanf(fptr,"%s%s%s",s,m,m)!= EOF)
if(strcmpi(s,v)==0||strcmpi(m,v)==0)
{clrscr();
printf("%s:%s",s,m);}
printf("\n\n\n");
textcolor(14);
cprintf("If you want to go back to the menu press enter.");
if(getch()=='\r')
meno();
}
/************************************************** ***************************/
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این برنامه یه کتابخونه س که اطلاعات کتاب ها به صورت باینری در فایل نوشته میشه. شامل یه منو برای اضافه کردن ، حذف ، ویرایش ، امانت گرفتن و برگشت دادن کتابه. از بارگذاری عملگرها هم استفاده شده.
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این هم اولین برنامه درست و حسابی من(یه برنامه دیگه هم دارم که یه عدد میگیره میگه اوله یا مرکب .یکی هم ناقصه که بین دو تا عدد اعداد اول رو پیدا میکنه.بخواید اینا رو هم میذارم)
(پیدا کردم جفت اعداد صلح آمیز و اعداد کامل)(en.wikipedia.org/wiki/amicable_pairs)
فایل main.cpp
#include <conio.h>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include "conticker.h"
#include "conticker.cpp"
using namespace std;
int main(){
char c='y';
do{
int start,end;
int ai=0,pi=0;
bool checked=true;
cout<<"----------------------------------------\n";
cout<<"Enter a number to begin with : ";
cin>>start;
cout<<"Enter a number to finish with : ";
cin>>end;
cout<<"----------------------------------------\n";
if(start>=end){
cout<<"The beginning number must be smaller than the ending one.\n";
continue;}
else{
system("cls");
cout<<"Searching from "<<start<<" to "<<end<<".\n\n";
if(start==1) start=2;
long double a[500][2],p[500];
a[0][0]=0;
p[0]=0;
ConTicker::start();
for (size_t i = 0; i < 200; ++i) {
for(int i=start;i<=end;++i){
int sum1=1,sum2=1;
for(int j=(int)sqrt(i);j>1;--j){
if(i%j==0){
sum1+=j;
sum1+=i/j;
}
}
for(int j=(int)sqrt(sum1);j>1;--j){
if(sum1%j==0){
sum2+=j;
sum2+=sum1/j;
}
}
if(sum2==i){
if(sum1==i){
for(int j=0;p[j]!=0;++j){
if(p[j]==i){
checked=false;
break;}}
if(checked){
p[pi]=i;
++pi;
p[pi]=0;
cout<<"\rI found a perfect number : "<<i<<"\nPlease wait";}
checked=true;}
else{
if(sum1<i){
for(int j=0;a[j][0]!=0;++j){
if(a[j][0]==sum1){
checked=false;
break;}}
if(checked){
a[ai][0]=sum1;
a[ai][1]=i;
++ai;
a[ai][0]=0;
cout<<"\rI found an amicable pair : ("<<sum1<<","<<i<<")\nPlease wait";}
checked=true;}
else if(sum1>i ){
for(int j=0;a[j][0]!=0;++j){
if(a[j][0]==i){
checked=false;
break;}}
if(checked){
a[ai][0]=i;
a[ai][1]=sum1;
++ai;
a[ai][0]=0;
cout<<"\rI found an amicable pair : ("<<i<<","<<sum1<<")\nPlease wait";}
checked=true;}}}
ConTicker::tick();}}
ConTicker::stop();
cout<<"\n----------------------------------------\n";
cout<<"Do you want to continue(y/n)?";
cin>>c;}}
while(c=='y');
return 0;
}
فایل conticker.h
class ConTicker
{
public:
ConTicker() {}
static void start();
static void tick();
static void stop();
private:
static time_t t;
static size_t i;
static const char* c;
};
فایل conticker.cpp
#include <windows.h>
#include <time.h>
time_t ConTicker::t = 0;
size_t ConTicker::i = 0;
void ConTicker::start()
{
time(&ConTicker::t);
i = 0;
}
void ConTicker::tick()
{
if (ConTicker::t) {
time_t t;
time(&t);
if (0.01 < difftime(t,ConTicker::t)) {
ConTicker::t = t;
ConTicker::i = ((ConTicker::i+1)&3);
if(ConTicker::i!=0){
_putch('.');
}
else{
_cputs("\r \rPlease wait");
}
}
}
}
void ConTicker::stop()
{
ConTicker::i = 0;
ConTicker::t = 0;
_cputs("\rDone! \r\n");
cout<<"\a";
}
این یارو conticker چیز جالب و به درد بخوریه البته کار من نیست من فقط از یه بک اسلش چرخون به please wait و سه تا نقطه تغییرش دادم.
این برنامه رو تازه کارا حتما بخونن
امیدوارم خوشتون بیاد
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام
برنامه تبدیل عبارت میانوندی (Infix) به پسوندی (Postfix)
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
کلاس Huge Integers و محاسبه ی فاکتوریل اعداد بزرگ
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
بابا ما جز cچیزدیگه بلد نیستیم اونم به زور و زحمت
این برنامه با کامپایلر بورلند نوشته شده وکتابهایی وارد میکنی و کتابهای قبل از انقلاب را مشخص میکنه.
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
رسم دو لوزی در کنار هم :
http://www.barnamenevis.org/at...1&d=1281281803
#include <iostream>
#include <conio>
void fasele(int n){
for(int i=1;i<=n;i++)
cout<<" ";
return;
}
//---------------------
int main(){
int n;
cout<<"Enter n\n";
cin>>n;
int a=n,b=n-1,c=n-1;
for(int i=1;i<=2*n-1;i+=2){
fasele(a);
for(int j=1;j<=i;j++)
cout<<"*";
fasele(b);
fasele(c);
for(int k=1;k<=i;k++){
cout<<"*";}
cout<<endl;
a--;
b--;
c--;
}
int d=2,e=1,f=1;
for(int i=2*n-3;i>=1;i-=2){
fasele(d);
for(int j=1;j<=i;j++)
cout<<"*";
fasele(e);
fasele(f);
for(int k=1;k<=i;k++)
cout<<"*";
cout<<endl;
e++;
f++;
d++;
}
cout<<"---------------------------------------------------\n\n";
cout<<" Designer : Salar Ashgi\n";
getch();
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
محاسبات منطقی رو داده های دودویی : (OR,AND , XOR) با برنامه نویسی شی گراء
#include <iostream>
#include <conio>
#include <string>
class logic{
private:
char a[200],b[200];
public:
logic(char [],char []);
void OR();
void AND();
void XOR();
};
logic::logic(char r[],char t[]){
int x1=strlen(r),x2=strlen(t);
for(int i=0;i<x1;i++)
a[i]=r[i];
for(int j=0;j<x2;j++)
b[j]=t[j];
}
void logic::OR(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='1' && b[i]=='1')
c[i]='1';
else if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='0')
c[i]='1';
else if(a[i]=='0' && b[i]=='1')
c[i]='1';}
for(int j=0;j<f;j++)
cout<<c[j];
}
void logic::AND(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='1')
c[i]='1';
else if(a[i]=='1' && b[i]=='0')
c[i]='0';
else if(a[i]=='0' && b[i]=='1')
c[i]='0';}
for(int j=0;j<f;j++)
cout<<c[j];
}
void logic::XOR(){
int f=strlen(a);
char c[200];
for(int i=0;i<f;i++){
if(a[i]=='0' && b[i]=='0')
c[i]='0';
else if(a[i]=='1' && b[i]=='1')
c[i]='0';
else if(a[i]=='0' && b[i]=='1')
c[i]='1';
else if(a[i]=='1' && b[i]=='0')
c[i]='1';}
for(int j=0;j<f;j++)
cout<<c[j];
}
int main(){
char a[200],b[200];
cout<<"Enter Two Bit Strings\n";
cin.getline(a,200);
cin.getline(b,200);
cout<<"_________________________________\n";
logic f(a,b);
cout<<"OR: ";
f.OR();
cout<<endl;
cout<<"AND: ";
f.AND();
cout<<endl;
cout<<"XOR: ";
f.XOR();
getch();
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
پیدا کردن ورژن سیستم عامل :
#include <windows.h>
#include <iostream>
#include <dos.h>
#include <string.h>
#include <conio>
int main(void)
{
OSVERSIONINFO osver;
osver.dwOSVersionInfoSize = sizeof(osver);
if (GetVersionEx(&osver))
{
if (osver.dwPlatformId == VER_PLATFORM_WIN32s)
cout <<"Win32 ";
else if (osver.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
if (osver.dwMinorVersion == 0 && (strchr(osver.szCSDVersion,'B') == NULL)
&& (strchr(osver.szCSDVersion,'C') == NULL))
cout <<"Windows 95 ";
else if (osver.dwMinorVersion == 0 && (strchr(osver.szCSDVersion,'B') != NULL))
cout <<"Windows 95 OSR 2 ";
else if (osver.dwMinorVersion == 0 && (strchr(osver.szCSDVersion,'C') != NULL))
cout <<"Windows 95 OSR 2.5 ";
else if (osver.dwMinorVersion == 10 && (strchr(osver.szCSDVersion,'A') == NULL))
cout <<"Windows 98 ";
else if (osver.dwMinorVersion == 10 && (strchr(osver.szCSDVersion,'A') != NULL))
cout <<"Windows 98 Second Edition ";
else if (osver.dwMinorVersion == 90)
cout <<"Windows Millenium Edition ";
else
cout<<"Unknown Windows ";
}
else if (osver.dwPlatformId == VER_PLATFORM_WIN32_NT)
cout <<"Windows NT ";
cout <<osver.dwMajorVersion<<"."<<osver.dwMinorVersion< <"."
<<(osver.dwBuildNumber & 0xffff)<<osver.szCSDVersion<<endl;
}
else
{
cout <<"Cannot gain version information."<<endl;
}
system("pause");
getch();
}
منبع : http://www.cplusplus.happycodings.co...ts/code19.html
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
پیدا کردن ورژن سیستم عامل بصورت خیلی ساده تر و کاربردی تر (توسط خودم) :
#include <iostream>
#include <conio>
#include <stdlib>
int main(){
system("ver");
getch();
}
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
نقل قول:
نوشته شده توسط
clifford
سلام
کسی برنامه ضرب دو عدد صحیح خیلی بزرگ رو کامل داره؟(هر زبانی می تونه باشه)
سلام دوست عزیز به این تاپیک مراجعه کن:
http://www.barnamenevis.org/sh...d.php?t=112354
https://barnamenevis.org/showth...B2%D8%B1%DA%AF
https://barnamenevis.org/showth...B2%D8%B1%DA%AF
موفق باشید
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این برنامه یک بازی ساده است و برای آشنایی مفاهیم پایه...
برای شروع برنامه نویسی بسیار مفیده...
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این هم بازی معروف Chinese Checker که برای درک آرایه ها بسیار مفیده...
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام . یه برنامه که هر کاراکتر رو به صورت star رسم میکنه اسمشو گذاشتم startext
فقط حروفات انگلیسی .
http://aks98.com/images/a1257nrvqk4f5ncwbfi.jpg
دانلود
-
سورس کد load کردن فایل BMP در ++C
این سورس کد از سایت GPwiki برداشت شده و آن را در اینجا گذاشتم تا همه برنامه نویسان ++C از آن استفاده کنند.
این سورس کد فایل های 8 بیت و 24 بیت RGB با پسوند bmp را در ++C بار گذاری می کند.
// BMP Loader - Codehead 08/11/04
//
#include <iostream>
#include <fstream>
#include <memory.h>
#define IMG_OK 0x1
#define IMG_ERR_NO_FILE 0x2
#define IMG_ERR_MEM_FAIL 0x4
#define IMG_ERR_BAD_FORMAT 0x8
#define IMG_ERR_UNSUPPORTED 0x40
class BMPImg
{
public:
BMPImg();
~BMPImg();
int Load(char* szFilename);
int GetBPP();
int GetWidth();
int GetHeight();
unsigned char* GetImg(); // Return a pointer to image data
unsigned char* GetPalette(); // Return a pointer to VGA palette
private:
unsigned int iWidth,iHeight,iEnc;
short int iBPP,iPlanes;
int iImgOffset,iDataSize;
unsigned char *pImage, *pPalette, *pData;
// Internal workers
int GetFile(char* szFilename);
int ReadBmpHeader();
int LoadBmpRaw();
int LoadBmpRLE8();
int LoadBmpPalette();
void FlipImg(); // Inverts image data, BMP is stored in reverse scanline order
};
BMPImg::BMPImg()
{
pImage=pPalette=pData=NULL;
iWidth=iHeight=iBPP=iPlanes=iEnc=0;
}
BMPImg::~BMPImg()
{
if(pImage)
{
delete [] pImage;
pImage=NULL;
}
if(pPalette)
{
delete [] pPalette;
pPalette=NULL;
}
if(pData)
{
delete [] pData;
pData=NULL;
}
}
int BMPImg::Load(char* szFilename)
{
int iRet;
// Clear out any existing image and palette
if(pImage)
{
delete [] pImage;
pImage=NULL;
}
if(pPalette)
{
delete [] pPalette;
pPalette=NULL;
}
// Get the file into memory
iRet=GetFile(szFilename);
if(iRet!=IMG_OK)
return iRet;
// Process the header
iRet=ReadBmpHeader();
if(iRet!=IMG_OK)
return iRet;
if(iBPP<8) // We'll only bother with 8 bit and above
return IMG_ERR_UNSUPPORTED;
// Get the image data
switch(iEnc)
{
case 0: // Uncompressed
iRet=LoadBmpRaw(); // 8 / 24 Bit. (24 bit is in BGR order)
break;
case 1: // RLE 8 (Indexed 256 colour only)
iRet=LoadBmpRLE8();
break;
case 2: // RLE 4 (16 Colour indexed, Outdated, not covered here)
return IMG_ERR_UNSUPPORTED;
case 3: // Bitfields (16/32 bit only, Rare, not covered here)
return IMG_ERR_UNSUPPORTED;
default:
return IMG_ERR_UNSUPPORTED;
}
if(iRet!=IMG_OK)
return iRet;
// Flip image to correct scanline reversal
FlipImg();
// Load palette if present
iRet=LoadBmpPalette();
if(iRet!=IMG_OK)
return iRet;
// Free the file data
delete [] pData;
pData=NULL;
return IMG_OK;
}
int BMPImg::GetFile(char* szFilename)
{
using namespace std;
ifstream fIn;
unsigned long ulSize;
// Open the specified file
fIn.open(szFilename,ios::binary);
if(fIn==NULL)
return IMG_ERR_NO_FILE;
// Get file size
fIn.seekg(0,ios_base::end);
ulSize=fIn.tellg();
fIn.seekg(0,ios_base::beg);
// Allocate some space
// Check and clear pDat, just in case
if(pData)
{
delete [] pData;
pData=NULL;
}
pData=new unsigned char[ulSize];
if(pData==NULL)
{
fIn.close();
return IMG_ERR_MEM_FAIL;
}
// Read the file into memory
fIn.read((char*)pData,ulSize);
fIn.close();
return IMG_OK;
}
int BMPImg::ReadBmpHeader()
{
int iInfo;
if(pData==NULL)
return IMG_ERR_NO_FILE;
if(pData[0x0]!='B' || pData[0x1]!='M') // BMP ID Bytes, should be 'BM'
return IMG_ERR_BAD_FORMAT;
memcpy(&iImgOffset,&pData[0xA],4); // Offset to image data
memcpy(&iInfo,&pData[0xE],4); // Info header size, should be 0x28
if(iInfo!=0x28)
return IMG_ERR_BAD_FORMAT;
memcpy(&iWidth,&pData[0x12],4); // Image width
memcpy(&iHeight,&pData[0x16],4); // Image height
memcpy(&iPlanes,&pData[0x1A],2); // Colour planes
memcpy(&iBPP,&pData[0x1C],2); // BPP
memcpy(&iEnc,&pData[0x1E],4); // Encoding
iDataSize=(iWidth*iHeight*(iBPP/8)); // Calculate Image Data size
return IMG_OK;
}
int BMPImg::LoadBmpRaw()
{
if(pImage)
{
delete [] pImage;
pImage=NULL;
}
// Allocate space for the image data
pImage=new unsigned char[iDataSize];
if(pImage==NULL)
return IMG_ERR_MEM_FAIL;
memcpy(pImage,&pData[iImgOffset],iDataSize);
return IMG_OK;
}
int BMPImg::LoadBmpRLE8()
{
unsigned char bOpCode,bVal;
unsigned char *pSrc;
int iDcode=1,iCount,iPos,iIndex;
// Allocate space for the image
if(pImage)
delete [] pImage;
pImage=new unsigned char[iDataSize];
if(pImage==NULL)
return IMG_ERR_MEM_FAIL;
// Get the start of the RLE data
pSrc=&pData[iImgOffset];
iPos=0;
iIndex=0;
while(iDcode)
{
// Stay on even bytes
while(iPos%2)
{
iPos++;
}
bOpCode=pSrc[iPos];
bVal=pSrc[iPos+1];
iPos+=2;
if(bOpCode>0) // Run mode, Repeat 'bVal' 'OpCode' times
{
for(iCount=0;iCount!=bOpCode;iCount++)
{
pImage[iIndex]=bVal;
++iIndex;
}
}
else // Absolute Mode (Opcode=0), various options
{
switch(bVal)
{
case 0: // EOL, no action
break;
case 1: // EOF, STOP!
iDcode=0;
break;
case 2: // Reposition, Never used
break;
default: // Copy the next 'bVal' bytes directly to the image
for(iCount=bVal;iCount!=0;iCount--)
{
pImage[iIndex]=pSrc[iPos];
++iIndex;
++iPos;
}
break;
}
}
if(iIndex>iDataSize) // Stop if image size exceeded.
iDcode=0;
}
return IMG_OK;
}
int BMPImg::LoadBmpPalette()
{
int iIndex;
unsigned char *pPalPos, *pDatPos;
if(pPalette)
{
delete [] pPalette;
pPalette=NULL;
}
if(iBPP>8) // NULL Palette for RGB images
return IMG_OK;
// Create space for palette
pPalette=new unsigned char[768];
if(pPalette==NULL)
return IMG_ERR_MEM_FAIL;
// Set starting position for pointers
pPalPos=pPalette;
pDatPos=&pData[0x36];
// Get colour values, skip redundant 4th value
for(iIndex=0;iIndex!=256;++iIndex)
{
pPalPos[0]=pDatPos[2]; // Red
pPalPos[1]=pDatPos[1]; // Green
pPalPos[2]=pDatPos[0]; // Blue
pPalPos+=3;
pDatPos+=4;
}
return IMG_OK;
}
void BMPImg::FlipImg(void)
{
unsigned char bTemp;
unsigned char *pLine1, *pLine2;
int iLineLen,iIndex;
iLineLen=iWidth*(iBPP/8);
pLine1=pImage;
pLine2=&pImage[iLineLen * (iHeight - 1)];
for( ;pLine1<pLine2;pLine2-=(iLineLen*2))
{
for(iIndex=0;iIndex!=iLineLen;pLine1++,pLine2++,iI ndex++)
{
bTemp=*pLine1;
*pLine1=*pLine2;
*pLine2=bTemp;
}
}
}
int BMPImg::GetBPP()
{
return iBPP;
}
int BMPImg::GetWidth()
{
return iWidth;
}
int BMPImg::GetHeight()
{
return iHeight;
}
unsigned char* BMPImg::GetImg()
{
return pImage;
}
unsigned char* BMPImg::GetPalette()
{
return pPalette;
}
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این برنامه دانشجویی هست اما برای آموزش کلاس ها و ارث بری و وکتور بسیار مفیده...
اگر دوستان می بینند خلاف مقررات هست حذفش کنم...
این برنامه قابلیت اضافه/ویرایش/حذف 100 دانشجو و استاد به همراه گزارش گیری کامل و جستجو داره...
امیدوارم مفید باشه
-
2 ضمیمه
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
یه بازی ساده که با فریمورک Qt نوشته شده که تحت سی++ هست:
کد منبع: http://www.4shared.com/file/12187321...annon-src.html
کامپایل شده برای ویندوز: http://www.4shared.com/file/12187258...annon-bin.html
بازیش یه بازی گرافیک دو بعدی هست. یک توپ که از پشت یه مانع شلیک میکنه و گلوله هاش باید به هدفها اثبات کنن. حرکت گلوله ها از نوع بالستیکی هست.
البته بازیش تمامش از خودم نیست و مثال و تمرین خودآموز Qt بوده، ولی بهش امکانات و تزیینات متعددی اضافه کردم که در قسمت about لیست کردم.
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
سلام دوستان!
من کد بازی Minesweeper رو نوشتم ( نوشته بودم ) البته میدونم یکم دیر شد
ولی باز هم به هر حال میزارمش تا همه استفاده کنند!
البته ناگفته نماند در یک قسمت از کدم از کد ashkan_d13 استفاده کردم!
Enjoy it NOW
-
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
یک مثال خیلی ساده از کار با API ها :
#include <windows.h>
void main(){
MessageBox(0,"Hello From API","C++ API",MB_OK | MB_ICONINFORMATION);
}
متاسفانه منبع و مرجع کاملی از لیست API ها وجود ندارد و اکثر برنامه نویسان در اثر تجربه به آنها
آگاهی پیدا کرده اند .
ویکی API
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این برنامه سن شما رو بر حسب سال و ماه می گیره و میگه چند ثانیه یا چند دقیقه یا چند ساعت یا چند روز یا چند هفته یا چند ماه یا چند ساله !
البته برنامه ی ساده ایه و در شان شما نیست ولی خوب جالبه و استفاده ازش خالی از لطف نیست !
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
این یکی سن رو به روز می گیره و به هفته و ماه و................................................ ..............
تبدیل می کنه !:تشویق:
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
و این هم بهتون نمی گم چی می کشه ! :شیطان:
فقط بدونین که یک شکل جالب و توپ می کشه !! :لبخند:
-
1 ضمیمه
نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C
مثل اینکه دیگه کسی نمیخواد برنامه بذاره ! :بامزه:
پس برنامه بعدی رو هم من می ذارم ! :لبخند:
این برنامه یه جورایی همه کارس ! براتون 5 تا کار مختلف انجام میده و خلاصه خیلی جالبه ! نیاز به محیط گرافیکی هم نداره ! :تشویق:
هر تیکه ای ش رو از یجا آوردم و از کد های دوستان هم استفاده کردم اما خودم هم خیلی روش زحمت کشیدم ! :لبخندساده:
تا بعد خداحافظ ! :چشمک: