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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

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

Bài gửi  PhamVinhToan 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

Tổng số bài gửi : 10
Join date : 17/02/2016
Age : 19
Đế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 : 9
Join date : 20/02/2016
Age : 20
Đế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 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

Tổng số bài gửi : 10
Join date : 17/02/2016
Age : 19
Đế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 Today at 04:51


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

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