找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2945|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于VC++6.0 C語言的電話本程序設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:816987 發(fā)表于 2020-11-30 11:08 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
歡迎指正,有問題會(huì)及時(shí)回復(fù)

以通訊錄管理系統(tǒng)為設(shè)計(jì)對(duì)象,根據(jù)該程序所需的工作要求,詳細(xì)分析設(shè)計(jì)了該通訊錄管理系統(tǒng)所需要的算法和結(jié)構(gòu),采用C語言在VC++6.0平臺(tái)下,完成了軟件設(shè)計(jì)和調(diào)試。
首先,描述與介紹該通訊錄管理系統(tǒng)的基本功能、基本結(jié)構(gòu),確定設(shè)計(jì)該管理系統(tǒng)的基本設(shè)計(jì)方案。
其次,設(shè)計(jì)確定了該通訊錄管理系統(tǒng)的總程序框架,并對(duì)主控程序及各模塊的層級(jí)結(jié)構(gòu)或菜單功能進(jìn)行說明,實(shí)現(xiàn)了對(duì)通訊錄系統(tǒng)信息進(jìn)行錄入、顯示、修改、刪除、插入、排序、保存等程序的模塊化設(shè)計(jì)。
然后,根據(jù)該通訊錄管理系統(tǒng)的的總體程序框架,采用流程圖對(duì)程序各個(gè)功能每一模塊程序的算法結(jié)構(gòu)進(jìn)行設(shè)計(jì)描述。采用C語言在VC++6.0中進(jìn)行程序編寫和調(diào)試,實(shí)現(xiàn)了該通訊錄管理系統(tǒng)設(shè)計(jì),通過調(diào)試和改進(jìn),實(shí)現(xiàn)了綜上所述的所有功能。
最后,對(duì)本次設(shè)計(jì)過程進(jìn)行總結(jié)。在設(shè)計(jì)過程中,本設(shè)計(jì)小組共同討論、確定總體方案,本人主要負(fù)責(zé)該程序的第一個(gè)模塊:用戶的通訊信息的錄入

1.1 問題描述
描述與介紹系統(tǒng)基本功能、基本結(jié)構(gòu),確定基本的設(shè)計(jì)方案。
系統(tǒng)基本功能:采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)組的結(jié)構(gòu)應(yīng)當(dāng)包括編號(hào),姓名,電話號(hào)碼,地址;
基本結(jié)構(gòu):結(jié)構(gòu)體數(shù)組類型
基本的設(shè)計(jì)方案:用所學(xué)C語言編程知識(shí)制作由小組每一成員進(jìn)行分工設(shè)計(jì)每一模塊,最后進(jìn)行統(tǒng)一的連接 ,隨后在VC++6.0上編譯 ,鏈接使得該程序高效有序的運(yùn)行。

1.2 設(shè)計(jì)要求
1)需求分析及問題描述。描述與介紹系統(tǒng)基本功能、基本結(jié)構(gòu),確定基本的設(shè)計(jì)方案。
2) 總體方案設(shè)計(jì)及功能模塊劃分。設(shè)計(jì)確定程序功能塊及總程序框架方案,并對(duì)主控程序及各模塊的層級(jí)結(jié)構(gòu)或菜單功能進(jìn)行說明。
3) 詳細(xì)設(shè)計(jì)。根據(jù)確定的程序框架,采用流程圖對(duì)系統(tǒng)及功能模塊的算法描述。編寫程序,設(shè)計(jì)完成系統(tǒng)功能,要求總代碼不少于500行,單個(gè)模塊代碼不超過60行。
4) 調(diào)試分析。完成對(duì)設(shè)計(jì)代碼的調(diào)試運(yùn)行,保留測(cè)試數(shù)據(jù)和結(jié)果,進(jìn)行必要的分析說明,軟件能夠進(jìn)行運(yùn)行演示。
5) 設(shè)計(jì)總結(jié)?偨Y(jié)設(shè)計(jì)過程的得失,介紹本人的設(shè)計(jì)經(jīng)驗(yàn)和技巧。

二、撰寫設(shè)計(jì)文檔
包括:①摘要,②需求和規(guī)格說明,③設(shè)計(jì)方案,④設(shè)計(jì)小結(jié),⑤參考文獻(xiàn)(列出3~5篇參考文獻(xiàn))。

1.3 需求分析
實(shí)現(xiàn)通訊錄管理系統(tǒng)的基本功能,可以實(shí)現(xiàn)電話號(hào)碼用戶的查詢,電話號(hào)碼的查詢,電話號(hào)碼所在地的查詢,電話號(hào)碼的添加及刪除等功能,以方便人們的記錄和通訊。

2總體方案設(shè)計(jì)及功能模塊劃分
設(shè)計(jì)確定程序功能塊及總程序框架方案,并對(duì)主控程序及各模塊的層級(jí)結(jié)構(gòu)或菜單功能進(jìn)行說明。

總程序功能塊:
通過該系統(tǒng)實(shí)現(xiàn)對(duì)通訊錄信息進(jìn)行錄入、顯示、修改、刪除、插入、排序、保存等操作的管理。本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:編號(hào)、姓名、電話號(hào)碼、地址。使之能提供以下功能:
一、本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):
總程序框架方案:
通訊信息錄入 ;
通訊信息顯示 ;
通訊信息保存 ;
通訊信息刪除 ;
通訊信息修改 ;
通訊信息查詢
(1) 按編號(hào)查詢; (2) 按姓名查詢;(3) 按電話號(hào)碼查詢
7、退出系統(tǒng)
二、執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。
三、將通訊信息保存到文件中。
說明:
若要向通訊錄中添加新號(hào)碼,也分兩個(gè)方面:①若該通訊錄是新的,即沒有任何通訊記錄的,則直接往里添加,需先輸入姓名,隨即輸入號(hào)碼和所在地,用于存儲(chǔ)。②若通訊錄不是空的,在添加新號(hào)碼時(shí)則須在最后一個(gè)號(hào)碼的后面進(jìn)行添加(輸入姓名、電話號(hào)碼及所在地),依次類推。

進(jìn)入主菜單,輸入t,進(jìn)入通訊錄信息添加模塊。

按照要求依次輸入姓名,電話號(hào)碼,住址。

出現(xiàn)提示信息,是否繼續(xù),選Y,回到主菜單,選擇N,退出程序。

3詳細(xì)設(shè)計(jì)
根據(jù)確定的程序框架,采用流程圖對(duì)系統(tǒng)及功能模塊的算法描述。編寫程序,設(shè)計(jì)完成系統(tǒng)功能,要求總代碼不少于500行,單個(gè)模塊代碼不超過60行。
  1. #include <stdio.h>
  2. #include <conio.h>                //getche()用到
  3. #include <stdlib.h>               //exit()用到
  4. #include <string.h>               //strcmp()用到


  5. struct user_type
  6.             
  7. {   char num[10];
  8.     char name[16];
  9.               char tel[20] ;
  10.               char e_addr[29];
  11. };

  12. struct user_type user[100]; //學(xué)生數(shù)組
  13. int i=0, user_num;     

  14. void add()  //數(shù)據(jù)添加自定義函數(shù)
  15. {
  16.               int i=user_num;
  17.    printf("說明:依次輸入用戶信息,當(dāng)輸入的編號(hào)為0時(shí)表示輸入結(jié)束\n");
  18.    while(1)
  19.    {
  20.                  printf("請(qǐng)輸入第%d個(gè)用戶的信息\n",i+1);
  21.                  
  22.                  printf("請(qǐng)輸入編號(hào):");
  23.                            
  24.                  scanf("%s",user[i].num);
  25.                            
  26.                  if(strcmp(user[i].num,"0")==0)
  27.                                           break;
  28.                             printf("請(qǐng)輸入用戶姓名:");              scanf("%s",user[i].name);
  29.                             printf("請(qǐng)輸入用戶電話號(hào)碼:");              scanf("%s",user[i].tel);
  30.                             printf("請(qǐng)輸入用戶地址:");              scanf("%s",user[i].e_addr);
  31.                   i++;
  32.     }
  33.     user_num=i;
  34.     printf("總共已輸入 %d 個(gè)用戶的信息\n",user_num);
  35. }
復(fù)制代碼

4調(diào)試分析

完成對(duì)設(shè)計(jì)代碼的調(diào)試運(yùn)行,保留測(cè)試數(shù)據(jù)和結(jié)果,進(jìn)行必要的分析說明,軟件能夠進(jìn)行運(yùn)行演示。

分析:依次輸入用戶信息,當(dāng)輸入0時(shí)跳出錄入,選擇其他代碼再進(jìn)行其它模塊的運(yùn)行,實(shí)現(xiàn)了該通訊錄管理系統(tǒng)程序的高效流暢運(yùn)行。每一模塊分開有條不紊的進(jìn)行 ,不影響程序的完整性和可讀性
1錄入模塊
2顯示模塊
3以文本方式保存模塊
4文本方式讀取模塊
5二進(jìn)制方式保存信息
6以二進(jìn)制方式從文件中讀取
7刪除模塊8888修改模塊

9查找模塊




5設(shè)計(jì)總結(jié)

總結(jié)設(shè)計(jì)過程的得失,介紹本人的設(shè)計(jì)經(jīng)驗(yàn)和技巧。


5.1任務(wù)總結(jié)

針對(duì)該通訊錄系統(tǒng)程序的設(shè)計(jì),我們進(jìn)行了相應(yīng)的分工合作,先確定了該程序的基本框架,然后進(jìn)行了各模塊的設(shè)計(jì)。分析設(shè)計(jì)該通訊錄信息的錄入、顯示、修改、刪除、插入、排序、保存等功能,采用C語言進(jìn)行編寫程序,最后通過程序設(shè)計(jì)和仿真調(diào)試,實(shí)現(xiàn)了以上所需的功能。

這次設(shè)計(jì)的結(jié)果符合該程序的設(shè)計(jì)要求,完成了老師所提出的基本要求。

通過這次設(shè)計(jì),我們掌握了制作通訊錄管理信息的具體方式和設(shè)計(jì)過程,了解了C語言的基本功能,通過我們小組成員的相互配合,相互協(xié)調(diào),共同完成了該通訊錄管理系統(tǒng)的程序設(shè)計(jì)。


5.2系統(tǒng)調(diào)試中的問題及解決的措施
在本次設(shè)計(jì)遇到了許多的問題。比如說最后在編譯的時(shí)候顯示生成可執(zhí)行文件失敗,通過向老師求助和問小組同學(xué)解決了這個(gè)問題,由于電腦版本過低,在同學(xué)電腦上運(yùn)行得到最終結(jié)果。

5.3總結(jié)
本次設(shè)計(jì)的過程中,選的題目是通訊錄管理系統(tǒng)的設(shè)計(jì),我主要負(fù)責(zé)該程序的第一模塊:多個(gè)用戶通訊信息的錄入
經(jīng)過老師的指點(diǎn)以及小組同學(xué)之間討論之后我們成功的解決了這個(gè)問題。
在本次設(shè)計(jì)過程中,讓我對(duì)C語言的學(xué)習(xí)和功能有了更加深刻的認(rèn)識(shí),對(duì)VC++6.0軟件系統(tǒng)有了更加深刻的認(rèn)識(shí)。在這次通訊錄管理系統(tǒng)的設(shè)計(jì)中,我們小組分工明確,同時(shí),遇到問題大家做到了一起討論,一起解決。
從理論到實(shí)踐,在這幾天,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。這次設(shè)計(jì)使我懂得了,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒有弄不懂的知識(shí)。而且在收獲知識(shí)的同時(shí),還收獲了閱歷,收獲了成熟。在此過程中,我們通過在網(wǎng)上和書本上查找大量資料,請(qǐng)教研究生師哥師姐們和同學(xué),使我的專業(yè)知識(shí)和動(dòng)手實(shí)踐方面都得了到很好的提升。所以總的來說,這次設(shè)計(jì)使我認(rèn)識(shí)到自己在學(xué)習(xí)中還有很多的不足和欠缺。可以使我在今后的學(xué)習(xí)中戒驕戒躁,已得到充分的鍛煉和提升。

以上的Word格式文檔51黑下載地址:
1213.docx (87.46 KB, 下載次數(shù): 6)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

樓主
ID:834151 發(fā)表于 2020-12-19 21:28 | 只看該作者
能給VC++6.0嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表