Code Giải phương trình bậc hai có lưu

Go down

Code Giải phương trình bậc hai có lưu

Bài gửi  NguyenDucAnh on 14/4/2016, 00:36

Code mình viết hơi dài và có sai sót, mong nhận được góp ý.

#include "stdafx.h"
#include "iostream"
#include "windows.h"
#include "fstream"
#include "conio.h"

using namespace std;

void GiaiPhuongTrinhBacHai();
void HienHinhPhuongTrinhBacHai();

char * filename = "C:\\Users\\hihi\\Documents\\Visual Studio 2012\\Projects\\Test\\Debug\\Save.txt";
ofstream fout;

int HeSoA, HeSoB, HeSoC, Delta, i, SoLan = 1, TatDen = 3;

void main(int argc, char * argv[])
{
fout.open(filename);
if (!fout)
{
cerr << "Error: Open file for output failed!" << endl;
Sleep(3000);
return;
}

cout << "Giai phuong trinh bac hai\n\n\n";
fout << "Giai phuong trinh bac hai\n\n\n";

switch (argc)
{
case 3:
TatDen = atoi(argv[2]);
case 2:
SoLan = atoi(argv[1]);
}

for (i = 1; i <= SoLan; i++)
{
cout << "-Phuong trinh thu " << i << ":\n\n";
fout << "-Phuong trinh thu " << i << ":\n\n";

do {
cout << "Nhap vao he so A: "; cin >> HeSoA;
if (HeSoA !=0)
{
fout << "He so A: "; fout << HeSoA << endl;
}
} while (HeSoA == 0);
cout << "Nhap vao he so B: "; cin >> HeSoB;
fout << "He so B: "; fout << HeSoB << endl;
cout << "Nhap vao he so C: "; cin >> HeSoC;
fout << "He so C: "; fout << HeSoC << endl;

HienHinhPhuongTrinhBacHai();
cout << endl;
GiaiPhuongTrinhBacHai();
}
fout.close();
TatDen *= 1000;
Sleep(TatDen);
}

void GiaiPhuongTrinhBacHai()
{
Delta = HeSoB*HeSoB - 4*HeSoA*HeSoC;

if (Delta < 0)
{
cout << "Phuong trinh vo nghiem\n\n";
fout << "Phuong trinh vo nghiem\n\n";
}
else
if (Delta == 0)
{
cout << "Phuong trinh co nghiem kep la x = " << -HeSoB/(2*HeSoA) << "\n\n";
fout << "Phuong trinh co nghiem kep la x = " << -HeSoB/(2*HeSoA) << "\n\n";
}
else
{
cout << "Phuong trinh co hai nghiem phan biet la\nx = "
<< (-HeSoB - sqrt(Delta))/(2*HeSoA)
<< "\nx = "
<< (-HeSoB + sqrt(Delta))/(2*HeSoA)
<< "\n\n";
fout << "Phuong trinh co hai nghiem phan biet la\nx = "
<< (-HeSoB - sqrt(Delta))/(2*HeSoA)
<< "\nx = "
<< (-HeSoB + sqrt(Delta))/(2*HeSoA)
<< "\n\n";
}
}

void HienHinhPhuongTrinhBacHai()
{
switch (HeSoA)
{
case -1:
cout << "-x" << (char)253;
fout << "-x" << (char)253; break;
case 1:
cout << "x" << (char)253;
fout << "x" << (char)253; break;
default:
cout << HeSoA << "x" << (char) 253;
fout << HeSoA << "x" << (char) 0XB2;
}

switch (HeSoB)
{
case -1:
cout << "-x";
fout << "-x"; break;
case 0:
cout << "";
fout << ""; break;
case 1:
cout << "+x";
fout << "+x"; break;
default:
if (HeSoB > 0)
{
cout << "+" << HeSoB << "x";
fout << "+" << HeSoB << "x";
}
else
{
cout << HeSoB << "x";
fout << HeSoB << "x";
}
}

switch (HeSoC)
{
case 0:
cout << "";
fout << ""; break;
default:
if (HeSoC > 0)
{
cout << "+" << HeSoC;
fout << "+" << HeSoC;
}
else
{
cout << HeSoC;
fout << HeSoC;
}
}

cout << "=0";
fout << "=0\n";
}
Admin:
Rất cố gắng. Đang đi đúng hướng !

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

Về Đầu Trang

- Similar topics

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