個(gè)人通信錄管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  個(gè)人通信錄管理系統(tǒng)</b></p><p><b>  一、需求描述</b></p><p> ?。?)查看功能:選擇此功能時(shí),列出下列三類(lèi)選擇。 A 辦公類(lèi);B 個(gè)人類(lèi); C 商務(wù)類(lèi);</p><p>  當(dāng)選中某類(lèi)時(shí),顯示出此類(lèi)所有數(shù)據(jù)中 的姓名和電話(huà)號(hào)碼) (2)增加功能

2、:能錄入新數(shù)據(jù)(一個(gè)結(jié)點(diǎn)包括:姓名、電話(huà)號(hào)碼、分類(lèi)(可選項(xiàng)有:A 辦</p><p>  公類(lèi); B 個(gè)人類(lèi); C 商務(wù)類(lèi);</p><p>  當(dāng)錄入了重復(fù)的姓名和電話(huà)號(hào)碼時(shí),則提示數(shù)據(jù)錄入重復(fù)并取消錄入;當(dāng)通信錄中超過(guò)15條信息時(shí),存儲(chǔ)空間已滿(mǎn),不能再錄入新數(shù)據(jù);錄入的新數(shù)據(jù)能按遞增的順序自動(dòng)進(jìn)行條目編號(hào)。 </p><p>  (3)拔號(hào)功能:能顯示出通信錄中

3、所有人的姓名,當(dāng)選中某個(gè)姓名時(shí),屏幕上模擬打字機(jī)的效果依次顯示出此人的電話(huà)號(hào)碼中的各個(gè)數(shù)字。 </p><p> ?。?)修改功能:選中某個(gè)人的姓名時(shí),可對(duì)此人的相應(yīng)數(shù)據(jù)進(jìn)行修改。 </p><p> ?。?)刪除功能:選中某個(gè)人的姓名時(shí),可對(duì)此人的相應(yīng)數(shù)據(jù)進(jìn)行刪除,并自動(dòng)調(diào)整后續(xù)條目的編號(hào)。</p><p>  二、系統(tǒng)總體分析設(shè)計(jì)</p><

4、p><b>  具體函數(shù):</b></p><p>  修改 void alter() 刪除void deleted()</p><p>  查看 void show() 添加void increase()</p><p>  撥號(hào) void dail() 主函數(shù)int main()</p><p

5、><b>  三、編碼</b></p><p>  #include <iostream></p><p>  #include <string></p><p>  using namespace std;</p><p>  struct node{ </p><p

6、>  string name;</p><p>  string telephone;</p><p>  string sort;</p><p><b>  };</b></p><p>  class base{</p><p>  protected:</p><

7、p>  node a[15];</p><p><b>  int i;</b></p><p><b>  public:</b></p><p><b>  base()</b></p><p><b>  {</b></p>&l

8、t;p><b>  i=0;</b></p><p><b>  }</b></p><p>  void show()//------------------------查看</p><p><b>  {</b></p><p><b>  int j,x;

9、</b></p><p><b>  if(i!=0)</b></p><p><b>  {</b></p><p>  cout<<"***********選擇3個(gè)類(lèi)中的一個(gè):************"<<endl;</p><p>  c

10、out<<"*****************1:辦公*****************"<<endl;</p><p>  cout<<"*****************2:個(gè)人*****************"<<endl;</p><p>  cout<<"*******

11、**********3:商務(wù)*****************"<<endl;</p><p><b>  cin>>x;</b></p><p><b>  switch(x)</b></p><p><b>  {</b></p><p>

12、<b>  case 1:</b></p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="辦公")</p><p><b>  {</b></p><p>  cout<<"姓名"<&l

13、t;" "<<"號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" "<<a[j].telephone<<endl;</p><p><b>  }</b></p><p&g

14、t;<b>  break;</b></p><p><b>  case 2:</b></p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="個(gè)人")</p><p><b>  {</b></

15、p><p>  cout<<"姓名"<<" "<<"號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" "<<a[j].telephone<<endl;</p>

16、<p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="商務(wù)"

17、;)</p><p><b>  {</b></p><p>  cout<<"姓名"<<" "<<"號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" &qu

18、ot;<<a[j].telephone<<endl;</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></

19、p><p>  else cout<<"空間無(wú)信息!"<<endl;</p><p><b>  }</b></p><p>  void increase()//----------------------增加</p><p><b>  {</b><

20、/p><p>  string q,p,r;</p><p>  cout<<"輸入要存于的數(shù)據(jù):"<<endl;</p><p>  cin>>q>>p>>r;</p><p>  for(int j=0;j<i;j++)</p><p&g

21、t;<b>  {</b></p><p>  if(a[j].name==q&&a[j].telephone==p)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  if(i<

22、;15)</b></p><p><b>  {</b></p><p><b>  if(j==i)</b></p><p><b>  {</b></p><p>  a[i].name=q;</p><p>  a[i].telepho

23、ne=p;</p><p>  a[i].sort=r;</p><p><b>  i++;</b></p><p><b>  }</b></p><p>  else cout<<"數(shù)據(jù)錄入重復(fù)!"<<endl;</p><p&g

24、t;<b>  }</b></p><p>  else cout<<"存儲(chǔ)空間已滿(mǎn)!"<<endl;</p><p><b>  }</b></p><p>  void dail()//------------------------撥號(hào)</p><p&g

25、t;<b>  {</b></p><p>  string f,t;</p><p>  int p,k=0,r,m;</p><p>  cout<<"此類(lèi)存儲(chǔ)的所有姓名:"<<endl;</p><p>  for(int j=0;j<i;j++)</p>

26、;<p>  cout<<a[j].name<<endl;</p><p>  cout<<"輸入要撥號(hào)的姓名:"<<endl;</p><p><b>  cin>>f;</b></p><p><b>  j=0;</b>&l

27、t;/p><p>  for(j=0;j<=i;j++)</p><p><b>  {</b></p><p>  if(f==a[j].name)</p><p><b>  {</b></p><p>  cout<<"號(hào)碼為:"<

28、;<endl;</p><p>  cout<<a[j].telephone<<endl;</p><p>  t=a[j].telephone+'#';</p><p>  while(t[k]!='#')</p><p><b>  {</b></p

29、><p>  cout<<a[j].telephone[k]<<" ";</p><p><b>  k++;</b></p><p>  for(m=0;m<80000000;m++)</p><p><b>  {</b></p>&l

30、t;p>  //k=k*k;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //k=4;</b></p><p>  for(m=0;m<20;m++)</p><p>&

31、lt;b>  {</b></p><p>  cout<<".";</p><p>  for(r=0;r<80000000;r++)</p><p><b>  {</b></p><p>  //k=k*k;</p><p><

32、;b>  }</b></p><p>  cout<<'\b';</p><p>  cout<<' ';</p><p>  cout<<'\b';</p><p>  cout<<"..";</p&g

33、t;<p>  for(r=0;r<80000000;r++)</p><p><b>  {</b></p><p><b>  //k=k*k;</b></p><p><b>  }</b></p><p>  cout<<'\b

34、';</p><p>  cout<<'\b';</p><p>  cout<<' ';</p><p>  cout<<' ';</p><p>  cout<<'\b';</p><p>  c

35、out<<'\b';</p><p>  cout<<"...";</p><p>  for(r=0;r<80000000;r++)</p><p><b>  {</b></p><p><b>  k=k*k;</b></

36、p><p><b>  }</b></p><p>  cout<<'\b';</p><p>  cout<<'\b';</p><p>  cout<<'\b';</p><p>  cout<<

37、9; ';</p><p>  cout<<' ';</p><p>  cout<<' ';</p><p>  cout<<'\b';</p><p>  cout<<'\b';</p><p>

38、  cout<<'\b';</p><p>  putchar('\a');</p><p><b>  }</b></p><p>  cout<<endl;</p><p><b>  break;</b></p><p

39、><b>  }</b></p><p><b>  }</b></p><p><b>  if(j>i)</b></p><p>  cout<<"無(wú)此人的信息!"<<endl;</p><p><b>  

40、}</b></p><p>  void alter()//-------------------------修改</p><p><b>  {</b></p><p><b>  string f;</b></p><p>  cout<<"輸入要修改的姓名:&

41、quot;<<endl;</p><p><b>  cin>>f;</b></p><p>  for(int j=0;j<=i;j++)</p><p><b>  {</b></p><p>  if(f==a[j].name)</p><p&

42、gt;<b>  {</b></p><p>  cin>>a[j].name>>a[j].telephone>>a[j].sort;break;</p><p><b>  }</b></p><p><b>  }</b></p><p>

43、;<b>  if(j>i)</b></p><p>  cout<<"無(wú)此人的信息!"<<endl;</p><p><b>  }</b></p><p>  void deleted()//-----------------------刪除</p>&l

44、t;p><b>  {</b></p><p><b>  string f;</b></p><p>  cout<<"輸入要?jiǎng)h除的姓名:"<<endl;</p><p><b>  cin>>f;</b></p><

45、p>  for(int j=0;j<=i;j++)</p><p><b>  {</b></p><p>  if(f==a[j].name)</p><p><b>  {</b></p><p>  for(int k=j;k<=i;k++)</p><p

46、><b>  {</b></p><p>  a[j].name=a[j+1].name;</p><p>  a[j].telephone=a[j+1].telephone;</p><p><b>  }</b></p><p><b>  i--;</b></

47、p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(j>i)</b></p><p>  cout<<&quo

48、t;無(wú)此人的信息!"<<endl;</p><p><b>  }</b></p><p><b>  };</b></p><p>  int main()</p><p><b>  {</b></p><p><b>

49、;  base k1;</b></p><p><b>  for(;;)</b></p><p><b>  {</b></p><p>  cout<<"******************************"<<endl;</p><p

50、>  cout<<"1.增加新聯(lián)系人"<<endl;</p><p>  cout<<"2.修改聯(lián)系人信息"<<endl;</p><p>  cout<<"3.刪除聯(lián)系人"<<endl;</p><p>  cout<&l

51、t;"4.查看聯(lián)系人"<<endl;</p><p>  cout<<"5.撥號(hào)功能"<<endl;</p><p>  cout<<"******************************"<<endl;</p><p><b>

52、  int k;</b></p><p><b>  cin>>k;</b></p><p><b>  switch(k)</b></p><p><b>  {</b></p><p><b>  case 1:</b><

53、/p><p>  k1.increase();break;</p><p><b>  case 2:</b></p><p>  k1.alter();break;</p><p><b>  case 3:</b></p><p>  k1.deleted();break;&

54、lt;/p><p><b>  case 4:</b></p><p>  k1.show();break;</p><p><b>  case 5:</b></p><p>  k1.dail();break;</p><p><b>  }</b>&l

55、t;/p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  四、程序運(yùn)行說(shuō)明</b></p><p><b>  1.添

56、加聯(lián)系人</b></p><p>  2.查看已輸入的信息</p><p>  3.修改信息并查看修改結(jié)果(李艾改為李浩)</p><p>  4. 刪除信息并查看修改結(jié)果(刪除李浩)</p><p>  5.撥號(hào)功能(撥號(hào)王楠)</p><p>  五、部分程序功能描述</p><p&

57、gt;  在實(shí)驗(yàn)負(fù)責(zé)修改和刪除程序,一下是我負(fù)責(zé)的程序源代碼,利用數(shù)組和if循環(huán)語(yǔ)句實(shí)現(xiàn)該功能。</p><p>  void show()//------------------------查看</p><p><b>  {</b></p><p><b>  int j,x;</b></p><p

58、><b>  if(i!=0)</b></p><p><b>  {</b></p><p>  cout<<"***********選擇3個(gè)類(lèi)中的一個(gè):************"<<endl;</p><p>  cout<<"**********

59、*******1:辦公*****************"<<endl;</p><p>  cout<<"*****************2:個(gè)人*****************"<<endl;</p><p>  cout<<"*****************3:商務(wù)*************

60、****"<<endl;</p><p><b>  cin>>x;</b></p><p><b>  switch(x)</b></p><p><b>  {</b></p><p><b>  case 1:</b>

61、;</p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="辦公")</p><p><b>  {</b></p><p>  cout<<"姓名"<<" "<<&q

62、uot;號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" "<<a[j].telephone<<endl;</p><p><b>  }</b></p><p><b>  break;</b&g

63、t;</p><p><b>  case 2:</b></p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="個(gè)人")</p><p><b>  {</b></p><p>  cout<&

64、lt;"姓名"<<" "<<"號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" "<<a[j].telephone<<endl;</p><p><b>  }</b

65、></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  for(j=0;j<i;j++)</p><p>  if(a[j].sort=="商務(wù)")</p><p><

66、b>  {</b></p><p>  cout<<"姓名"<<" "<<"號(hào)碼"<<endl;</p><p>  cout<<a[j].name<<" "<<a[j].telephone&l

67、t;<endl;</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else cout

68、<<"空間無(wú)信息!"<<endl;</p><p><b>  }</b></p><p>  void increase()//----------------------增加</p><p><b>  {</b></p><p>  string q

69、,p,r;</p><p>  cout<<"輸入要存于的數(shù)據(jù):"<<endl;</p><p>  cin>>q>>p>>r;</p><p>  for(int j=0;j<i;j++)</p><p><b>  {</b><

70、;/p><p>  if(a[j].name==q&&a[j].telephone==p)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  if(i<15)</b></p>&

71、lt;p><b>  {</b></p><p><b>  if(j==i)</b></p><p><b>  {</b></p><p>  a[i].name=q;</p><p>  a[i].telephone=p;</p><p> 

72、 a[i].sort=r;</p><p><b>  i++;</b></p><p><b>  }</b></p><p>  else cout<<"數(shù)據(jù)錄入重復(fù)!"<<endl;</p><p><b>  }</b><

73、;/p><p>  else cout<<"存儲(chǔ)空間已滿(mǎn)!"<<endl;</p><p><b>  }</b></p><p><b>  六、測(cè)試報(bào)告</b></p><p>  在我負(fù)責(zé)的部分在在測(cè)試中存在如下問(wèn)題</p><p&g

74、t;  1.一些簡(jiǎn)單的錯(cuò)誤,如忘記分號(hào),單詞拼寫(xiě)錯(cuò)誤等,在看到提示后找到所在位置可以及時(shí)改正。</p><p>  2.在運(yùn)行的過(guò)程中每次增加或修改、刪除完后都應(yīng)該及時(shí)查看一下,看是否修改成功,從而得知程序運(yùn)行是否順利。</p><p><b>  七、課程總結(jié)</b></p><p>  本小組共有三人,根據(jù)本實(shí)驗(yàn)要求完成的幾個(gè)功能,在實(shí)驗(yàn)初

75、期我們做了具體的分工,函數(shù)的定義部分由大家一起完成,子函數(shù)再有專(zhuān)人完成,其中我負(fù)責(zé)的是查看和增加的部分。在編寫(xiě)函數(shù)中我發(fā)現(xiàn)查看和增加的操作有很多的相似之處,都是需要循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)功能,本實(shí)驗(yàn)我們采取數(shù)組的定義方法,利用數(shù)組來(lái)完成循環(huán)。不過(guò)在運(yùn)行的時(shí)候經(jīng)常會(huì)忘記輸入數(shù)字而直接打需要增加的信息而導(dǎo)致運(yùn)行出錯(cuò),由此可見(jiàn)不止編寫(xiě)代碼需要仔細(xì),運(yùn)行程序的過(guò)程中也需要嚴(yán)謹(jǐn)??傮w來(lái)說(shuō),本實(shí)驗(yàn)我們小組完成起來(lái)還是比較順利的,我也通過(guò)本次實(shí)驗(yàn)更加深了對(duì)于

溫馨提示

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

評(píng)論

0/150

提交評(píng)論