em có câu hỏi mong thầy và các bạn giúp em!!

Go down

em có câu hỏi mong thầy và các bạn giúp em!!

Bài gửi  PhamVinhToan(K18) on 9/4/2016, 18:22

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 !

PhamVinhToan(K18)

Tổng số bài gửi : 12
Join date : 17/02/2016
Age : 21
Đến từ : đăk nông

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: em có câu hỏi mong thầy và các bạn giúp em!!

Bài gửi  NguyenDucAnh on 10/4/2016, 11:11

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ộ !

NguyenDucAnh

Tổng số bài gửi : 13
Join date : 20/02/2016
Age : 21
Đến từ : Đăk Lăk

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: em có câu hỏi mong thầy và các bạn giúp em!!

Bài gửi  PhamVinhToan(K18) on 10/4/2016, 18:32

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 !

PhamVinhToan(K18)

Tổng số bài gửi : 12
Join date : 17/02/2016
Age : 21
Đến từ : đăk nông

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: em có câu hỏi mong thầy và các bạn giúp em!!

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết