واضح آرشیو وب فارسی:سایت ریسک: اجرای برنامه c در محیط c++؟ ellisa 05 آذر 1387, 13:54با سلام چه طور میشه برنامه نوشته شده به زبان c رو در محیط++ c اجرا کرد ؟ زمانیکه برنامه ای رو به زبان c دارم و برنامه ای اجرایی c رو ندارم یعنی روی سیستمی که میخوام اجرا کنم فقط برنامه c++ نصب باشه و بخوام برنامه رو اجرا کنم ... اجرا نمیشه خطا میده ؟ چه طوری میتونم تبدیلش کنم به c++؟ چه طوری میتونم اجراش کنم؟ اصلا راهی هست که بشه برنامه C رو در محیط C++ اجرا کرد؟ ممنون saalek110 05 آذر 1387, 15:55من دقیقا متوجه منظور شما نشدم ولی چه برنامه سی با پسوند c و چه برنامه سی پلاس با پسوند cpp توسط کامپایلری مثل توربوسی 3 تبدیل به فایل اجرایی یعنی اگزه می شود. Shahab_Helmi 05 آذر 1387, 18:18از کامپایلر borland c++ 5.02 ellisa 06 آذر 1387, 00:34ممنون دوستان اما منظورم اینه که قطعه کدی که به زبان c هست رو در محیط c++ کپی کنیم و بعد اجرا کنیم.... اینجاست که از کد ایراد میگیره و اجرا نمیکنه برنامه رو ... راه حل این مشکل چیه؟ راستی کد c رو در برنامه borland c++ 5.02 اجرا میکنم و بازم اجرا نمیشه ... از توابع ایراد میگیره ... ایرادای عجیب غریب .... salehvasaleh 06 آذر 1387, 10:49خوب بررسی کن ببین ایراادش چیه؟ شاید اصلا اشتباه در نجوه تایپ برنامه داشته باشه. راستی از توابع گرافیکی استفاده نکردی؟ چون این توابع اصلا با هم جور در نمی آیند و توی سی با سی پلاس پلاس فرق دارن. the_king 06 آذر 1387, 10:51در صورت امکان کل کد و در غیر اینصورت ساختار اصلی برنامه (بدون کدهای درون بدنه توابع) را قرار دهید تا مشکل با نمونه برنامه بررسی گردد، چون کامپایلری که توانایی ترجمه کد ++c را داشته باشد، اصولا با زبان c نیز سازگار است. ellisa 06 آذر 1387, 15:46با سلام این کد الگوریتم زمانبندی سیستم عامل هست SJF=> Shortest Job First ممنون میشم کمکم کنید .... و البته یه راهنمایی هم واسه نوشتن الگوریتم زمانبندی HRN کنید ....[LEFT] #include<stdio.h> main() { float avgwt,avgtt; char pname[10][10],c[10][10]; int wt[10],tt[10],bt[10],at[10],t,q,i,n,sum=0,sbt=0,ttime,j,ss=0; printf(" Enter the number of processes:"); scanf("%d",&n); printf(" Enter the NAME,BURSTTIME and ARRIVALTIME of the processes"); for(i=0;i<n;i++) { printf(" NAME :"); scanf("%s",&pname[i]); printf(" BURST TIME :"); scanf("%d",&bt[i]); printf(" ARRIVAL TIME :"); scanf("%d",&at[i]); } for(i=0;i<n;i++) for(j=i+1;j<n;j++) { if(at[i]==at[j]) if(bt[i]>bt[j]) { t=at[i]; at[i]=at[j]; at[j]=t; q=bt[i]; bt[i]=bt[j]; bt[j]=q; strcpy(c[i],pname[i]); strcpy(pname[i],pname[j]); strcpy(pname[j],c[i]); } if(at[i]!=at[j]) if(bt[i]>bt[j]) { t=at[i]; at[i]=at[j]; at[j]=t; q=bt[i]; bt[i]=bt[j]; bt[j]=q; strcpy(c[i],pname[i]); strcpy(pname[i],pname[j]); strcpy(pname[j],c[i]); } } wt[0]=0; for(i=0;i<n;i++) { wt[i+1]=wt[i]+bt[i]; sum=sum+(wt[i]-at[i]); sbt=sbt+(wt[i+1]-at[i]); tt[i]=wt[i]+bt[i]; ss=ss+bt[i]; } printf(" GANTT CHART"); printf(" ------------------------------------------------------------------ "); for(i=0;i<n;i++) { printf("| %s ",pname[i]); sbt=sbt+wt[i+1]; tt[i]=wt[i]+bt[i]; ss=ss+bt[i]; } printf(" GANTT CHART"); printf(" -------------------------------------------------------------------- "); for(i=0;i<n;i++) { printf("| %s ",pname[i]); } printf(" -------------------------------------------------------------------- "); for(i=0;i<n;i++) { printf("%d ",wt[i]); } printf("%d ",ss); printf(" -------------------------------------------------------------------- "); printf(" Total WAITING TIME of the process=%d",sum); printf(" Total TURNAROUND TIME of the process=%d",sbt); avgwt=(float)sum/n; avgtt=(float)sbt/n; printf(" Average WAITING TIME of the process=%f",avgwt); printf(" Average TURNAROUND TIME of the process=%f",avgtt); } ممنون Shahab_Helmi 06 آذر 1387, 17:36من همین الان با borland ران کردمش! فقط کافیه #include <string.h> اضافه کنید توی تابع کتابخانه ای stdio.h هم 1 فاصله بین #include و <stdio.h> بذارین! فکر نمی کنم چسبیده به همش درست کار کنه!اگر دقت کرده باشید جداش می کنید رنگش از سبز به آبی تغییر می کنه the_king 06 آذر 1387, 18:03مورد اول حتما هنگامی که کدی را در ویرایشگر متنی فروم قرار می دهید از دکمه استفاده نمایید تا متن تان در میان دو تگ [CODE] و [CODE/] قرار گیرد. هم چپ به راست بودن کدها حفظ می شود و هم فرو رفتی سطرهای کد به واسطه فاصله و Tab ها نمایش می یابد. مورد دوم زمانی که از توابعی مانند ()strcpy استفاده می کنید، include کردن <string.h> را فراموش نکنید. چون <string.h> را معرفی نکردید، ()strcpy برای کامپایلر ناشناخته خواهد بود. مورد سوم تابع ()main یا خروجی اش باید void باشد یا int ، که در مثال شما با توجه به عدم کاربرد فرمان return می بایستی قبل از ()main از void استفاده می کردید. مورد چهارم در کدتان از متغیر ttime هیچ استفاده ای نکردید، پس تعریف کردن این متغیر اضافی بود. مورد پنجم برای آنکه پایان یافتن اجرای برنامه در برخی کامپایلر ها شامل یک pause جهت مشاهده خروجی برنامه نیست و بلافاصله به محیط ویرایشگر باز می گردد، بهتر است که در پایان کد main یک تابع اضافی ()getch را قرار دهید. با اضافه کردن این تابع که نیازمند include کردن <conio.h> می باشد، کاربر برای بازگشت به محیط ویرایشگر باید یک کلید را فشار دهد و برای مشاهده خروجی های printf فرصت کافی خواهد داشت. کد ویرایش شده که پنج مورد فوق در آن رعایت گردیده باشد، در کامپایلر های Turbo C++ 3.0 و کامپایلر Turbo C++ 4.5 و کامپایلر Microsoft Visual C++ 6.0 بدون مشکل کامپایل و اجرا می گردد. #include <stdio.h> #include <conio.h> #include <string.h> void main() { float avgwt,avgtt; char pname[10][10],c[10][10]; int wt[10],tt[10],bt[10],at[10],t,q,i,n,sum=0,sbt=0,j,ss=0; printf(" Enter the number of processes:"); scanf("%d",&n); printf(" Enter the NAME,BURSTTIME and ARRIVALTIME of the processes"); for(i=0;i<n;i++) { printf(" NAME :"); scanf("%s",&pname[i]); printf(" BURST TIME :"); scanf("%d",&bt[i]); printf(" ARRIVAL TIME :"); scanf("%d",&at[i]); } for(i=0;i<n;i++) for(j=i+1;j<n;j++) { if(at[i]==at[j]) if(bt[i]>bt[j]) { t=at[i]; at[i]=at[j]; at[j]=t; q=bt[i]; bt[i]=bt[j]; bt[j]=q; strcpy(c[i],pname[i]); strcpy(pname[i],pname[j]); strcpy(pname[j],c[i]); } if(at[i]!=at[j]) if(bt[i]>bt[j]) { t=at[i]; at[i]=at[j]; at[j]=t; q=bt[i]; bt[i]=bt[j]; bt[j]=q; strcpy(c[i],pname[i]); strcpy(pname[i],pname[j]); strcpy(pname[j],c[i]); } } wt[0]=0; for(i=0;i<n;i++) { wt[i+1]=wt[i]+bt[i]; sum=sum+(wt[i]-at[i]); sbt=sbt+(wt[i+1]-at[i]); tt[i]=wt[i]+bt[i]; ss=ss+bt[i]; } printf(" GANTT CHART"); printf(" ------------------------------------------------------------------ "); for(i=0;i<n;i++) { printf("| %s ",pname[i]); sbt=sbt+wt[i+1]; tt[i]=wt[i]+bt[i]; ss=ss+bt[i]; } printf(" GANTT CHART"); printf(" -------------------------------------------------------------------- "); for(i=0;i<n;i++) { printf("| %s ",pname[i]); } printf(" -------------------------------------------------------------------- "); for(i=0;i<n;i++) { printf("%d ",wt[i]); } printf("%d ",ss); printf(" -------------------------------------------------------------------- "); printf(" Total WAITING TIME of the process=%d",sum); printf(" Total TURNAROUND TIME of the process=%d",sbt); avgwt=(float)sum/n; avgtt=(float)sbt/n; printf(" Average WAITING TIME of the process=%f",avgwt); printf(" Average TURNAROUND TIME of the process=%f",avgtt); getch(); } ellisa 09 آذر 1387, 13:48ممنون مرسی راستی واسه یه راهنمایی هم واسه نوشتن الگوریتم زمانبندی hrn کنید ... ممنون saalek110 10 آذر 1387, 17:38اگر موضوع به این تاپیک ربط ندارد تاپیک جدید باز کنید.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1824]