主程序的代码如下: #include <iostream> #include <string> #include "Record.h" #include "Page.h" #include "PageHeader.h" #include "HeaderPage.h" #include "RecordManager.h" #include "AppManager.h" using namespace std;void main() { AppManager AM; int i; while (i!=11) { cout<<endl<<endl<<"***************************************************"<<endl; cout<<"1. Open database"<<endl; cout<<"2. Get first record"<<endl; cout<<"3. Get next record"<<endl; cout<<"4. Get previous record"<<endl; cout<<"5. Insert record"<<endl; cout<<"6. Delete record"<<endl; cout<<"7. Update record"<<endl; cout<<"8. Show header page"<<endl; cout<<"9. Get first page"<<endl; cout<<"10. Get next page"<<endl; cout<<"11. Exit"<<endl; cout<<"***************************************************"<<endl; cout<<"Please enter the number:(1-11)."<<endl<<endl; cin>>i; switch(i) { case 1: AM.OpenDatabase (); break; case 2: AM.GetFirstRecord(); break; case 3: AM.GetNextRecord(); break; case 4: AM.GetPreviousRecord(); break; case 5: AM.InsertRecord(); break; case 6: AM.DeleteRecord(); break; case 7: AM.UpdateRecord(); break; case 8: AM.ShowHeaderPage(); break; case 9: AM.GetFirstPage(); break; case 10: AM.GetNextPage(); break; case 11: AM.ExitApp(); break; case 12: AM.Test(); break; default: cout<<"Your input is invalid! Please input it again."<<endl<<endl; break; } } }
#include <iostream>
#include <string>
#include "Record.h"
#include "Page.h"
#include "PageHeader.h"
#include "HeaderPage.h"
#include "RecordManager.h"
#include "AppManager.h"
using namespace std;void main()
{ AppManager AM;
int i;
while (i!=11)
{
cout<<endl<<endl<<"***************************************************"<<endl;
cout<<"1. Open database"<<endl;
cout<<"2. Get first record"<<endl;
cout<<"3. Get next record"<<endl;
cout<<"4. Get previous record"<<endl;
cout<<"5. Insert record"<<endl;
cout<<"6. Delete record"<<endl;
cout<<"7. Update record"<<endl;
cout<<"8. Show header page"<<endl;
cout<<"9. Get first page"<<endl;
cout<<"10. Get next page"<<endl;
cout<<"11. Exit"<<endl;
cout<<"***************************************************"<<endl;
cout<<"Please enter the number:(1-11)."<<endl<<endl;
cin>>i; switch(i)
{
case 1:
AM.OpenDatabase ();
break;
case 2:
AM.GetFirstRecord();
break;
case 3:
AM.GetNextRecord();
break;
case 4:
AM.GetPreviousRecord();
break;
case 5:
AM.InsertRecord();
break;
case 6:
AM.DeleteRecord();
break;
case 7:
AM.UpdateRecord();
break;
case 8:
AM.ShowHeaderPage();
break;
case 9:
AM.GetFirstPage();
break;
case 10:
AM.GetNextPage();
break;
case 11:
AM.ExitApp();
break;
case 12:
AM.Test();
break;
default:
cout<<"Your input is invalid! Please input it again."<<endl<<endl;
break;
}
}
}
一个办法你可以在default中,清除屏幕,重新显示前面的选择列表
另一个办法c++支持_asm你可以用汇编(int10h)来改变光标位置,
具体的寄存器设置,自己找汇编书看一下.
int i 该为 char i;
然后判断的时候在转回来即可!
1)声明:(防止用户输入二个以上字符)
char tmpchar[20]={'1','0'};
2)写个判断函数函数
int myA(char *p)
{
int i=0;
do
{i = atoi(p);/*atoi函数可将字符串指针转换为数字需要
如果无法转换返回 int 0
如 i = atoi("a9087"); i 将等于 0
i= atoi("9087g"); i 将等于 9087*/if(i!=0 && i<13)//如果符合要求返回 i
{
return i;
}
//i==0 继续要求输入
cout<<">[**********警告!请输大于零的数字**********]\n>_";
cin>>p;}while(i<=0);return i;//有没有都可以 根本到不了这!但不编会有警告;
}
3)取得输入并判断转换
cin>>tmpchar;
do{//判断是否是char '0' if(tmpchar[0]='0')
cin>>tmpchar;}while(tmpchar=='0');int i
i=myA(itmpchar)
4)继续你程序
switch(i)
{
case 1:
AM.OpenDatabase ();
break;
........
}
5)编译C++程序时最好不要直接用 cin>>i 取数字如果user输入不是数字会
立即出错!最好该用char 或 string
#include<iostream>//不要加.h
#include<string>
using namespace std;.....
string j;
cin>>j;
.....6)给分吧!