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

Xem chủ đề cũ hơn Xem chủ đề mới hơn 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 : 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

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