30/09/2018, 20:30

viết chương trình tính n!

mình mới học C++, viết bài tập cho tính n! nhập dữ liệu từ file, chương trình mình viết như sau nhớ m.n sửa giúp.

#include<iostream>
#include<conio.h>
#include<fstream>
using namespace std;
long giaithuat(int n)
{
	int i;
	long int gt=1;
	if (n=0)
	{
		cout<<n<<"!=1"<<endl;
	} else {
		for (i=1;i<=n;i++)
			gt=gt*i;
		return (gt);
	cout<<n<<"!= "<<gt<<endl;
	}
}

void doctep(int &n)
{ 
	fstream f;
	f.open("text5.txt",ios::in);
	
	int n;
	getline(f,n);
}

main()
{
	doctep(n);
	giaithuat(n);
}
Ngô Doãn Tuấn viết 22:45 ngày 30/09/2018

Biến int n khai báo thế kia có ổn không bạn ơi?

Sáng Béo viết 22:41 ngày 30/09/2018

Biến int n khai báo thế kia có ổn không bạn ơi?

chính xác là không ổn mà… khai báo trong hàm thì nó là biến địa phương, làm sao mà có tác dụng bên ngoài được nhỉ?
rồi cái hàm

getline(f,n);

không biết là có đọc được số không nhỉ?

Ngô Doãn Tuấn viết 22:38 ngày 30/09/2018

Không
Bạn này cần hiểu thêm về tầm vực của biến.
Việc tạo hàm đọc file kia cũng không ổn lắm.
Vì mỗi lần gọi sẽ chỉ đọc số đầu tiên

Sáng Béo viết 22:44 ngày 30/09/2018

Việc tạo hàm đọc file kia cũng không ổn lắm.Vì mỗi lần gọi sẽ chỉ đọc số đầu tiên

thì file có mỗi 1 số n thôi mà

Ngô Doãn Tuấn viết 22:38 ngày 30/09/2018

thì file có mỗi 1 số n thôi mà

nếu có một số để test thì cho vào file làm gì nhỉ ?
Mình nghĩ nếu dùng file thì xử lý bài toán cơ bản kiểu
File chứa k số.
Dòng đầu tiên là số k.
k dòng tiếp theo là các số cần tính

Sáng Béo viết 22:46 ngày 30/09/2018

nếu có một số để test thì cho vào file làm gì nhỉ ?Mình nghĩ nếu dùng file thì xử lý bài toán cơ bản kiểu File chứa k số.Dòng đầu tiên là số k.k dòng tiếp theo là các số cần tính

thì nếu như thế thì đề bài sẽ nêu rõ

Bài liên quan
0