程序错在哪儿?怎么改正??(A NewBie Questiong...)
错在何处,请指正!
#include <iostream.h>
#include <conio.h>
#include <dos.h>
int choice();
void InputData();
void Query();
void PrintReport();
void (* fp[3] ) ()={InputData,Query,PrintReport };
void main()
{
int i;
i=choice();
while (i);
{
(* fp[i-1] ) ();
i=choice();
}
}
int choice()
{
int i;
cout << "What are you going to do ?" << endl
<< "1 Input Data " << endl
<< "2 Query " << endl
<< "3 Print Report " << endl
<< endl
<< "0 Exit" << endl;
cout << " Your Choice Is " ;
cin >> i;
if (i<0||i>3) i=0;
return i;
}
void InputData()
{
cout << "Input Data !" << endl;
getch();
}
void Query()
{
cout << "Query Data !" << endl;
getch();
}
void PrintReport()
{
cout << "Print Report !" << endl;
getch();
}
问题点数:21、回复次数:4Top
1 楼todaytoday(旁观)回复于 2001-01-17 18:32:00 得分 2
先把程序的目的和出错现象贴出来Top
2 楼silver(Bai)回复于 2001-01-17 18:43:00 得分 11
看看你的程序的这部分:
while (i); // 注意while后面的这个分号“ ;”
{
(* fp[i-1] ) ();
i=choice();
}
明白错在哪里了吧?
Top
3 楼luncif(luncif)回复于 2001-01-17 19:00:00 得分 6
void main()
{
int i;
i=choice();
while (i);
{
(* fp[i-1] ) ();
i=choice();
}
把while(i);后面的分号去掉
Top
4 楼Robert2001(Robert2001)回复于 2001-01-17 21:08:00 得分 2
观众Top




