簡(jiǎn)單的通信管理系統(tǒng)--課程設(shè)計(jì)c++_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p>  一 課程設(shè)計(jì)目的------------------------------------------------2</p><p>  二 題目-------------------------------------------------------------2</p><p&g

2、t;  三 設(shè)計(jì)分析------------------------------------------------------2</p><p>  1 算法分析--------------------------------------------------2</p><p>  2 類圖------------------------------------------------

3、--------3</p><p>  3 流程圖-----------------------------------------------------4</p><p>  四 程序-------------------------------------------------------------5</p><p>  五 測(cè)試和運(yùn)行結(jié)果--------

4、-------------------------------------17</p><p>  1 開始運(yùn)行-------------------------------------------------17</p><p>  2 添加功能-------------------------------------------------17</p><p>

5、  3顯示功能-------------------------------------------------18</p><p>  4 排序功能-------------------------------------------------18</p><p>  5 修改功能-------------------------------------------------19&l

6、t;/p><p>  6刪除功能-------------------------------------------------19</p><p>  7 查詢功能-------------------------------------------------20</p><p>  8 退出系統(tǒng)----------------------------------

7、---------------21</p><p>  六 小結(jié)------------------------------------------------------------21</p><p><b>  一、課程設(shè)計(jì)目的</b></p><p>  課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)

8、的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。</p><p><b>  二、題目</b></p><p>  通信錄人員信息至少包括姓名、性別、電話、地址、郵政編碼、郵箱、QQ號(hào)碼和類別(例如:同學(xué)、朋友等)</p><p><b>  具體功能:</b></p><

9、;p>  1. 輸入人員信息功能 </p><p>  2. 查詢?nèi)藛T信息功能</p><p>  1)能夠根據(jù)姓名、電話精確查詢?nèi)藛T信息</p><p>  2)能根據(jù)地址粗略查詢?nèi)藛T信息</p><p>  3. 根據(jù)姓名對(duì)人員信息排序輸出信息</p><p>  4. 根據(jù)姓名、電話修改人員信息;</

10、p><p>  5. 根據(jù)姓名、電話刪除人員信息;</p><p>  6、 顯示所有人員信息</p><p><b>  三、設(shè)計(jì)分析</b></p><p><b>  1、算法分析</b></p><p>  “簡(jiǎn)單的通信管理系統(tǒng)”包括六個(gè)模塊:輸入,查詢,按姓名順序,修改

11、,刪除,輸出。其中查詢模塊中又有按姓名,按電話號(hào)碼和按地址查詢,修改模塊又有按電話號(hào)碼和按名字修改,刪除模塊也有按電話號(hào)碼和按名字刪除。這六個(gè)模塊既相互聯(lián)系又相互獨(dú)立。</p><p>  功能:定義菜單函數(shù),通過輸出函數(shù)顯示系統(tǒng)功能。利用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。</p><p>  算法思路:switch語句的執(zhí)行流程是:首先計(jì)算switch后面圓括號(hào)中表達(dá)式的值,然后用此值

12、依次與各個(gè)case的常量表達(dá)式比較,若圓括號(hào)中表達(dá)式的值與某個(gè)case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句。</p><p><b>  2、類圖</b></p><p><b>  四、程序</b></p><p>  #include<iostream

13、></p><p>  #include<fstream></p><p>  #include<string></p><p>  #include<iomanip></p><p>  using namespace std;</p><p>  #define M 200

14、 //可以存信息總量</p><p>  int N=0; //人員總量</p><p>  class Person</p><p><b>  {</b></p><p><b>  public:</b></p><p><b>  Pers

15、on();</b></p><p>  void add(); //添加人員信息</p><p>  void search(); //查詢某人員信息</p><p>  void sort(); //排序全部人員信息</p><p>  void change(); //修改某人員信息</

16、p><p>  void del(); //刪除某人員信息</p><p>  void display(); //顯示全部人員信息</p><p><b>  private:</b></p><p>  string tel,name,sex,qq,address,post,mail,type;<

17、/p><p><b>  };</b></p><p>  ///按姓名對(duì)人員排序</p><p>  void Person::sort()</p><p><b>  {</b></p><p><b>  int i,j;</b></p>

18、<p>  string stel,tel[M],sname,ssex,sqq,saddress,spost,smail,stype,name[M],sex[M],qq[M],address[M],post[M],mail[M],type[M];</p><p>  ifstream infile("f1.txt",ios::in); </p><p>  

19、if(!infile)</p><p><b>  {</b></p><p>  cerr<<" open error"<<endl;</p><p><b>  exit(1);</b></p><p><b>  }</b>&l

20、t;/p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  infile>>tel[i];</p><p>  infile>>name[i];</p><p>  infile>>sex[i];<

21、/p><p>  infile>>qq[i];</p><p>  infile>>address[i];</p><p>  infile>>post[i];</p><p>  infile>>mail[i];</p><p>  infile>>type[i

22、];</p><p><b>  }</b></p><p>  infile.close();</p><p>  ofstream outfile("f1.txt",ios::out);</p><p>  if(!outfile) </p><p><b>  

23、{</b></p><p>  cerr<<" open error"<<endl; </p><p><b>  exit(1); </b></p><p><b>  }</b></p><p><b>  //運(yùn)用直接排序法&l

24、t;/b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  for(j=0;j<N-1-i;j++)</p><p><b>  {</b></p><p>  if(name[j]>n

25、ame[j+1])</p><p><b>  {</b></p><p>  sname=name[j];</p><p>  name[j]=name[j+1];</p><p>  name[j+1]=sname;</p><p>  stel=tel[j];</p><

26、p>  tel[j]=tel[j+1];</p><p>  tel[j+1]=stel;</p><p>  ssex=sex[j];</p><p>  sex[j]=sex[j+1];</p><p>  sex[j+1]=ssex;</p><p>  sqq=qq[j];</p><

27、p>  qq[j]=qq[j+1];</p><p>  qq[j+1]=sqq;</p><p>  saddress=address[j];</p><p>  address[j]=address[j+1];</p><p>  address[j+1]=saddress;</p><p>  spost=

28、post[j];</p><p>  post[j]=post[j+1];</p><p>  post[j+1]=spost;</p><p>  smail=mail[j];</p><p>  mail[j]=mail[j+1];</p><p>  mail[j+1]=smail;</p><

29、;p>  stype=type[j];</p><p>  type[j]=type[j+1];</p><p>  type[j+1]=stype;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

30、}</b></p><p>  //排序完后重新寫進(jìn)文件和輸出</p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  cout<<setw(9)<<tel[i];</p><p>  outfil

31、e<<tel[i]<<" ";</p><p>  cout<<setw(9)<<name[i];</p><p>  outfile<<name[i]<<" ";</p><p>  cout<<setw(9)<<sex[

32、i];</p><p>  outfile<<sex[i]<<" ";</p><p>  cout<<setw(9)<<qq[i];</p><p>  outfile<<qq[i]<<" ";</p><p>  cou

33、t<<setw(9)<<address[i];</p><p>  outfile<<address[i]<<" ";</p><p>  cout<<setw(9)<<post[i];</p><p>  outfile<<post[i]<<&q

34、uot; ";</p><p>  cout<<setw(9)<<mail[i];</p><p>  outfile<<mail[i]<<" ";</p><p>  cout<<setw(9)<<type[i]<<endl;</p>

35、;<p>  outfile<<type[i]<<" "<<endl;</p><p><b>  }</b></p><p>  outfile.close();</p><p>  cout<<"已排序成功!"<<endl;

36、</p><p><b>  }</b></p><p>  Person::Person() {}</p><p><b>  ///添加文件</b></p><p>  void Person::add()</p><p><b>  {</b>&l

37、t;/p><p>  string addtel,addname,addsex,addqq,addaddress,addpost,addmail,addtype;</p><p>  //----以追加的方式錄入信息,直接將信息追加到以前文件的末尾----</p><p>  ofstream outfile("f1.txt",ios::app);

38、</p><p>  if(!outfile) </p><p><b>  {</b></p><p>  cerr<<" open error"<<endl; </p><p><b>  exit(1); </b></p><p&

39、gt;<b>  }</b></p><p><b>  N=N+1;</b></p><p>  //----依次輸入相應(yīng)的數(shù)據(jù),并且追加到之前的文件中去----</p><p>  cout<<"請(qǐng)輸入您要添加的數(shù)據(jù)"<<endl;</p><p> 

40、 cout<<"電話:";</p><p>  cin>>addtel;outfile<<addtel<<" ";</p><p>  cout<<"姓名:";</p><p>  cin>>addname;outfile<&l

41、t;addname<<" ";</p><p>  cout<<"性別:";</p><p>  cin>>addsex;outfile<<addsex<<" ";</p><p>  cout<<" QQ:"

42、;</p><p>  cin>>addqq;outfile<<addqq<<" ";</p><p>  cout<<"住址:";</p><p>  cin>>addaddress;outfile<<addaddress<<"

43、 ";</p><p>  cout<<"郵編:";</p><p>  cin>>addpost;outfile<<addpost<<" ";</p><p>  cout<<"郵箱:";</p><p>

44、  cin>>addmail;outfile<<addmail<<" ";</p><p>  cout<<"屬性:";</p><p>  cin>>addtype;outfile<<addtype<<endl;</p><p>  ou

45、tfile.close();</p><p>  cout<<"已添加成功!"<<endl;</p><p><b>  }</b></p><p><b>  ///刪除文件</b></p><p>  void Person::del()</p&

46、gt;<p><b>  {</b></p><p>  int i,w=0;char ch;</p><p>  string n,tel[M],searchname,name[M],sex[M],qq[M],address[M],post[M],mail[M],type[M];</p><p>  ifstream infil

47、e("f1.txt",ios::in); </p><p>  if(!infile)</p><p><b>  {</b></p><p>  cerr<<" open error"<<endl;</p><p><b>  exit(1);&

48、lt;/b></p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  infile>>tel[i];cout<<setw(9)<<tel[i];</

49、p><p>  infile>>name[i];cout<<setw(9)<<name[i];</p><p>  infile>>sex[i];cout<<setw(9)<<sex[i];</p><p>  infile>>qq[i];cout<<setw(9)<&

50、lt;qq[i];</p><p>  infile>>address[i];cout<<setw(9)<<address[i];</p><p>  infile>>post[i];cout<<setw(9)<<post[i];</p><p>  infile>>mail[i];

51、cout<<setw(9)<<mail[i];</p><p>  infile>>type[i];cout<<setw(9)<<type[i]<<endl;</p><p><b>  }</b></p><p>  infile.close();</p>

52、<p>  ofstream outfile("f1.txt",ios::out);</p><p>  if(!outfile) </p><p><b>  {</b></p><p>  cerr<<" open error"<<endl; </p>

53、<p><b>  exit(1); </b></p><p><b>  }</b></p><p>  cout<<"a.按電話號(hào)碼刪除 b.按姓名刪除"<<endl;</p><p>  cout<<"請(qǐng)輸入a或者b:";&l

54、t;/p><p><b>  cin>>ch;</b></p><p>  if(ch=='a')</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入電話號(hào)碼:";</p><p><

55、b>  cin>>n;</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  if(tel[i]!=n)</p><p><b>  {</b></p><p>  out

56、file<<tel[i]<<" ";</p><p>  outfile<<name[i]<<" ";</p><p>  outfile<<sex[i]<<" ";</p><p>  outfile<<qq[

57、i]<<" ";</p><p>  outfile<<address[i]<<" ";</p><p>  outfile<<post[i]<<" ";</p><p>  outfile<<mail[i]<<

58、" ";</p><p>  outfile<<type[i]<<" "<<endl;</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {

59、</b></p><p><b>  w++;</b></p><p>  cout<<"已刪除成功!"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p>

60、<p><b>  }</b></p><p>  else if(ch=='b')</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入姓名:";</p><p>  cin>>searchname;

61、</p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  if(name[i]!=searchname)</p><p><b>  {</b></p><p>  outfile<<tel[i]&l

62、t;<" ";</p><p>  outfile<<name[i]<<" ";</p><p>  outfile<<sex[i]<<" ";</p><p>  outfile<<qq[i]<<" &

63、quot;;</p><p>  outfile<<address[i]<<" ";</p><p>  outfile<<post[i]<<" ";</p><p>  outfile<<mail[i]<<" ";<

64、/p><p>  outfile<<type[i]<<" "<<endl;</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p>

65、<p><b>  w++;</b></p><p>  cout<<"已刪除成功!"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

66、}</b></p><p><b>  else </b></p><p>  {for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  outfile<<tel[i]<<" ";</p&

67、gt;<p>  outfile<<name[i]<<" ";</p><p>  outfile<<sex[i]<<" ";</p><p>  outfile<<qq[i]<<" ";</p><p>  

68、outfile<<address[i]<<" ";</p><p>  outfile<<post[i]<<" ";</p><p>  outfile<<mail[i]<<" ";</p><p>  outfile<

69、;<type[i]<<" "<<endl;</p><p><b>  }</b></p><p>  cout<<"無此選項(xiàng)!"<<endl;</p><p><b>  }</b></p><p>

70、<b>  if(w)</b></p><p>  {N=N-w; }</p><p><b>  else</b></p><p>  {cout<<"無此人信息!"<<endl;}</p><p>  outfile.close();</

71、p><p><b>  }</b></p><p>  ///修改文件 </p><p>  void Person::change()</p><p><b>  {</b></p><p>  int i,w=0;char ch;</p><

72、p>  string changetel,changename,tel[M],name[M],sex[M],qq[M],address[M],post[M],mail[M],type[M];</p><p>  ifstream infile("f1.txt",ios::in); </p><p>  if(!infile)</p><p>

73、;<b>  {</b></p><p>  cerr<<" open error"<<endl;</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i&

74、lt;N;i++)</p><p><b>  {</b></p><p>  infile>>tel[i];</p><p>  infile>>name[i];</p><p>  infile>>sex[i];</p><p>  infile>&g

75、t;qq[i];</p><p>  infile>>address[i];</p><p>  infile>>post[i];</p><p>  infile>>mail[i];</p><p>  infile>>type[i];</p><p><b>

76、;  }</b></p><p>  infile.close();</p><p>  ofstream outfile("f1.txt",ios::out);</p><p>  if(!outfile) </p><p><b>  {</b></p><p>

77、;  cerr<<" open error"<<endl; </p><p><b>  exit(1); </b></p><p><b>  }</b></p><p>  cout<<"a.按電話號(hào)碼修改 b.按姓名修改"<<

78、;endl;</p><p>  cout<<"請(qǐng)輸入a或者b:";</p><p><b>  cin>>ch;</b></p><p>  if(ch=='a'||ch=='b')</p><p><b>  {</b>

79、</p><p>  if(ch=='a')</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入你要修改的聯(lián)系人電話號(hào)碼:";</p><p>  cin>>changetel;</p><p><b&

80、gt;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入你要修改的聯(lián)系人姓名:";</p><p>  cin>>changename;</p&g

81、t;<p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p>  if(tel[i]==changetel||name[i]==changename)</p><p><b>  {</b></p><p><b>  w=

82、1;</b></p><p>  cout<<endl<<setw(9)<<tel[i];</p><p>  cout<<setw(9)<<name[i];</p><p>  cout<<setw(9)<<sex[i];</p><p>  c

83、out<<setw(9)<<qq[i];</p><p>  cout<<setw(9)<<address[i];</p><p>  cout<<setw(9)<<post[i];</p><p>  cout<<setw(9)<<mail[i];</p>

84、<p>  cout<<setw(9)<<type[i]<<endl<<endl;</p><p>  cout<<"請(qǐng)選擇你要修改的項(xiàng):"<<endl<<"0退出并保存修改 1電話號(hào)碼 2姓名 3性別 4QQ 5家庭住址 6郵編 7郵箱 8屬性"<<endl;<

85、;/p><p><b>  cin>>ch;</b></p><p>  while(ch!='0')</p><p><b>  {</b></p><p>  switch(ch)</p><p><b>  {</b><

86、;/p><p>  case '1':cout<<"請(qǐng)輸入新電話號(hào)碼:"<<endl;</p><p>  cin>>tel[i];break;</p><p>  case '2':cout<<"請(qǐng)輸入新姓名:"<<endl;</p

87、><p>  cin>>name[i];break;</p><p>  case '3':cout<<"請(qǐng)輸入新性別:"<<endl;</p><p>  cin>>sex[i];break;</p><p>  case '4':cout<

88、;<"請(qǐng)輸入新QQ:"<<endl;</p><p>  cin>>qq[i];break;</p><p>  case '5':cout<<"請(qǐng)輸入新家庭住址:"<<endl;</p><p>  cin>>address[i];break;

89、</p><p>  case '6':cout<<"請(qǐng)輸入新郵編:"<<endl;</p><p>  cin>>post[i];break;</p><p>  case '7':cout<<"請(qǐng)輸入新郵箱:"<<endl;<

90、/p><p>  cin>>mail[i];break;</p><p>  case '8':cout<<"請(qǐng)輸入新屬性:"<<endl;</p><p>  cin>>type[i];break;</p><p>  default:cout<<&

91、quot;沒有此選項(xiàng)!"<<endl;break;</p><p><b>  }</b></p><p>  cout<<"請(qǐng)選擇修改項(xiàng):"<<endl;</p><p><b>  cin>>ch;</b></p><p&

92、gt;<b>  }</b></p><p><b>  }</b></p><p><b>  if(w==0)</b></p><p>  cout<<"無此人信息!"<<endl;</p><p><b>  }<

93、;/b></p><p>  else cout<<"無此選項(xiàng)!"<<endl;</p><p>  //把修改后的數(shù)據(jù)寫進(jìn)文件</p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p> 

94、 outfile<<tel[i]<<" ";</p><p>  outfile<<name[i]<<" ";</p><p>  outfile<<sex[i]<<" ";</p><p>  outfile<<

95、;qq[i]<<" ";</p><p>  outfile<<address[i]<<" ";</p><p>  outfile<<post[i]<<" ";</p><p>  outfile<<mail[i]<

96、<" ";</p><p>  outfile<<type[i]<<" "<<endl;</p><p><b>  }</b></p><p>  outfile.close();</p><p>  cout<<&q

97、uot;已修改成功!"<<endl;</p><p><b>  }</b></p><p><b>  ///查詢文件</b></p><p>  void Person::search()</p><p><b>  {</b></p>

98、<p>  int i,w=0;char ch;</p><p>  string n,tel[M],searchname,searchaddress,name[M],sex[M],qq[M],address[M],b[M][8],post[M],mail[M],type[M];</p><p>  cout<<"a.按電話號(hào)碼查找 b.按姓名查找

99、 c.按地址查找"<<endl;</p><p>  ifstream infile("f1.txt",ios::in); </p><p>  if(!infile)</p><p><b>  {</b></p><p>  cerr<<" open

100、error"<<endl;</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p><p&

101、gt;  infile>>tel[i];b[i][0]=tel[i];</p><p>  infile>>name[i];b[i][1]=name[i];</p><p>  infile>>sex[i];b[i][2]=sex[i];</p><p>  infile>>qq[i];b[i][3]=qq[i];&l

102、t;/p><p>  infile>>address[i];b[i][4]=address[i];</p><p>  infile>>post[i];b[i][5]=post[i];</p><p>  infile>>mail[i];b[i][6]=mail[i];</p><p>  infile>

103、>type[i];b[i][7]=type[i];</p><p><b>  }</b></p><p>  cout<<"請(qǐng)輸入a或者b或者c:";</p><p><b>  cin>>ch;</b></p><p>  if(ch=='

104、;a'||ch=='b'||ch=='c')</p><p><b>  {</b></p><p>  if(ch=='a')</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要查詢的電話

105、號(hào)碼:";</p><p><b>  cin>>n;</b></p><p><b>  }</b></p><p>  else if(ch=='b')</p><p><b>  {</b></p><p> 

106、 cout<<"請(qǐng)輸入要查詢的姓名:";</p><p>  cin>>searchname;</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p

107、><p>  cout<<"請(qǐng)輸入要查詢的地址:";</p><p>  cin>>searchaddress;</p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p>  if(tel[i]==n

108、||name[i]==searchname||address[i]==searchaddress)</p><p><b>  {</b></p><p><b>  w=1;</b></p><p>  cout<<setw(9)<<b[i][0];</p><p>  

109、cout<<setw(9)<<b[i][1];</p><p>  cout<<setw(6)<<b[i][2];</p><p>  cout<<setw(12)<<b[i][3];</p><p>  cout<<setw(9)<<b[i][4];</p>

110、<p>  cout<<setw(9)<<b[i][5];</p><p>  cout<<setw(15)<<b[i][6];</p><p>  cout<<setw(6)<<b[i][7]<<endl;</p><p><b>  }</b>

111、</p><p><b>  if(w==0)</b></p><p>  cout<<"無此人信息!"<<endl;</p><p><b>  }</b></p><p>  else cout<<"沒有此選項(xiàng)!"<

112、;<endl;</p><p><b>  }</b></p><p><b>  ///顯示文件</b></p><p>  void Person::display()</p><p><b>  {</b></p><p><b>

113、  int k;</b></p><p>  string tel,name,sex,qq,address,post,mail,type;</p><p>  ifstream infile("f1.txt",ios::in); </p><p>  if(!infile)</p><p><b> 

114、 {</b></p><p>  cerr<<" 0open error"<<endl;</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  cout<<"電話

115、號(hào)碼 姓名 性別 QQ 家庭住址 郵編 郵箱 屬性"<<endl;</p><p>  for(k=0;k<N;k++)</p><p><b>  { </b></p><p>  infile>>tel;cout<<setw

116、(9)<<tel;</p><p>  infile>>name;cout<<setw(9)<<name;</p><p>  infile>>sex;cout<<setw(6)<<sex;</p><p>  infile>>qq;cout<<setw(12

117、)<<qq;</p><p>  infile>>address;cout<<setw(9)<<address;</p><p>  infile>>post;cout<<setw(9)<<post;</p><p>  infile>>mail;cout<<

118、setw(15)<<mail;</p><p>  infile>>type;cout<<setw(6)<<type<<endl;</p><p><b>  }</b></p><p>  infile.close();</p><p><b>  

119、}</b></p><p>  //定義一個(gè)聯(lián)系人對(duì)象</p><p>  Person person;</p><p><b>  //系統(tǒng)開始</b></p><p>  void main()</p><p><b>  {</b></p>&

120、lt;p><b>  char ch;</b></p><p>  void menu();</p><p><b>  menu();</b></p><p><b>  cin>>ch;</b></p><p>  while(ch!='0'

121、;)</p><p><b>  {</b></p><p>  //system("cls");</p><p>  switch(ch)</p><p><b>  {</b></p><p>  case '1':person.add

122、();break;</p><p>  case '2':person.search();break;</p><p>  case '3':person.sort();break;</p><p>  case '4':person.change();break;</p><p>  case

123、 '5':person.del();break;</p><p>  case '6':person.display();break;</p><p>  case '0':cout<<"退出系統(tǒng)!";break;</p><p>  default:cout<<"

124、沒有此選項(xiàng)!"<<endl;break;</p><p><b>  }</b></p><p><b>  menu();</b></p><p><b>  cin>>ch;</b></p><p><b>  }</b&g

125、t;</p><p><b>  }</b></p><p>  void menu()</p><p><b>  {</b></p><p>  cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

126、+++++++++++++++++++++++"<<endl;</p><p>  cout<<" 1.添加一個(gè)聯(lián)系人 "<<endl;</p><p>  cout<<"

127、 2.查詢聯(lián)系人 "<<endl;</p><p>  cout<<" 3.按名字排序所有聯(lián)系人 "<<endl;</p><p>  cout<<"

128、 4.修改聯(lián)系人 "<<endl;</p><p>  cout<<" 5.刪除一個(gè)聯(lián)系人 "<<endl;</p><p>  cout<<"

129、 6.顯示全部聯(lián)系人信息 "<<endl;</p><p>  cout<<" 0.退出系統(tǒng) "<<endl;</p><p>  cout<<"+++++++++++++++++++++++++

130、+++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;</p><p>  cout<<"請(qǐng)選擇功能0——6... "<<endl;</p><p><b>  }</b></p><p

131、><b>  五、測(cè)試和運(yùn)行結(jié)果</b></p><p>  1 開始運(yùn)行:如下圖1顯示命令菜單,可供選擇的有0—6六個(gè)命令,只要輸入對(duì)應(yīng)功能的序號(hào)就可以進(jìn)入操作。</p><p><b>  圖1</b></p><p>  2 添加功能:如圖2所示選擇操作“1”,進(jìn)入了添加人員的功能,根據(jù)提示輸入電話號(hào)碼等信息。

132、重復(fù)操作,輸入了5個(gè)人的信息。</p><p><b>  圖2</b></p><p>  3 顯示功能:如下圖3所示選擇操作“6”,顯示了剛剛輸入的5個(gè)人員信息,但是還沒有排序。 </p><p><b>  圖3</b></p><p>  4 排序功能:如下圖4所示選擇操作“3”,輸出按姓名

133、排序后的人員信息。 </p><p><b>  圖4</b></p><p>  5 修改功能:如下圖5所示選擇操作“4”,根據(jù)提示輸入“b”按姓名修改,修改人姓名“梁彥波”,要修改的項(xiàng)“5”家庭地址,改為“江西”,“0”修改完成。效果如圖6,可以看到梁彥波的地址已經(jīng)被修改為“江西”。 </p><p><b>  圖5</b

134、></p><p>  6 刪除功能:如圖6所示選擇操作“5”,之后會(huì)顯示系統(tǒng)中所有人員,并提示刪除方法,輸入“a”按電話號(hào)碼刪除。輸入“18070143247”,按回車鍵后,提示刪除成功??梢酝ㄟ^圖7看效果,號(hào)碼“18070143247”所屬的所有信息被刪除。</p><p><b>  圖6</b></p><p><b>

135、  圖7</b></p><p>  7 查詢功能:如圖8所示選擇操作“2”,選擇“a”按照號(hào)碼刪除,輸入“10870049610”,就可以查詢到該號(hào)碼所屬的全部信息;若選擇“b”按照姓名查找,輸入“梁彥波”如圖9,可查到“梁彥波”所屬的全部信息;若選擇“c”按照地址查詢,輸入“江西”,如圖10則可以查詢地址是“江西”的所有人員的所有信息。</p><p><b> 

136、 圖8</b></p><p><b>  圖9</b></p><p><b>  圖10</b></p><p>  8 退出系統(tǒng):如圖11所示選擇操作“0”,就可以退出系統(tǒng)。六、小結(jié)</p><p>  在“課程設(shè)計(jì)”周之前就拿到了課程設(shè)計(jì)題目。前前后后用了大約一周時(shí)間,完成了“簡(jiǎn)

137、單的通信錄系統(tǒng)”的程序編寫,其中有添加人員,輸出人員,查詢?nèi)藛T,修改和刪除人員等操作,最后老師還要求用文件來寫。</p><p>  在編寫程序時(shí),一開始拿到題目,感覺題目挺難得,并不知道該怎么下手,主要是不知道該用哪種方法編寫。選擇一種適合類結(jié)構(gòu)非常重要,因?yàn)樵趯?duì)類成員對(duì)象排序時(shí),遇到很大問題,書本并沒有介排序,而且是對(duì)中文字符串排序,,后來參考“直接插入排序”算法思想,在數(shù)組上實(shí)現(xiàn)了對(duì)類對(duì)象的排序。做課程設(shè)計(jì)

138、是有收獲的,做完了課程設(shè)計(jì),我懂得了很多類的操作。</p><p>  程序的調(diào)試和修改需要耐心,輸入一些典型、特殊的數(shù)據(jù)往往會(huì)報(bào)錯(cuò)。一遍一遍的報(bào)錯(cuò),等到不報(bào)錯(cuò)了,又沒能達(dá)到自己預(yù)期的結(jié)果,這個(gè)過程要是沒有耐心,真的做不下去。要讓自己的想法在電腦上實(shí)現(xiàn),不是一件容易的事。要充分了解縮寫的每一句程序在運(yùn)行時(shí)的結(jié)果,那是一個(gè)變化的過程。在類的輸入時(shí),有一些“無形”的元素總被加到文件中去。比如換行,空格等一些不顯示的字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論