em có câu hỏi mong thầy và các bạn giúp em!!
2 posters
Trang 1 trong tổng số 1 trang
em có câu hỏi mong thầy và các bạn giúp em!!
Trong cái code giải PT bậc 2 của thầy với vòng lặp do while mình muốn nó lặp không giới hạn thì làm sao ạ?
đây là code em cho lặp 10 lần và sleep(5000)
//giai phuong trinh
//phuong trinh cua toi
#include"stdafx.h"
#include<stdio.h>
#include<iostream>
#include <conio.h>
#include<math.h>
#include<windows.h>
using namespace std;
int a,b,c,delta,n;
int SoLan=10;
void GiaiPTBac2();
int main(int argc, char *argv[])
{
cout<<"*Giai Phuong Trinh Bac 2:\n";
if(argc==10)
SoLan=atoi(argv[1]);
for(int i=0;i<SoLan;i++)
{
cout<<"\n-Phuong Trinh "<<i+1;
do
{
cout<<"\nNhap So A:"; cin>>a;
} while (a==0);
cout<<"Nhap So B:"; cin>>b;
cout<<"Nhap So C:"; cin>>c;
GiaiPTBac2();
}
Sleep(5000);
}
void GiaiPTBac2()
{
delta=b*b-4*a*c;
if(delta<0)
cout<< "Phuong Trinh Vo Nghiem";
else
if(delta == 0)
{
cout << "Phuong Trinh Co Nghiem Kep:" << -b/2*a;
}
else
cout<<"Phuong Trinh Co Nghiem x1 :"<< ((-b-sqrt(delta))/(2*a))<<"\nPhuong Trinh Co Nghiem x2:"<< ((-b+sqrt(delta))/(2*a));
_getch();
}
Admin:
- Các bạn cho bạn Toàn biết về Vòng lặp bất tận !
- Code trên có lỗi tại các dòng được tô đỏ. Hãy góp ý cho bạn !
đây là code em cho lặp 10 lần và sleep(5000)
//giai phuong trinh
//phuong trinh cua toi
#include"stdafx.h"
#include<stdio.h>
#include<iostream>
#include <conio.h>
#include<math.h>
#include<windows.h>
using namespace std;
int a,b,c,delta,n;
int SoLan=10;
void GiaiPTBac2();
int main(int argc, char *argv[])
{
cout<<"*Giai Phuong Trinh Bac 2:\n";
if(argc==10)
SoLan=atoi(argv[1]);
for(int i=0;i<SoLan;i++)
{
cout<<"\n-Phuong Trinh "<<i+1;
do
{
cout<<"\nNhap So A:"; cin>>a;
} while (a==0);
cout<<"Nhap So B:"; cin>>b;
cout<<"Nhap So C:"; cin>>c;
GiaiPTBac2();
}
Sleep(5000);
}
void GiaiPTBac2()
{
delta=b*b-4*a*c;
if(delta<0)
cout<< "Phuong Trinh Vo Nghiem";
else
if(delta == 0)
{
cout << "Phuong Trinh Co Nghiem Kep:" << -b/2*a;
}
else
cout<<"Phuong Trinh Co Nghiem x1 :"<< ((-b-sqrt(delta))/(2*a))<<"\nPhuong Trinh Co Nghiem x2:"<< ((-b+sqrt(delta))/(2*a));
_getch();
}
Admin:
- Các bạn cho bạn Toàn biết về Vòng lặp bất tận !
- Code trên có lỗi tại các dòng được tô đỏ. Hãy góp ý cho bạn !
PhamVinhToan(K18)- Tổng số bài gửi : 12
Join date : 17/02/2016
Age : 27
Đến từ : đăk nông
Re: em có câu hỏi mong thầy và các bạn giúp em!!
Bạn thay đổi for(int i=0;i < SoLan;i++) thành while (1) để có vòng lặp bất tận nha.
Ở while (1): 0 là giá trị sai, ta có số 1 là một số khác 0 nên biểu thức là luôn đúng tạo nên vòng lặp bất tận.
int main(int argc, char *argv[])
if(argc==10)
SoLan=atoi(argv[1]);
Ở đây argc là số lượng chuỗi trong argv, không phải số lần, bởi vậy if(argc==10) sẽ sửa lại thành if(argc==2).
argv[0] là chuỗi chứa file thực thi exe (đường dẫn đến file exe chẳng hạn như "C:\Users\hihi\Documents\Visual Studio 2012\Projects\Giai phuong trinh bac hai\Debug\GPTB2.EXE").
argv[1] sẽ chứa chuỗi tiếp theo bạn nhập vào thông qua shortcut. Sau đó hàm atoi() sẽ chuyển chuỗi đấy thành số nguyên và gán cho SoLan.
cout << "Phuong Trinh Co Nghiem Kep:" << -b/2*a
Bạn sửa -b/2*a thành -b/(2*a) để có kết quả đúng nha.
Admin:
Rất tiến bộ !
Ở while (1): 0 là giá trị sai, ta có số 1 là một số khác 0 nên biểu thức là luôn đúng tạo nên vòng lặp bất tận.
int main(int argc, char *argv[])
if(argc==10)
SoLan=atoi(argv[1]);
Ở đây argc là số lượng chuỗi trong argv, không phải số lần, bởi vậy if(argc==10) sẽ sửa lại thành if(argc==2).
argv[0] là chuỗi chứa file thực thi exe (đường dẫn đến file exe chẳng hạn như "C:\Users\hihi\Documents\Visual Studio 2012\Projects\Giai phuong trinh bac hai\Debug\GPTB2.EXE").
argv[1] sẽ chứa chuỗi tiếp theo bạn nhập vào thông qua shortcut. Sau đó hàm atoi() sẽ chuyển chuỗi đấy thành số nguyên và gán cho SoLan.
cout << "Phuong Trinh Co Nghiem Kep:" << -b/2*a
Bạn sửa -b/2*a thành -b/(2*a) để có kết quả đúng nha.
Admin:
Rất tiến bộ !
NguyenDucAnh- Tổng số bài gửi : 13
Join date : 20/02/2016
Age : 28
Đến từ : Đăk Lăk
Re: em có câu hỏi mong thầy và các bạn giúp em!!
cảm ơn thầy và bạn Đức Anh cái chỗ if(argc==10) là em tự sữa để xem nó thế nào, còn lỗi -b\2*a là em sai cam ơn các bạn đã giúp!
Admin:
Tốt !
Admin:
Tốt !
PhamVinhToan(K18)- Tổng số bài gửi : 12
Join date : 17/02/2016
Age : 27
Đến từ : đăk nông
Similar topics
» Điểm thi Cuối kỳ
» Thầy và các bạn ơi cho mình hỏi tí
» Mong thầy giúp đỡ
» Thảo luận Đề thi Cuối kỳ
» thầy sữa lỗi giúp em bài sang nay chạy bằng visual voi ak thay oi em khong dang duoc file zip len
» Thầy và các bạn ơi cho mình hỏi tí
» Mong thầy giúp đỡ
» Thảo luận Đề thi Cuối kỳ
» thầy sữa lỗi giúp em bài sang nay chạy bằng visual voi ak thay oi em khong dang duoc file zip len
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết