کمک (برنامه ای با ارایه ها )

shahrzad-sama

New Member
یه برنامه با c++که برای فروشگاه هستش
#include <iostream.h>
#include <conio.h>

int main()
{
int credit=1000;
int total=0;
int price;
int number;
char code;


cout<<"**welcome to our market**";
cout<<"\n enter a code: ";
cin>>code;
cout<<"\n how many : ";
cin>>number;

while ((code != 'x' )&& (code != 'X'))
{
switch (code)
{
case 'a':
case 'A':
price = 100;
cout<<"shir : "<<price<<" number: "<<number;
break;
case 'b':
case 'B':
price = 200;
cout<<"karafs: "<<price<<" number: "<<number;
break;
case 'c':
case 'C':
price = 300;
cout<<"kare: "<<price<<" number: "<<number;
break;
case 'd':
case 'D':
price = 400;
cout<<"moraba: "<<price<<" number: "<<number;
break;
case '\t':
case '\n':
case ' ':
price = 0;
break;
default:
cout<<"\n ";
price = 0;
break;
}

total = total + price*number;
cout<<"\n code:";
cin>>code;
cout<<"\n number: ";
cin>>number;
}

if (total>=credit)
cout<<"you buy more than you credit O__O: "<<total<<" tedadi kalai kharideh shodeh: "<<number;
else
cout<<"thanks for your shoping ^__^: "<<total<<"tedade kalai kharideh shodeh : "<<number;


getch();
return 0;
}
میشه اینو با ارایه برام کسی بنویسه
من ارایه هارو بلد نیستم :cry::cry::cry:
 

saalek110

Well-Known Member
آرایه که خیلی ساده است.
مثل اندیس ها در ریاضی.
a1 ,a2 ,a3

کد:
#include "stdafx.h"

#include <iostream.h>
#include <conio.h>



int main(int argc, char* argv[])
{

int n[10];                        // yek array ba tedadi ozv tarif kardim

n[3]=25;                         // yek ozv ra meghdar dehi kardim
cout<<"n[3]=  "<<n[3] <<endl ;   // an ozv ra estefadeh kardim

	return 0;
}


attachment.php
 

پیوست ها

  • a1.jpg
    a1.jpg
    23.6 کیلوبایت · بازدیدها: 8
آخرین ویرایش:

saalek110

Well-Known Member
ولی فکر کنم این نوع برنامه ها را با استراکت بهتر بشود نوشت.

کد:
#include <iostream.h>
#include <conio.h>


// struct1.cpp
struct PERSON {   // Declare PERSON struct type
   int age;   // Declare member types
   long ss;
   float weight;
   char name[25];
} family_member;   // Define object of type PERSON




int main(int argc, char* argv[])
{

   struct PERSON sister;   // C style structure declaration
   PERSON brother;   // C++ style structure declaration
   sister.age = 13;   // assign values to members
   brother.age = 7;

cout<<"brother.age=  "<<brother.age <<endl ;

	return 0;
}


//natijeye ejra :  brother.age= 7


منبع:
http://msdn.microsoft.com/en-us/library/64973255(v=vs.80).aspx
 

saalek110

Well-Known Member
البته استراکت را هم می شود به شکل آرایه استفاده کرد:

کد:
#include "stdafx.h"

#include <iostream.h>
#include <conio.h>

struct person{
    int id;
    char *name;
};




int main(int argc, char* argv[])
{

   struct person test[2];

    
    test[0].id=1;
    test[0].name="person 1";
    
    test[1].id=2;
    test[1].name="person 2";
    
cout<<"test[0].id  =  "  <<  test[0].id    <<endl ;
cout<<"test[0].name=  "  <<  test[0].name  <<endl ;
    

	return 0;
}

attachment.php


منبع:
http://www.codingforums.com/showthread.php?t=141097
 

پیوست ها

  • a2.jpg
    a2.jpg
    5.4 کیلوبایت · بازدیدها: 8

saalek110

Well-Known Member
شاید برای برنامه شما چنین استراکتی مناسب باشد:

کد:
struct kala{
    int code;
    char *name;
	int price;
};

و یک آرایه 100 خانه ای شاید کافی باشد. یعنی 100 کالا.
 

shahrzad-sama

New Member
وقتی از ارایه ها استفاده میکنم دیگه نباید switch رو بزارم ؟؟
#include<string> رو هم باید اول برنامه بزارم؟
 

saalek110

Well-Known Member
سوئیچ کاربرد خاص خودش را دارد و هیچ ارتباطی به اینکه از آرایه استفاده کنید یا نکنید ندارد.
من برنامه شما را درست نگاه نکردم. فقط کاربرد آرایه و استراکت را گفتم.
صورت مسئله را شما نگفتید. فقط جواب که کد است را گذاشتید.
باید بگید قراره این نرم افزار برای کارمند فروشگاه چه کاری انجام دهد.

در مورد string توجه کنید که من ابدا از نوع string استفاده نکردم. من از char استفاده کردم. پس نیازی به اینکلود کردن string.h نیست.
 

saalek110

Well-Known Member
در ضمن شما اگر نخواهید از استراکت استفاده کنید هم ممکن است.
3 آرایه تعریف کنید برای کد و نام و قیمت.
دو تا اینتیجر و یکی char .
ولی با استراکت این 3 آرایه به هم مربوط می شود و شاید بهتر باشد.
 

saalek110

Well-Known Member
کد:
#include "stdafx.h"

int main(int argc, char* argv[])
{


char  a;
char *b;

a='r';

b="abcdefghijklmnopqrstuvwxyz";



	return 0;
}

در کد بالا a و b هر دو از نوع char هستند. (و نیازی به هیچ اینکلودی مثل string.h نیست.)

تفاوت a و b :
اولی یعنی a یک خانه حافظه(بعضی ها می گویند دو خانه) رزرو می کند. پس یک حرف در آن جا میشه. خودتان در برنامه اتان بدین گونه ازش استفاده کردید. منو کوتیشن هم استفاده می شود.
دومی یعنی b نقطه شروع حافظه را مشخص می کند. و میشه یک عبارت طولانی با دابل کوتیشن بهش داد.
 

saalek110

Well-Known Member
نوع دوم char پست قبل را هم براحتی می شود آرایه کرد:

کد:
#include "stdafx.h"
#include <iostream.h>

int main(int argc, char* argv[])
{



char *b[10];



b[1]="abcdefghijklmnopqrstuvwxyz";
b[2]="nice";
b[3]="c plus";

cout<< b[3] << " is " << b[2] << endl ;
	return 0;
}

attachment.php
 

پیوست ها

  • a3.jpg
    a3.jpg
    4.3 کیلوبایت · بازدیدها: 7

saalek110

Well-Known Member
char را به شکل آرایه هم میشه استفاده کرد:

کد:
#include "stdafx.h"
#include <iostream.h>



int main(int argc, char* argv[])
{
	

char b[20]="salam";


   char myStr[] = "text";
   myStr[0] = 'n';
   cout << myStr << endl;



	return 0;
}
attachment.php


http://www.cplusplus.com/forum/beginner/21
 

پیوست ها

  • a4.jpg
    a4.jpg
    23.4 کیلوبایت · بازدیدها: 8

جدیدترین ارسال ها

بالا