将 C++ 的相同 function/concept 转换为序言
convert same function/concept of C++ to prolog
我只是想知道是否可以通过使用 I/O convert/get 这个 c++ 代码的概念来进行序言?如果可能的话,怎么做?因为有人告诉我,prolog 不是一种强大的编程语言,所以我们一次只能输入一个输入,但是通过在 prolog 中使用 I/O,也许我们可以在文件中搜索输入。
#include <iostream>
using namespace std;
int main ()
{
int i, x;
int id[5];
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i<<"\n";
for(x=0; x<i;x++){
cout << "Enter id: ";
cin>>id[x];
}
for(x=0; x<i;x++){
cout << "\nYou have enter id "<<x+1<<": "<<id[x];
}
cout<<"\n";
system("pause");
return 0;
}
有几种方法可以编写 Prolog 中显示的示例程序。一种简单的方法是:
main :-
write('Please enter an integer value: '),
read(N),
integer(N),
N > 0,
length(L, N),
maplist(read_n, L),
write_list(L).
read_n(N) :-
write('Enter id: '),
read(N),
integer(N).
write_list(L) :-
write_list(L, 1).
write_list([], _) :- nl.
write_list([H|T], N) :-
format('~nYou have entered id ~w: ~w', [N, H]),
N1 is N + 1,
write_list(T, N1).
测试运行:
| ?- main.
Please enter an integer value: 4.
Enter id: 5.
Enter id: 6.
Enter id: 3.
Enter id: 6.
You have entered id 1: 5
You have entered id 2: 6
You have entered id 3: 3
You have entered id 4: 6
yes
| ?-
我只是想知道是否可以通过使用 I/O convert/get 这个 c++ 代码的概念来进行序言?如果可能的话,怎么做?因为有人告诉我,prolog 不是一种强大的编程语言,所以我们一次只能输入一个输入,但是通过在 prolog 中使用 I/O,也许我们可以在文件中搜索输入。
#include <iostream>
using namespace std;
int main ()
{
int i, x;
int id[5];
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i<<"\n";
for(x=0; x<i;x++){
cout << "Enter id: ";
cin>>id[x];
}
for(x=0; x<i;x++){
cout << "\nYou have enter id "<<x+1<<": "<<id[x];
}
cout<<"\n";
system("pause");
return 0;
}
有几种方法可以编写 Prolog 中显示的示例程序。一种简单的方法是:
main :-
write('Please enter an integer value: '),
read(N),
integer(N),
N > 0,
length(L, N),
maplist(read_n, L),
write_list(L).
read_n(N) :-
write('Enter id: '),
read(N),
integer(N).
write_list(L) :-
write_list(L, 1).
write_list([], _) :- nl.
write_list([H|T], N) :-
format('~nYou have entered id ~w: ~w', [N, H]),
N1 is N + 1,
write_list(T, N1).
测试运行:
| ?- main.
Please enter an integer value: 4.
Enter id: 5.
Enter id: 6.
Enter id: 3.
Enter id: 6.
You have entered id 1: 5
You have entered id 2: 6
You have entered id 3: 3
You have entered id 4: 6
yes
| ?-