PDA

View Full Version : سوال: دوستان کمک کنید 3 تا سوال در ++c خواهش میکنم!



mialdf
چهارشنبه 04 دی 1387, 00:19 صبح
سلام دوستان
التماس میکنم کمک کنید
من در حال نوشتن پروِژه هستم تقریباً کامل شده ولی چون ویندوزم خراب شده بود عوضش کردم ولی الان وقتی اون برنامهرو اجرا میکنم همه include هام error میده . از اینکلودهایی که استفاده کردم ایناست :



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

کمک کنید خواهش میکنم .
چند تا سوال دیگه هم داشتم

میخوام یک کد بدم که از برنامه خارج بشه یعنی کار همون END در ویژوال بیسیک باشه اگه کدشو میدونید ممنون میشم بدید

و سوال بعدیم در این مورد هست که پرش کنه به خط دیگه ای مثلآً کاربر دو راه داره یا اینکه از برنامه خارج بشه یا اینکه به اول برنامه برگشت کنه .
کد خارج شدن از برنامه
کد اجرای برنامه از اول

خواهش میکنم اگه کسی میدونه کمکم کنه پس فردا باید پروژه هامو تحویل بدم.

mialdf
چهارشنبه 04 دی 1387, 09:37 صبح
کسی نمی خواد کمکم کنه!؟؟؟؟؟؟

کمکمکمکمکمکمکمکمکم کنید!

mialdf
چهارشنبه 04 دی 1387, 11:12 صبح
دوست عزیز من کد برنامه مو میزارم از این کد بهتر متوجه میشید .




FILE * laptop;
laptop=fopen("E:\\Laptop.dat","ab");
fclose(laptop);
cout<<" <<<<Fail Morede Nazar Ijad Shod>>>>"<<"\n"<<"\n";
cout<<"gozinehaye zir ra entekhab namaiid"<<"\n"<<"\n";
cout<<"1 _ Edame barnameh."<<"\n"<<"\n";
cout<<"2 _ Khoroj az barnameh."<<"\n"<<"\n";

int b;
switch (b){
case 1 :
کدی که برنامه رو از اول شروع کنه!
break;
case 2:
کدی که از برنامه خارج بشه!
break;
default :
cout<<"Shomare vared shodeh sahih nemibashad.";
}

Cold.82
چهارشنبه 04 دی 1387, 11:20 صبح
از چه کامپایلری استفاده می کنید؟
درون شرط تون از
exit(0) استفاده کنید ببینید کار میکنه

mialdf
چهارشنبه 04 دی 1387, 11:36 صبح
دوستان اینکلودهاش این error رو میده


unable to open include file "iostream.h"
unable to open include file "conio.h"
unable to open include file "stdio.h"

pars.engineer
چهارشنبه 04 دی 1387, 11:45 صبح
سلام،
به احتمال زياد مشكل از كامپايلر است.
ممكن است Header File ها بدرستي نصب نشده باشند.
در ضمن براي خروج نيز همانطور كه دوستمان گفت از تابع exit استفاده نماييد كه در هدر فايل stdlib.h قرار دارد و مقدار آرگومان 0 گزارش اتمام موفقيت آميز بودن و آرگومان 1 گزارش اتمام ناموفق برنامه را به سيستم عامل مي دهد.

در ضمن كد شما را با تغييرات كوچكي اجرا كردم مشكلي نداشت.



#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
int b;
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","ab");
fclose(laptop);
cout<<" Fail Morede Nazar Ijad Shod "<<"\n"<<"\n";
cout<<"gozinehaye zir ra entekhab namaiid"<<"\n"<<"\n";
cout<<"1 _ Edame barnameh."<<"\n"<<"\n";
cout<<"2 _ Khoroj az barnameh."<<"\n"<<"\n";
b=getch();

switch (b){
case 1 :
cout<<"\nYou Selected 1";
break;
case 2:
exit(0);
break;
default :
cout<<"Shomare vared shodeh sahih nemibashad.";
}
getch();
}


موفق باشيد.

Saeed_m_Farid
چهارشنبه 04 دی 1387, 11:55 صبح
دوست عزیز در مورد سوال اولتون اگه از کامپایلر قدیمی C دارین استفاده میکنید, مثل TC مسیر Include رو اگه درست نیست باید تنظیم کنید : Options->Directories ...
در مورد دومی سوال دومی هم اگه این کد کاملتون باشه که اشکال زیاد داره : چرا فایل باز کردین و بعد بستین؟ اگه واسه ایجاد کردن فایل اینکار رو کردین از مد "+w" واسه overwrite و "+a" واسه نوشتن انتهای فایل استفاده کنید و در ضمن کارتون که با فایل تموم شد ببندینش. ضمنا cin شما کو؟ b چیه؟ اگه کد کامل بذارین بهتر میشه راهنماییتون کرد ...

mialdf
چهارشنبه 04 دی 1387, 12:14 عصر
سلام سعید جان
اگه بتونی کمکم کنی ممنون میشم

هنوز کامل نشده دارم کامل میکنم .

برنامه میخواد یه فایل ایجاد کنه و مشخصات مثلاً 3 تا لپ تاپ رو در خودش ذخیره کنه . 1 ایجاد کنه 2- اطلاعات رو وارد کنه 3- گزارش کلی بگیره 4- قیمت لپ تاپهایی که از یک میلیون تمون بیشتر هستنو چاپ کنه 5- فایل ساخته شده رو حذف کنه 6- شماره سریال لپ تاپو بگیره و اونو حذف کنه

من فقط در 5 و 6 مشکل دارم .

دانلود فایل (http://p30pediaa.persiangig.com/document/LAPTOP.CPP) 3 KB


ID : tanhatarin_nafas6806

Email : milad.mek6806@gmail.com

Saeed_m_Farid
چهارشنبه 04 دی 1387, 12:30 عصر
درخواست تمرینات دانشجویی و عنوان نامناسب اکیداً ممنوع (مشاهد قوانین سایت) (http://barnamenevis.org/forum/showthread.php?t=91319)
آقا میلاد سوالت رو موردی میشه حل کرد ولی کاش این کار رو نمیکردی!

mialdf
چهارشنبه 04 دی 1387, 12:42 عصر
داداش ویرایش کردم خواهش میکنم کمک کنید

Saeed_m_Farid
چهارشنبه 04 دی 1387, 13:04 عصر
اون چیزی که شما تو پست اول خواستین با goto و رفتن به Lable موردنظر میشه انجامش داد ولی کار اشتباهیه؛ چون کنترل برنامه از دستت در میاد، شما 1 گزینه دیگه مثل 0 به کاربر بدین و روال کار رو تو یه while بذارید که تا وقتی کاربر 0 رو نزده شرط while برقرار نشه؛ تو قسمت حذف فایل هم اگه نتیجه 0 باشه یعنی فایل حذف شده که شما برعکس داری نگا میکنی در ضمن باید مسیر کامل بدی نه فقط اسم فایل رو، اگه فایل به دلیلی باز نشه نتیجه 1- میده و علت هم تو متغیر سراسری errno ست میشه...
متغیر فایل رو هم Global بگیر و هی فایل رو باز و بسته نکن، اگه تو 1 پروژه واقعی همچین کاری بکنی هاردت میترکه!
یه کاری مثل این باید بکنی :

bool bTerminate = false;
FILE * g_fLabtop;
int iUserSel = -1;
try
{
cout<<"Please enter file name: ";
char fName[128]={0};
cin>>fName;
g_fLabtop = fopen(fName,"a+");
cout<<" Fail Morede Nazar Ijad Shod "<<"\n"<<"\n";
cout<<"gozinehaye zir ra entekhab namaiid"<<"\n"<<"\n";
cout<<"1 - Ijad Fail."<<"\n"<<"\n";
cout<<"2 - Vared Kardane Etelaat."<<"\n"<<"\n";
cout<<"3 - Gozareshgiri Kole etelaat."<<"\n"<<"\n";
cout<<"4 - List LapTophaii ke Gheymateshan az Yek Milyon Toman bishtar ast!."<<"\n"<<"\n";
cout<<"5 _ Jostojo az roye shomare Serial."<<"\n"<<"\n";
cout<<"6 _ Hazf Fail."<<"\n"<<"\n";
cout<<"0 _ Exit!"<<"\n"<<"\n";
while (!bTerminate)
{
iUserSel=getch();
switch (iUserSel){
case 1 :
cout<<"\nYou Selected 1";
/* do somthing in file and console...*/
break;
/*
.
.
.
*/
case 0:
/* warn to user for exit!*/
bTerminate = true;
break;
default :
cout<<"Shomare vared shodeh sahih nemibashad.";
}
}
getch();
}
catch (Exception &ex)
{
char errMsg[1024];
sprintf(errMsg, "Exception on main: : %s", ex.Message);
cout<<errMsg;
}
if (g_fLabtop)
fclose(g_fLabtop);
return 0;

SamaPic
چهارشنبه 04 دی 1387, 15:41 عصر
با سلام خدمت دوست عزيز.
شما براي اجراي برنامه از كد زير استفاده كنيد.




while(1(

دستورات

LOOP:
cout<<endl<<"DO you want to continue?(N/Y) ";
cin>>ans;

switch (ans)
{
case ('y')
continue;
case ('n')
break;
default
cout<<"Not avabile";
goto LOOP;
}



براي خروج از دستور زير استفاده كنيد._(البته حتما قبلش يك شرط بگذاريد.)




exit 0;


البته مي توانيد از دستور زير هم استفاده كنيد.




return ;


براي انجام خواسته آخرتان از دستور سويچ استفاده كنيد مانند جواب اول.
فقط لازم به ذكر است كه شما بايد حتما دستورات Break را در انتهاي هر Case بگذاريد.و در داخل case دستورات مورد نظر را قرار دهيد.
شايان ذكر است در اين راه حل فقط شرط مساوي بودن چك مي شود و براي اظمينان بايد بازه ي اعداد مورد نظر را گريد (درجه بندي يا رتبه بندي) كنيد.
براي انتقال مسير اجرا مي توانيد از گو تو go to L1; استفاده كنيد.ابته استفاده از اين دستور فقط جنبه ي كار راه اندازي دارد و نه حل مسئله زيرا با استفاده از اين دستور برنامه ي شما غير استاندارد خواهد شد.
اگر هم هنوز نشكل اينكلود هاتون بر طرف نشده بايد بگويم اين مشكل با اجراي يكي از فايل هاي داخل پوشه ي بين برطرف مي شود . اسمش يادم رفته واگر نه مي گفتم.(فكر كنم HC)
تمامي سوالاتتان را سعي كردم در مثال ها جاي دهم . باز هم اگر مشكلي بود بگوييد تا كمكتان كنيم.
خدانگهدار.

Saeed_m_Farid
چهارشنبه 04 دی 1387, 16:26 عصر
تمامي سوالاتتان را سعي كردم در مثال ها جاي دهم . باز هم اگر مشكلي بود بگوييد تا كمكتان كنيم.
آقای SamaPic (http://barnamenevis.org/forum/member.php?u=78188)؛ کد من یا فایلی که mialdf (http://barnamenevis.org/forum/member.php?u=87114) ضمیمه کردن رو خوندی؟ شما اصلا روی صورت مساله رو عوض کردین! پس فایل و گزینه های مختلف کاربر چی شدن؟ لطفا اول مطلب رو با دقت بخونید بعد پست بدین.

mialdf
چهارشنبه 04 دی 1387, 16:32 عصر
دوستان الان در حذف فایل مشکل دارم.


void DelFile(){
clrscr();
FILE *laptop;
laptop=fopen ("E:\laptop.dat","ab");
if (remove ("laptop.dat")==0 ))
cout<<" Fail Morede Nazar Hazf Gardid."<<endl<<endl<<endl<<endl;
fclose (laptop);
exitor();
}

mialdf
چهارشنبه 04 دی 1387, 16:40 عصر
دوستان یک مشکل دیگه هم دارم!!!!!!!! ببخشید امروز زیادی مزاحم شدم.

من میخوام از کاربر شماره سریال کالارو بگیرم و کالایی که اون شماره سریال رو داره حذف کنم از فایل

برای این کار باید چی کار کنم .

اگه میشه روی همین کدی که براتون میزارم تغییرش بدین:


void serial(){
clrscr();
cout<<" << Hazf bar asase shomare serial laptop >>"<<endl<<endl<<endl;
int x,i;
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","rb");
fread(&l,sizeof(struct laptop),1,laptop);
cout<<"Lotfan Shomare Serial Laptop Ra Vared Konid : ";
cin>>x; cout<<endl<<endl;
for (i=0;i<3;i++) {
if (l[i].serial==x){
cout<<"Name Laptop : "<<l[i].name<<"\n";
cout<<"Model : "<<l[i].model<<"\n";
cout<<"Serial : "<<l[i].serial<<"\n";
cout<<"Hafezeh : "<<l[i].hafezeh<<"\n";
cout<<"Gheymat : "<<l[i].pay<<"\n";}}
if ((l[i].serial==x)==NULL)
cout<<endl<<"Chenin laptopi mojod nemibashad."<<endl<<endl<<endl<<endl;
fclose (laptop);
exitor();
}

mialdf
چهارشنبه 04 دی 1387, 17:31 عصر
دوستان این کد کل برنامه هستش اگه کسی میتونه کمکم کنه یه نگاهی به اون بندازه و اشکالاتشو برطرف کنه اگه هم میشه اون 2 تا مشکلی که در 2 تا پست قبلی گفتمو برطرف کنه . ببخشید ممنون میشم اگه کسی برام یه کامپاله برنامه نویس گونه بکنه . ممنونم دوستان .



#include <iostream.h>
#include <conio.h>
#include <STDIO.H>
# include <PROCESS.H>
void one();
void creat();
void insert() ;
void gozaresh();
void max();
void serial();
void DelFile();
void exit();
void exitor();

struct laptop{
char name[20];
int model;
int serial;
float hafezeh;
float pay;
}l[3];

int main(){
clrscr();
one();
getch();
return 0;
}

void one (){
cout<<" << NARM ADFZARE SABTE ETELAATE LAPTOP dising by : Milad Kardgar >>"<<"\n"<<"\n"<<"\n";
cout<<"Lotfan Shomare darkhast Khod ra vared konid."<<"\n"<<"\n";
cout<<"1 - Ijad Fail."<<"\n"<<"\n";
cout<<"2 - Vared Kardane Etelaat."<<"\n"<<"\n";
cout<<"3 - Gozareshgiri Kole etelaat."<<"\n"<<"\n";
cout<<"4 - List LapTophaii ke Gheymateshan az Yek Milyon Toman bishtar ast!."<<"\n"<<"\n";
cout<<"5 _ Jostojo az roye shomare Serial."<<"\n"<<"\n";
cout<<"6 _ Hazf Fail."<<"\n"<<"\n";
cout<<"0 _ Khoroj az barnameh!"<<"\n"<<"\n";

int y;
cout<<" Lotfan shomare gozine ra vared koni : ";
cin>>y;
switch (y){
case 0:
exit();
break;
case 1:
creat();
break;
case 2:
insert();
break;
case 3:
gozaresh();
break;
case 4:
max();
break;
case 5:
serial();
break;
case 6:
DelFile();
break;
default:
cout<<"Shomare vared shodeh sahih nemibashad!!"<<endl<<endl<<" Baraye bazgasht Lotfan kilidi ra feshar dahih..."<<"\n"<<"\n";
getch();
clrscr();
one();
} }
void creat() {
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","ab");
fclose(laptop);
clrscr();
cout<<" <<<<Fail Morede Nazar Ijad Shod>>>>"<<"\n"<<"\n";
exitor();
}

void insert(){
clrscr();
cout<<" << Vared kardane etelaat >>"<<"\n"<<"\n";
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","ab");
int i,m;
m=0;
for (i=0;i<3;i++){
m=m++;
cout<<" Labtape shomare :"<<m<<"\n"<<"\n";
cout<<"Name Laptop : "; cin>>l[i].name; cout<<"\n";
cout<<"Model : "; cin>>l[i].model; cout<<"\n";
cout<<"Serial : "; cin>>l[i].serial; cout<<"\n";
cout<<"Hafezeh : "; cin>>l[i].hafezeh; cout<<"\n";
cout<<"Gheymat : "; cin>>l[i].pay; cout<<"\n"<<"\n";}
fwrite(&l,sizeof(struct laptop),1,laptop);
fclose (laptop);
cout<<" Etelaate shoma sabt gardid."<<"\n"<<"\n";
exitor();
}

void gozaresh(){
clrscr();
cout<<"\n"<<"\n"<<" << Kole etalaate sabt shodeh >>"<<"\n"<<"\n";
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","rb");
fread(&l,sizeof(struct laptop),1,laptop);
int i;
for (i=0;i<3;i++){
cout<<"Name Laptop : "<<l[i].name<<"\n";
cout<<"Model : "<<l[i].model<<"\n";
cout<<"Serial : "<<l[i].serial<<"\n";
cout<<"Hafezeh : "<<l[i].hafezeh<<"\n";
cout<<"Gheymat : "<<l[i].pay<<"\n"<<"\n";}
fclose (laptop);
exitor();
}

void max (){
clrscr();
cout<<" << Laptap haii ke gheymateshan bishtar az 1 milyon toman hastand >>"<<"\n"<<endl<<endl;
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","rb");
fread(&l,sizeof(struct laptop),1,laptop);
int i;
for (i=0;i<3;i++) {
if (l[i].pay>1000000){
cout<<"Name Laptop : "<<l[i].name<<"\n";
cout<<"Model : "<<l[i].model<<"\n";
cout<<"Serial : "<<l[i].serial<<"\n";
cout<<"Hafezeh : "<<l[i].hafezeh<<"\n";
cout<<"Gheymat : "<<l[i].pay<<"\n"<<"\n";}}
if ((l[i].pay>1000000)==NULL) {
cout<<endl<<endl<<" Laptapi bishtar az 1 milyon toman mojod nemibashd."<<"\n"<<"\n"<<endl<<endl<<endl;}
fclose (laptop);

exitor();
}

void serial(){
clrscr();
cout<<" << Hazf bar asase shomare serial laptop >>"<<endl<<endl<<endl;
int x,i;
FILE * laptop;
laptop=fopen("E:\\Laptop.dat","rb");
fread(&l,sizeof(struct laptop),1,laptop);
cout<<"Lotfan Shomare Serial Laptop Ra Vared Konid : ";
cin>>x; cout<<endl<<endl;
for (i=0;i<3;i++) {
if (l[i].serial==x){
cout<<"Name Laptop : "<<l[i].name<<"\n";
cout<<"Model : "<<l[i].model<<"\n";
cout<<"Serial : "<<l[i].serial<<"\n";
cout<<"Hafezeh : "<<l[i].hafezeh<<"\n";
cout<<"Gheymat : "<<l[i].pay<<"\n";}}
if ((l[i].serial==x)==NULL)
cout<<endl<<"Chenin laptopi mojod nemibashad."<<endl<<endl<<endl<<endl;
fclose (laptop);
exitor();
}

void DelFile(){
clrscr();
FILE *laptop;
laptop=fopen ("E:\laptop.dat","ab");
if (remove ("laptop.dat")==0 ))
cout<<" Fail Morede Nazar Hazf Gardid."<<endl<<endl<<endl<<endl;
fclose (laptop);
exitor();
}

void exit(){

clrscr();
cout<<"Ba tashakor az hosne entekhabe shoma."<<"\n"<<"\n"<<" <<< Mr Milad Kardagr >>>"<<"\n"<<"\n"<<" Email : Milad.mek6806@gmail.com"<<"\n"<<"\n"<<" http://forum.p30pedia.com"<<"\n"<<"\n"<<endl<<endl;
cout<<" Lotfan baraye khoroj kildi ra feshar dahid...."<<"\n";
getch();
exit (0);
}

void exitor(){
cout<<"Baraye edame kar gozinehaye zir ra entekhab namaiid."<<"\n"<<"\n";
cout<<"1 _ Bazgasht be safheye asli."<<"\n"<<"\n";
cout<<"2 _ Khoroj az barnameh."<<"\n"<<"\n";
cout<<" Lotfan shomare gozine ra vared koni : ";
int b;
cin>>b;
switch (b){
case 1:
clrscr();
one();
break;
case 2:
cout<<"Baraye Khoroj az barname lotfan dokmeii ra feshar dahid"<<"\n";
exit();
break;
default :

cout<<"\n"<<"\n"<<"Shomare vared shodeh sahih nemibashad."<<"\n"<<"\n"<<" Baraye bazgasht kilidi ra feshar dahid...";

getch();
clrscr();
exitor();

}
}

Saeed_m_Farid
چهارشنبه 04 دی 1387, 18:22 عصر
اين بحث تا كجا ميخواد كش پيدا كنه؟ شما تا حالا 1 خط هم كد ننوشتين تنها كاري كه كردين اينا بودن :

التماس میکنم کمک کنید

داداش ویرایش کردم خواهش میکنم کمک کنید

یه نگاهی به اون بندازه و اشکالاتشو برطرف کنه اگه هم میشه اون 2 تا مشکلی که در 2 تا پست قبلی گفتمو برطرف کنه . ببخشید ممنون میشم اگه کسی برام یه کامپاله برنامه نویس گونه بکنه
اينا همه مخالف قوانين سايت هستن، قابل توجه مدير محترم. اين از من :I'm out

SamaPic
چهارشنبه 04 دی 1387, 20:38 عصر
با سلام خدمت دوست عزيز Saeed_m_Farid.


آقای SamaPic (http://barnamenevis.org/forum/member.php?u=78188)؛ کد من یا فایلی که mialdf (http://barnamenevis.org/forum/member.php?u=87114) ضمیمه کردن رو خوندی؟ شما اصلا روی صورت مساله رو عوض کردین! پس فایل و گزینه های مختلف کاربر چی شدن؟ لطفا اول مطلب رو با دقت بخونید بعد پست بدین.

من كلي جواب دادن.
مشكلش چيه؟
بعدش هم ما امده ايم جواب سوالات دوستمان را بدهيم نه توي هر تاپيك كه هم رو ديديم بيفتيم به جون هم، چون هيچ سودي جز ضرر براي خود و سوال كننده ندارد.
ديگه زياد داري حرف مي زني يك كاري نكن مخفي گاهت رو لو بدم.:لبخندساده::لبخندساده:
اميدوارم ناراحت نشوي.
خدانگهدار.