在线观看国产免费视频_亚洲视频三区_中文字幕在线观看网站_日韩视频免费在线观看_亚洲视频精品_天天夜夜操

當前位置:網站首頁 >> 作文 >> 2023年c++個人通訊錄管理系統 通訊錄管理系統設計報告(五篇)

2023年c++個人通訊錄管理系統 通訊錄管理系統設計報告(五篇)

格式:DOC 上傳日期:2024-03-20 17:21:16
2023年c++個人通訊錄管理系統 通訊錄管理系統設計報告(五篇)
時間:2024-03-20 17:21:16     小編:zdfb

隨著社會一步步向前發展,報告不再是罕見的東西,多數報告都是在事情做完或發生后撰寫的。大家想知道怎么樣才能寫一篇比較優質的報告嗎?下面是小編帶來的優秀報告范文,希望大家能夠喜歡!

c++個人通訊錄管理系統 通訊錄管理系統設計報告篇一

c語言課程設計

(部)

學生姓名

06 月

信息科學與電氣工程學院

計算機科學與技術

計職141

王雪

140819139 日至

07 月

04 日

周 指導教師

2015 年 6月 23日

一、課程設計目的

將理論教學中涉及到的知識點貫穿起來,對不同的數據類型、程序控制結構、數據結構作一比較和總結,結合設計題目進行綜合性應用,對所學知識達到融會貫通的程度。通過課程設計,學生在下述各方面的能力應該得到鍛煉:

(1)進一步鞏固、加深學生所學專業課程《c++程序設計語言》的基本理論知識,理論聯系實際,進一步培養學生綜合分析問題,解決問題的能力。

(2)全面考核學生所掌握的基本理論知識及其實際業務能力,從而達到提高學生素質的最終目的。

(3)利用所學知識,開發小型應用系統,掌握運用c++語言編寫調試應用系統程序,訓練獨立開發應用系統,進行數據處理的綜合能力。

(4)對于給定的設計題目,如何進行分析,理清思路,并給出相應的數學模型。

(5)掌握結構化程序設計方法,熟悉面向對象程序設計方法。(6)熟練掌握c++語言的基本語法,靈活運用各種數據類型。(7)進一步掌握在集成環境下如何調試程序和修改程序。設計功能

錄入聯系人信息(包括姓名、電話號碼、地址等信息);通訊錄管理系統要求實現以下功能:

1、輸入每一位聯系人記錄,將其信息存入文件中。

2、查詢所有聯系人的信息,并按可選的自定義規則進行排序;

3、記錄修改,將修改的記錄信息保存于文件中。設計要求

1、設一個通信錄由以下幾項數據信息構成: 數據項 類型

姓名 字符串

地址 字符串

郵政編碼 字符串

電話號碼 字符串

試為通信錄數據定義類型和定義通信錄變量,實現功能:存取、顯示、刪除記錄、查詢記錄等功能。

2、要求:界面友好,易于操作 總體設計 系統功能模塊圖:

添加:可以添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱等后,會提示是否繼續添加。

顯示:可以以表格形式輸出所有通訊錄里的記錄

刪除:輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄內容 查詢:可以選擇用姓名、電話、地址三種方式查詢

修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改

保存:,輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件

課程設計名稱及內容

課程設計名稱:單項選擇題標準化考試系統

設計內容:設計并實現一個單項選擇題標準化考試系統。該系統可以完成試題錄入、試題抽取、自動判卷等功能。

任務和要求

功能要求:

(1)用文件保存試題庫。(每個試題包括題干、4個備選答案、標準答案)(2)試題錄入:可隨時增加試題到試題庫中

(3)試題抽取:每次從試題庫中可以隨機抽出n道題(n由鍵盤輸入)(4)答題:用戶可實現輸入自己的答案

(5)自動判卷:系統可根據用戶答案與標準答案的對比實現判卷并給出成績。

(二)其它要求:

(1)只能使用c/c++語言,源程序要有適當的注釋,使程序容易閱讀(2)至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3)學生可自動增加新功能模塊(視情況可另外加分)

主要知識點

l 面向對象程序設計方法

l 界面制作,switch的應用。l 類和對象。l 動態數組(鏈表)類模板。l 文件的讀寫。

五、其他

程序設計可在microsoft vc++6.0、borland c++ builder環境下進行。

六、參考資料

【1】《c語言程序設計》,譚浩強編,清華大學出版社,2008年 出版 【2】《c語言程序設計》,吳明發編,北京理工大學出版社,2007年出版 【3】《c語言參考手冊》邱仲潘 機械工業出版社,2004年出版

【4】《c語言課程設計案例精編》 姜靈之 清華大學出版社 2008年出版

詳細設計(1).通訊錄: 主要代碼

#include

#include

#include

struct student

//結構體 {

};class inter { private: student st[35];char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);

void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();void format();int back(){

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

} void print(int i){

cout<<“學號:”<

>back;if(back=='r'||back=='r')return 1;else return 0;

};

} cout<<“電話號碼:”<

inter a;();char select1;cout<

計職141

” <

<<“tt★★★★★★★★★★★★★★★★★★★★★★★★★★” <

※” <

通 迅 錄

※” <

※” <

※” <

※” <

※” <

<<“tt

”<

<<“ttt選擇 :”;cin>>select1;

switch(select1){ case '1':cout<<“

(1)添加:”<

cout<<“

(2)刪除:”<

(3)修改:”<

請選擇:”<

>select2;switch(select2){ case '1':cout<<“

輸入添加的資料:”<

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

cout<<“

輸入學號:”<

>no;cout<<“

輸入姓名:”<

>name;cout<<“

輸入地址:”<

>address;cout<<“

輸入電話號碼:”<

>tel_no;cout<<“

輸入郵編:”<

>post_code;

cout<<“

輸入e_mail:”<

>e_mail;(no,name,address,tel_no,post_code,e_mail);

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back_add;cin>>back_add;if(back_add=='r'||back_add=='r')goto top;else goto bottom;break;case '2':cout<<“

輸入要刪除人的姓名:”<

char name2[20];cin>>name2;(name2);

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back_del;cin>>back_del;if(back_del=='r'||back_del=='r')goto top;else goto bottom;break;case '3':cout<<“

輸入需要修改人的姓名:”<

char name3[20];cin>>name3;if(t(name3))

} goto top;else goto bottom;break;break;case '2':cout<<“

(1)根據姓名查找”<

cout<<“

(2)根據學號查找”<

請選擇: ”;cin>>select3;switch(select3){ case '1':char name4[20];

cout<<“

輸入姓名: ”;cin>>name4;2(name4);

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back_f1;cin>>back_f1;if(back_f1=='r'||back_f1=='r')goto top;else goto bottom;break;case '2':char no4[13];cout<<“

輸入學號: ”;cin>>no4;

1(no4);

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

} break;char back_f2;cin>>back_f2;if(back_f2=='r'||back_f2=='r')goto top;else goto bottom;break;case '3':();cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back_w;cin>>back_w;if(back_w=='r'||back_w=='r')goto top;else goto bottom;break;case '4':cout<<“

(1)按學號排序:”<

cout<<“

(2)按姓名排序:”<

請選擇:”;char select4;cin>>select4;switch(select4){ case '1':1();

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back;cin>>back;if(back=='r'||back=='r')goto top;else goto bottom;break;case '2':2();

cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

} break;char back1;cin>>back1;if(back1=='r'||back1=='r')goto top;else goto bottom;break;case '5':();cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

char back_r;cin>>back_r;if(back_r=='r'||back_r=='r')

goto top;else goto bottom;break;case '6':cout<<“

請確認刪除所有資料!(y/n)

”;

char select5;cin>>select5;if(select5=='y'||select5=='y')();cout<<“

返回還是回到主菜單(t為退出,r為回到主菜單,不計大小寫):

”;

} char back_f;cin>>back_f;if(back_f=='r'||back_f=='r')goto top;else goto bottom;break;bottom:cout<<“

★★★★★★★★★★★★歡迎使用本軟件!★★★★★★★★★★★

”<

void inter::add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]){ int x=1;for(int i=0;i<35;i++)return 0;

} {

} if(!strcmp(st[i].no,“0”)){

} if(x==0)break;strcpy(st[i].address,address);strcpy(st[i].e_mail,e_mail);strcpy(st[i].name,name);strcpy(st[i].no,no);strcpy(st[i].post_code,post_code);strcpy(st[i].tel_no,tel_no);x=0;//刪除聯系人

void inter::del(char name[20]){

int x=1;for(int i=0;i<35;i++){ if(!strcmp(st[i].name,name)){

strcpy(st[i].address,“0”);

strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”);

}

} } else x=0;if(x==0)cout<<“

error:輸入姓名錯誤!”<

int inter::correct(char name[30]){

int x;for(int i=0;i<35;i++){

} char select;cout<<“

(1)修改姓名:”<

(2)修改學號:”<

(3)修改地址:”<

(4)修改郵編:”<

(5)修改電話號碼:”<

(6)修改e_mail:”<

請選擇:”;cin>>select;switch(select){ case '1':cout<<“

輸入要修改的姓名:”;char name1[30];if(!strcmp(st[i].name,name))x=i;

cin>>name1;strcpy(st[x].name,name1);cout<<“

修改成功!”<

輸入要修改的學號:”;

char no1[13];cin>>no1;strcpy(st[i].no,no1);cout<<“

修改成功!”<

輸入要修改的地址:”;

char address1[100];cin>>address1;strcpy(st[x].address,address1);cout<<“

修改成功!”<

輸入要修改的郵編:”;

char post_code1[7];cin>>post_code1;strcpy(st[x].post_code,post_code1);cout<<“

修改成功!”<

輸入要修改的電話號碼:”;char tel_no1[12];

cin>>tel_no1;strcpy(st[x].tel_no,tel_no1);cout<<“

修改成功!”<

輸入要修改的e_mail:”;

char e_mail1[40];

cin>>e_mail1;

strcpy(st[x].e_mail,e_mail1);

cout<<“

修改成功!”<

return back();

break;} } //按學號查詢聯系人

void inter::find1(char no[13]){ int x,y=1,z=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].no,no))

{

x=i;

z=0;

}

else y=0;

if(z==0)break;

}

if(y==0)cout<<“

輸入的學號查找不到!!”<

print(x);} //按姓名查詢聯系人

void inter::find2(char name[20]){

} //讀取文件 void inter::read(){ int x,y=1,z=1;for(int i=0;i<35;i++){

} if(y==0)cout<<“

輸入的姓名查找不到!!”<

} else y=0;if(z==0)break;x=i;z=0;

print(x);

char name1[20];cout<<“

輸入你要導入的文件名: ”;cin>>name1;strcat(name1,“.txt”);ifstream file(name1);char line[120];char no[120];char name[120];char address[120];char post_code[120];char tel_no[120];char e_mail[120];int time=0;e(line,120);while(!()){

for(int k=0;k<35;k++){

if(time==0){ strcpy(no,line);time=1;for(int i=0;i<120;i++){

if(no[i]==':'){ i++;for(int j=0;j<13;j++)

}

} {

}

st[k].no[j]=no[i];i++;e(line,120,'n');} if(time==1){

} if(time== 2){ strcpy(name,line);time=2;

for(int i=0;i<120;i++){

} e(line,120,'n');if(name[i]==':'){

} i++;for(int j=0;j<20;j++){

}

st[k].name[j]=name[i];i++;

} strcpy(address,line);time=3;for(int i=0;i<120;i++){

} e(line,120,'n');if(address[i]==':'){

} i++;for(int j=0;j<100;j++){

}

st[k].address[j]=address[i];i++;if(time==3){

strcpy(tel_no,line);time=4;for(int i=0;i<120;i++){

if(tel_no[i]==':'){

i++;for(int j=0;j<12;j++){

st[k].tel_no[j]=tel_no[i];

}

}

} }

i++;e(line,120,'n');

if(time==4){

} if(time==5){ strcpy(e_mail,line);strcpy(post_code,line);time=5;for(int i=0;i<120;i++){

} e(line,120,'n');if(post_code[i]==':'){

} i++;for(int j=0;j<7;j++){

}

st[k].post_code[j]=post_code[i];i++;

}

}

} } time=0;for(int i=0;i<120;i++){

} e(line,120,'n');if(e_mail[i]==':'){

} i++;for(int j=0;j<40;j++){

}

st[k].e_mail[j]=e_mail[i];i++;

();//寫入文件 void inter::write(){

char name[20];cout<<“

輸入要保存的文件名

”;cin>>name;strcat(name,“.txt”);ofstream savefile(name);for(int i=0;i<35;i++)

} {

} save();savefile << “學號:”<

savefile << “姓名:”<

savefile << “地址:”<

savefile << “電話號碼:”<

savefile << “郵編:”<

savefile << “e_mail:”<

strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++){

if(strcmp(st[j].no,st[j+1].no)>0){ char no[13];

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

strcpy(st[j+1].no,no);

strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

} for(int k=0;k<35;k++){ int x=0;if(strcmp(st[k].no,“0”))

}

} strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);

{

} if(x==1){ cout<

} } } //按姓名排序 void inter::list2(){

for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++){

if(strcmp(st[j].name,st[j+1].name)>0){ char no[13];

char name[20];

char address[100];

char tel_no[12];

char post_code[7];

char e_mail[40];

strcpy(no,st[j].no);strcpy(st[j].no,st[j+1].no);strcpy(st[j+1].no,no);

strcpy(name,st[j].name);strcpy(st[j].name,st[j+1].name);strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

} for(int k=0;k<35;k++){

}

} strcpy(st[j].address,st[j+1].address);strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);strcpy(st[j].tel_no,st[j+1].tel_no);strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);strcpy(st[j].post_code,st[j+1].post_code);strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);strcpy(st[j].e_mail,st[j+1].e_mail);strcpy(st[j+1].e_mail,e_mail);

}

} int x=0;if(strcmp(st[k].no,“0”)){

} if(x==1){

} cout<

void inter::format(){

} for(int i=0;i<35;i++){

} strcpy(st[i].address,“0”);strcpy(st[i].e_mail,“0”);strcpy(st[i].name,“0”);strcpy(st[i].no,“0”);strcpy(st[i].post_code,“0”);strcpy(st[i].tel_no,“0”);

(2).工作流程圖:

1.通訊錄主界面

2.添加:添加通訊錄記錄

3.顯示:查詢通訊錄記錄

4.刪除:刪除通訊錄記錄

5.修改:修改通訊錄記錄

小結(收獲和建議)這次的程序實設計實驗是對我們進入大學以來學習程序設計語言結果的一次大檢驗,面對許多不懂得知識,通過他人的幫助,以及參考他人的成果,自己動手嘗試,修改等,才完成。這個課程設計,花費了我近兩個星期的時間,這也是因為書本不熟悉。通過這次設計,使我對《c語言》這門課程有了更深一步的了解。它不僅是計算機程序設計的重要理論技術基礎,也在我們電子與信息專業的學習中占據著十分重要的地位。同時也使我們知道,要學好這門課程,僅學習書本上的知識是不夠的,還要有較強的實踐能力。因為我們學習知識就是為了實踐。而只有多實踐,多編寫程序,才能更好的理解與掌握書本上的東西。利用計算機來編寫程序,也讓我感受到了編程的樂趣,極大的激發了我的興趣。

c++個人通訊錄管理系統 通訊錄管理系統設計報告篇二

#include

#include

#include

#include

#include

#include

class information {

char name[20];

char tel[12];

char kind;

char email[50];public:

information(){}

information(char n[],char t[],char k,char e[])

{

strcpy(name,n);

strcpy(tel,t);

kind=k;

strcpy(email,e);

}

friend void main();};void main(){

cout<<“☆★☆★☆★☆★☆★☆”<

cout<<“

菜單

n”;

cout<<“---------------------”<

cout<<“1 信息錄入n”<<“2 按姓名查找n”<<“3 修改n”<<“6 刪除n”<<“0 退出n”;

cout<<“請選擇: ”;

char p;char w;

information *s[16];

ofstream *file[16];

ofstream *file2[30];

int i=0;

int j2=0;

int j=0;

bool flag2=0;

do

{

cin>>p;

if((p>='0'&&p<='8'))

flag2=1;

按類別查找n“<<”4 插入n“<<”5

else

cout<<“指令錯誤!請重新輸入:”<

}while(flag2==0);

do{

switch(p)

{

case '1':

{

char c;

char name[20];char tel[12];char kind;char email[50];

do{

bbb:

cout<<“請輸入姓名”<

cin>>name;

cout<<“請輸入電話號碼:”<

cin>>tel;

eee:

cout<<“請輸入類別(a辦公類b個人類c商務類):”<

cin>>kind;

if(kind!='a'&&kind!='b'&&kind!='c')

{

cout<<“類別錯誤,請重輸”;

goto eee;

}

cout<<“請輸入電子郵箱:”<

cin>>email;

file[j]=new ofstream(“d: ”,ios::ate);

*file[j]<<“姓名”<

j++;

s[i]=new information(name,tel,kind,email);

for(int y=0;y

{

if(strcmp(s[y]->tel,s[i]->tel)==0)

{cout<<“輸入重復電話號碼,請重輸!”<

goto bbb;}

}

for(int u=0;u

{

if(strcmp(s[u]->name,s[i]->name)==0)

{

cout<<“輸入重名,請重輸!”<

goto bbb;

}} i++;if(i==15){

cout<<“內存已滿,無法錄入!”<

break;

}

cout<<“數據錄入成功,想繼續錄入嗎(y/n)”<

cin>>c;

flag2=0;

do

{

if(c!='y'&&c!='n')

{

cout<<“指令錯誤!請重新輸入!”<

cin>>c;

}

else

flag2=1;

}while(flag2==0);

}while(c=='y');

break;

}

case '2':

{

char n[20];int j=0;char c;

do{

int flag=0;

cout<<“請輸入你要查詢的人員姓名”<

cin>>n;

for(int j=0;j

{

if(strcmp(n,(*s[j]).name)==0)

{

flag=1;

cout<<“您要查詢的是:”<<(*s[j]).name<

cout<<“電話號碼 ”<<(*s[j]).tel<

}

}

if(flag==0)

cout<<“對不起!您要查詢的人不存在!”<

cout<<“您想繼續查詢嗎?(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯誤!請重新輸入!”<

cin>>c;

}

}

while(c=='y');

break;

}

case '3':

{

char k;int j=0;char c;

do{

int flag=0;

cout<<“請輸入你要查詢的類別”<

cin>>k;

for(int j=0;j

{

if(k==(*s[j]).kind)

{

flag=1;

cout<<“您要查詢的是:”<<(*s[j]).name<

cout<<“電話號碼 ”<<(*s[j]).tel<

}

}

if(flag==0)

cout<<“對不起!您要查詢的不存在!”<

cout<<“您想繼續查詢嗎?(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯誤!請重新輸入!”<

cin>>c;

}

}

while(c=='y');

break;

}

case '4':

{

char name[20];char tel[12];char kind;char email[50];

char c;int j=0;

do

{

aaa:

cout<<“請輸入您要插入的人的姓名:”<

cin>>name;

cout<<“請輸入電話號碼:”<

cin>>tel;

cout<<“請輸入類別(a辦公類b個人類c商務類):”<

fff:

cin>>kind;

if(kind!='a'&&kind!='b'&&kind!='c')

{cout<<“類別錯誤,請重輸”;

goto fff;}

cout<<“請輸入電子郵箱:”<

cin>>email;

file[j]=new ofstream(“d: ongxunlu”,ios::ate);

*file[j]<<“姓名”<

j++;

s[i]=new information(name,tel,kind,email);

for(int y=0;y

{

if(strcmp(s[y]->tel,s[i]->tel)==0)

{cout<<“輸入重復電話號碼,請重輸!”<

goto aaa;}}

for(int u=0;u

{

if(strcmp(s[u]->name,s[i]->name)==0)

{cout<<“輸入重名,請重輸!”<

goto aaa;}}

i++;

if(i==15||i==16)

{cout<<“內存已滿,無法錄入!”<

cout<<“數據錄入成功,想繼續錄入嗎(y/n)”<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<“指令錯誤!請重新輸入!”<

cin>>c;

}

}while(c=='y');qqq:

break;

}

case '5':

{

char name[20];flag2=0;

char c;

do

{

cout<<“請輸入您要修改的人的姓名:”<

cin>>name;

for(int h=0;h

{

if(strcmp(name,s[h]->name)==0)

{

flag2=1;

cout<<“請輸入新的電話號碼:”<

cin>>s[h]->tel;

cout<<“請輸入新的類別(a辦公類b個人類c商務類):”<

cin>>s[h]->kind;

箱:“<

}

}

cout<<”請輸入新的電子郵cin>>s[h]->email;

cout<<“數據修改成功!”;

if(flag2==0)

{

cout<<“您要修改的人本來就不存在!請檢查重新輸入!”<

}

cout<<“想繼續修改嗎(y/n)”<

>c;

if(c!='y'&&c!='n'){

“<

}

case '6':

{

存在!請檢查輸入的正確性!”;

“<

cout<<”指令錯誤!請重新輸入!

cin>>c;

} }while(c=='y');break;char name[20];bool flag3=0;char c;do{

cout<<“請輸入您要刪除的人的姓名:”<

cin>>name;

for(int h=0;h

{

if(strcmp(name,s[h]->name)==0)

{

flag3=1;

i--;

do{

s[h]=s[h+1];

h++;

}while(h<=i);

}

}

if(flag3==0)

cout<<“您要求刪除的對象本來就不

cout<<”要繼續刪除嗎?(y/n)“<

cin>>c;

if(c!='y'&&c!='n')

{

cout<<”指令錯誤!請重新輸入!

cin>>c;

}

}while(c=='y');

break;

}

case '0':

{

exit(0);break;

}}

cout<<“您想繼續進行其他操作嗎?(y/n)”<

bool flag4=0;

do

{

cin>>w;

if(w!='y'&&w!='n')

cout<<“指令錯誤!請重新輸入!”<

else

flag4=1;

}while(flag4==0);

if(w=='y')

{

cout<<“※※※※※※※※※※n”<<“2 按姓名查找n”<<“3 按類別查找n”<<“4 插入n”<<“5 修改n”<<“6 刪除n”<<“0 退出n”;

cin>>p;}

else exit(0);}while(w=='y');for(int x=0;x

delete s[x];

cout<<“delete all members!”<

}

c++個人通訊錄管理系統 通訊錄管理系統設計報告篇三

“學生通訊信息記錄系統”的設計與實現

一、設計要求

1.問題的描述

“學生通訊信息記錄系統”是為了實現快速的對學生信息進行錄入、刪除、查找、顯示。各個功能靠函數實現。2.需求分析

(1)應該包括以下功能:輸入信息、顯示信息、查找以姓名作為關鍵字、刪除信息(2)作為一個完整的系統,應具有友好的界面和較強的容錯能力

二、概要設計

1.主界面設計

2.儲存結構設計

本系統主要采用鏈表類型來表示儲存“學生信息記錄系統”中的信息。程序中定義了address結構。其中,包括學生的姓名、宿舍信息和學號。3.系統功能的設計

1)輸入信息——enter();2)顯示信息———display();3)查找以姓名作為關鍵字 ———search();4)刪除信息———delete();

三、模塊設計

1.模塊設計

本成績包含兩個模塊:主程序模塊和鏈表操作模塊。2.系統的程序及功能設計

(1)插入學生信息

void enter()

/*輸入函數,本函數循環輸入資料,當輸入姓名為空時退出*/ {

struct address *info;

/*定義當前結點*/

for(;;){

info=(struct address *)malloc(sizeof(struct address));

/*為當前結點分配空間*/

if(!info)

{

printf(“n out of memory”);

exit(0);

/*如果分配空間失敗,退出程序*/

}

printf(“輸入空姓名結束:n”);

inputs(“請輸入 姓名:”,info->name,10);

if(!info->name[0])

break;

/*如果輸入姓名為空,結束循環*/

inputs(“請輸入

院系:”,info->street,50);

inputs(“請輸入宿舍樓:”,info->city,15);

inputs(“請輸入宿舍號:”,info->state,15);

inputs(“請輸入

學號:”,info->eip,7);

insert(info,&start,&last);

/*調用結點插入函數*/ } }

五、測試分析

1.輸入學生信息

4.刪除信息

5.退出

struct address *start;

/*首結點*/ struct address *last;

/*尾結點*/ struct address *find(char *);

/*聲明查找函數*/

void enter();

/*函數聲明*/ void search();void save();

void load();void list();void ddelete(struct address **start,struct address **last);void insert(struct address *i,struct address **start,struct address **last);void inputs(char *,char *,int);void display(struct address *);int menu_select(void);

void main(){

int c;

printf(“n

歡迎使用學生通訊錄系統”);

printf(“nn”);

printf(“t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“t┃************************************************************┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃*

1.輸入信息

*

2.刪除信息

*┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃************************************************************┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃*

3.顯示信息

*

4.查找

*┃n”);

printf(“t┃*

*

*┃n”);

printf(“t┃************************************************************┃n”);

printf(“t┃

5.退出

┃ n”);

printf(“t┃************************************************************┃n”);

exit(0);

/*如果分配空間失敗,退出程序*/ }

printf(“輸入空姓名結束:n”);

inputs(“請輸入 姓名:”,info->name,10);

if(!info->name[0])break;

/*如果輸入姓名為空,結束循環*/

inputs(“請輸入

院系:”,info->street,50);

inputs(“請輸入宿舍樓:”,info->city,15);

inputs(“請輸入宿舍號:”,info->state,15);

inputs(“請輸入

學號:”,info->eip,7);

insert(info,&start,&last);

/*調用結點插入函數*/ }

void inputs(char *prompt,char *s,int count)

/*輸入函數,有越界檢測功能*/ {

char p[255];

do }

i->next=null;

i->prior=null;

*last=i;

*start=i;

return;

}

else {

(*last)->next=i;

i->prior=*last;i->next=null;

*last=(*last)->next;

}

}

void ddelete(struct address **start,struct address **last)

/*刪除函數*/

{ struct address *info;

char s[80];

inputs(“請輸入 姓名:”,s,10);

/*輸入欲刪除結點的name域內容*/

info=find(s);

if(info)

{

printf(“deleting......n”);if(*start==info)

點的下驅作為新的首結點(入口)*/

{ *start=info->next;

if(*start)(*start)->prior=null;

else *last=null;

}

else

結點*/

{

info->prior->next=info->next;

info=info->next;

}

printf(“未找到相關信息.n”);

return null;}

/*輸出整個鏈表*/ void list(void){ struct address *info;

info=start;

if(info==null)printf(“當前記錄為空!”);else printf(“姓名t院系t宿舍樓t宿舍號t學號tn”);

while(info)

{

};display(info);if(info->next==null){break;} info=info->next;

printf(“nn”);}

/*查找函數*/

/*輸入欲查找的姓名*/ /*如果沒找到,顯示not found*/

/*如果找到,顯示該結點資料*/

七、用戶使用手冊

(1)本程序的執行文件為“”。

(2)進入本系統之后,隨即顯示系統住菜單界面。用戶可以在該界面下根據提示輸入并按回車鍵確定,執行相應的菜單命令。

(3)本系統可以對學生信息進行錄入和刪除。

數據結構課程設計

課題:學生成績管理系統

姓名:孫軒宇

學號:e01014316

專業:計算機科技

院系:計科院

2010.10.8

班級:10

c++個人通訊錄管理系統 通訊錄管理系統設計報告篇四

1.題目名稱

通訊錄管理系統 2.基本功能

(1)顯示:將所有聯系人的信息顯示出來(2)查找:按姓名、手機號碼、qq號碼進行查找

(3)添加:從鍵盤上錄入聯系人的有關信息,包括姓名、手機號碼、qq號碼、家庭地址

(4)修改:根據用戶需要,修改聯系人的指定信息

(5)刪除:刪除不需要的信息

源代碼

#include

#include

#include

#define len sizeof(struct per)struct per { char name[17];//姓名

char number[13];//電話 char qq[11];//qq號

char add[30];//家庭地址 };void clearscreen()//清屏函數 { system(“cls”);} void printf1()//主界面 {

printf(“nnnnttt 歡迎來到通訊錄!”);printf(“nntt 請選擇操作:”);printf(“nnttt1.顯示通訊錄”);printf(“nttt2.查找通訊錄”);printf(“nttt3.添加通訊錄”);printf(“nttt4.修改通訊錄”);printf(“nttt5.刪除通訊錄”);printf(“nttt6.退出n”);} void printf2()//修改頁面 { printf(“請選擇操作:n”);printf(“t1.按姓名查找n”);printf(“t2.按手機號碼查找n”);printf(“t3.按qq號碼查找n”);printf(“t4.返回上一頁n”);} void show()//顯示函數 { struct per * p,person;file *fp;int i=0;p=&personclearscreen();printf(“姓名tt 電話t qqt 家庭地址nn”);if((fp=fopen(“”,“r”))==null){ printf(“cannot open filen”);exit(0);} while(!feof(fp)&&fread(p,len,1,fp)){

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

i++;} if(i==0)

printf(“沒有聯系人n”);else

printf(“ntttttt共有%d位聯系人n”,i);fclose(fp);printf(“n按回車鍵返回上一頁”);getchar();getchar();} void seek()//查找 { char name[17],tel[13],qq[11];int n,i;file *fp;struct per * p,person;p=&personfp=fopen(“”,“r”);while(1){ rewind(fp);clearscreen();printf2();printf(“請選擇您的操作:n”);scanf(“%d”,&n);if(n==1){

i=0;

clearscreen();

printf(“請輸入要查找的聯系人的姓名:n”);

scanf(“%s”,name);while(!feof(fp)){ fread(p,len,1,fp);

if(strcmp(name,p->name)==0)

{

i++;

if(i==1)

{ printf(“姓名tt 電話t qqt 家庭地址nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

}

} if(i==0)printf(“沒有該聯系人的信息n”);

printf(“n按回車鍵返回上一頁”);getchar();getchar();} else if(n==2){ i=0;clearscreen();printf(“請輸入要查找的手機號碼:n”);scanf(“%s”,tel);while(!feof(fp)){ fread(p,len,1,fp);if(strcmp(tel,p->number)==0){

i++;

if(i==1)

{ printf(“姓名tt 電話t qqt 家庭地址

nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

} } if(i==0)printf(“沒有該聯系人的信息n”);printf(“n按回車鍵返回上一頁”);getchar();getchar();

} else if(n==3){ i=0;clearscreen();printf(“請輸入要查找的qq號碼:n”);scanf(“%s”,qq);while(!feof(fp)){ fread(p,len,1,fp);

if(strcmp(qq,p->qq)==0)

{

i++;

if(i==1)

{ printf(“姓名tt 電話t qqt 家庭地址nn”);}

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

} } if(i==0)

printf(“沒有該聯系人的信息n”);

printf(“n按回車鍵返回上一頁”);getchar();getchar();

} else if(n==4)

break;} fclose(fp);getchar();} void add()//添加函數 { int n;file *fp;struct per * p,person;p=&person

printf(“請選擇您的操作 1 添加 2 返回上一頁nn”);scanf(“%d”,&n);if(n!=1&&n!=2){

printf(“請選擇您的操作 1 添加 2 返回上一頁n”);scanf(“%d”,&n);} while(n==1){ memset(p,0,len);//機構體的初始化 clearscreen();fp=fopen(“”,“a”);printf(“請輸入姓名n”);scanf(“%s”,p->name);printf(“請輸入手機號碼n”);scanf(“%s”,p->number);printf(“請輸入qq(沒有請輸入無)n”);scanf(“%s”,p->qq);printf(“請輸入地址n”);scanf(“%s”,p->add);

fwrite(p,len,1,fp);fclose(fp);printf(“保存成功!n”);printf(“您想 1繼續添加 2退出n”);scanf(“%d”,&n);if(n!=1&&n!=2)

{

printf(“請選擇您的操作 1 添加 2 退出nn”);scanf(“%d”,&n);

} } } void alter()//修改 { char name[17],tel[13],qq[11],add[30];int n,len,i=0;file *fp;struct per *p,person;p=&personfp=fopen(“”,“r+”);printf(“請輸入要修改的聯系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp)){

if(strcmp(name,p->name)==0)

{

i++;

len=ftell(fp);printf(“n姓名tt 電話t qqt 家庭地址nn”);

printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

} } printf(“n”);if(i==0){

printf(“沒有該聯系人的信息n”);getchar();

printf(“按回車鍵返回主菜單n”);} else { printf(“1.修改該聯系人的姓名n”);printf(“2.修改該聯系人的手機號碼n”);printf(“3.修改該聯系人的qq號碼n”);printf(“4.修改該聯系人的家庭地址n”);printf(“5.修改該聯系人的全部信息n”);

printf(“6.返回上一頁nn”);printf(“請輸入您的操作序號n”);scanf(“%d”,&n);

switch(n)

{

case 1:

clearscreen();fseek(fp,len-71,seek_set);printf(“請輸入姓名n”);scanf(“%s”,name);

fwrite(&name,sizeof(name),1,fp);printf(“修改成功n”);

printf(“按回車鍵返回主菜單n”);getchar();

break;

case 2:

clearscreen();fseek(fp,len-54,seek_set);printf(“請輸入手機號碼n”);scanf(“%s”,tel);

fwrite(&tel,sizeof(tel),1,fp);printf(“修改成功n”);

printf(“按回車鍵返回主菜單n”);getchar();

break;

case 3:

clearscreen();fseek(fp,len-41,seek_set);printf(“請輸入qq號碼n”);scanf(“%s”,qq);

fwrite(&qq,sizeof(qq),1,fp);printf(“修改成功n”);

printf(“按回車鍵返回主菜單n”);getchar();

break;

case 4:

clearscreen();fseek(fp,len-30,seek_set);printf(“請輸入家庭地址n”);scanf(“%s”,add);

fwrite(&add,sizeof(add),1,fp);printf(“修改成功n”);

printf(“按回車鍵返回主菜單n”);getchar();

break;

case 5:

clearscreen();fseek(fp,len-71,seek_set);

printf(“請輸入姓名n”);scanf(“%s”,p->name);printf(“

碼n”);scanf(“%s”,p->number);printf(“請輸入n”);scanf(“%s”,p->qq);printf(“請輸入地址n”);scanf(“%s”,p->add);fwrite(p,len,1,fp);printf(“修改成功n”);

printf(“按回車鍵返回主菜單n”);getchar();

break;

case 6:;

}

} fclose(fp);getchar();

}

qq(沒有請輸入無)void delete()//刪除 { int i=0,j,l;char name[17];struct per * p,person;file *fp,*fp1;p=&personfp=fopen(“”,“a+”);printf(“請輸入要刪除的聯系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp))//顯示要刪除的聯系人的信息

{

if(strcmp(name,p->name)==0)

{

i++;

if(i==1)

{printf(“姓名tt 電話t

qqt 家庭地址nn”);} printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);

memset(p,0,len);

}

} rewind(fp);if(i==0)printf(“沒有該聯系人的信息n”);else {

printf(“n此聯系人將被刪除n”);

printf(“1.確定 2.取消n”);

scanf(“%d”,&j);

if(j==1)

{

fp1=fopen(“”,“a”);

while(!feof(fp)&&fread(p,len,1,fp))

{

if(strcmp(name,p->name)!=0)

{

fwrite(p,len,1,fp1);

}

}

fclose(fp);

fclose(fp1);

remove(“”);

rename(“”,“”);

printf(“n該聯系人已刪除 按回車鍵返回上一頁n”);getchar();getchar();

}

if(j==2)

{

fclose(fp);printf(“n按回車鍵返回上一頁n”);getchar();getchar();

}

} } int select()//主菜單輸入 { int n;printf(“選擇您想要的操作 請輸入序號!n”);scanf(“%d”,&n);while(n<1||n>6){

printf(“輸入錯誤,請重新輸入!n”);

scanf(“%d”,&n);

}

return(n);} int main(){

while(1){

clearscreen();

printf1();

switch(select()){

case 1:clearscreen();show();break;

case 2:clearscreen();seek();break;

case 3:clearscreen();add();break;

case 4:clearscreen();alter();break;

case 5:clearscreen();delete();break;

case 6:exit(0);} }

return 0;}

c++個人通訊錄管理系統 通訊錄管理系統設計報告篇五

摘 要

為了人們對他人信息的記憶方便而設計,開發的一套“通訊錄管理系統“軟件。通過該題目的設計過程,可以培養學生結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解,針對c語言中的重點和難點內容進行訓練,獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。得到軟件工程的綜合訓練,提高解決實際問題的能力。

關鍵字:信息;管理;實用

abstract

designed for people to others the memory of information convenient, developed a set of “mail list management system” h the design process of this subject, students can be structured programming ideas, deepen our understanding of the advanced language basic language elements and control the understanding of the structure, conduct training for emphasis and difficulty in c language, independently complete the program design has a certain work tasks, while emphasizing the good programming hensive training in software engineering, improving the ability to solve practical ds: information;management;practical

目 錄 概述.........................................................................1 1.1設計目的..................................................................1 1.2設計要求..................................................................1 1.3系統功能需求分析..........................................................2 2 總體設計.....................................................................3 2.1總體功能模塊圖............................................................3 2.2程序的數據設計............................................................4 3詳細設計.....................................................................5 3.1功能及工作流程圖..........................................................5 3.2源程序代碼................................................................8 4調試分析....................................................................19 4.1測試.....................................................................19 4.2問題思考與調試:.........................................................27 5總結........................................................................28 參考文獻......................................................................29 致 謝........................................................................27

概述

1.1設計目的

隨著信息社會的高速發展,人與人之間的聯系越來越頻繁,通訊方式越來越多樣化,如何保證與朋友、同學、同事、領導、親戚等之間的聯系,并能方便快捷的查找、記錄、修改其相關通訊信息。僅靠以前單獨的手工記錄已遠遠不能滿足當前的需要。

開發一個通訊錄管理系統,借助計算機可以方便、快捷、靈活的管理個人的朋友及相關人員的通訊信息,了解友人相關信息,幫助與友人保持聯絡。

所以設計一個通訊錄管理系統管理各人的通訊信息是是非必要的。

設計“通訊錄管理系統”使其具有數據插入、修改、刪除、顯示和查詢等功能。(1)數據包括:人名、工作單位、電話號碼和e-mail地址。(2)可對記錄中的姓名和電話號碼進行修改。(3)可增加或刪除記錄。(4)可顯示所有保存的記錄。(5)可按人名或電話號碼進行查詢。

1.2設計要求

建立通訊錄信息,信息至少包含姓名、住址、單位、固定電話、移動手機、分類(如同事、朋友、同學、家人等)、e-mail、qq等。

該系統提供添加、刪除、修改和查找功能,其中按姓名方式刪除、修改,按姓名、單位、分類方式查找。

將通訊錄保存在文件中。能夠輸出通訊錄中的信息。

1.3系統功能需求分析

主要包含一下多種功能:

添加:添加通訊錄記錄 顯示:顯示通訊錄記錄 刪除:刪除通訊錄記錄 查詢:查詢通訊錄記錄 修改:修改通訊錄記錄 保存:將信息保存到文件

本系統為通訊錄管理系統,可由用戶自由添加,刪除和修改信息,還可以將通訊錄信息導出到文本文檔,極大的方便了用戶的使用。

總體設計

思路:我們首先設計出了主函數,然后根據去要實現的功能分別設計錄入聯系人信息、瀏覽、查詢、修改、刪除功能的子函數。刪除函數的設計是首先從文件內找到要刪除的人,然后通過寫一個實現刪除目的的for循環實現刪除。修改也大體和刪除相同,添加函數在設計時通過申請一片空間,然后通過指針將需要添加的信息添加進去,從而實現添加功能。

2.1總體功能模塊圖

圖2.1 總體功能模塊圖

添加:可以添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱后,會提示是否繼續添加。

顯示:可以以表格形式輸出所有通訊錄里的記錄。

刪除:輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄內容。查詢:可以選擇用姓名、電話、地址三種方式查詢。

修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改。

保存:輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件。運行所需環境:win7及以下各版本windows,visual c++6.0。2.2程序的數據設計

該系統用下面六個功能模塊編寫,每個模塊執行不同的功能,體現了模塊化設計的思想。下面六個模塊都是利用c語言文件,向文件中追加數據、修改數據、查詢數據和除數據。

創建:用fopen()建立一個文本文件,然后用fprintf()向其中輸入數據(例如,向文件中輸入“姓名”,“地址”等),并對文件進行命名。

添加:可以添加通訊錄記錄,利用c語言文件,向文件中按順序輸入姓名、住址、單位、固定電話、手機號碼、分類(如同事、朋友、同學、家人等)、e-mail、qq,再用fclose()函數關閉并保存文件。

輸出:也是用通過循環依次輸出文件中的數據,即輸出所有通訊錄里的記錄。刪除:輸入你要刪除的人的姓名后,系統會自動刪除他(她)的記錄,在刪除通過switch語句滿足提示你確認刪除的功能,只有等你確認刪除后才會刪除。查找:為了滿足用戶的實際需求,設計了三種查詢方式,可以用姓名、單位、分類三種方式查找通訊錄記錄。這里用到strcmp()函數,通過比較字符串是否相同來判別是否找到相關信息,找到后,就把文件中的數據賦給對應的變量,再把變量所帶的值輸出到屏幕上。

修改:輸入你要修改的那個人的姓名后,系統會查找該通訊錄文件(此時用發ftell()函數來跟蹤文件指針的指向地址,找到個人的記錄后,會顯示他(她)的記錄,然后通過fseek()函數來找到修改處的地址,然后用戶再依次輸入他(她)的相關信息來替代以前的記錄。

保存:用到fclose()函數,每次操作成功后會自動保存到指定的文件中。

3詳細設計

3.1功能及工作流程圖

①添加:添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱后,會提示是否繼續添加。

圖3.1(1)添加流程圖

②顯示:以表格形式輸出所有通訊錄里的

圖3.1(2)顯示流程圖

③刪除::輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄內容。

圖3.1(3)刪除流程圖

④查詢:可以選擇用姓名、電話、地址三種方式查詢。

圖3.1(4)查詢流程圖

⑤修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改。

圖3.1(5)修改流程圖 3.2源程序代碼

#include

#include

#include

typedef struct

person pe[80];

int menu_select()

{

char c;do{

system(“cls”);

printf(“tt *****通訊錄***** n”);

printf(“tt┌───────┐n”);

printf(“tt│ 1.添加記錄

│n”);printf(“tt│ 2.顯示記錄

│n”);printf(“tt│ 3.刪除記錄

│n”);printf(“tt│ 4.查詢記錄

│n”);printf(“tt│ 5.修改記錄

│n”);{

char score;

/*編號*/ char name[10];

/*姓名*/ char num[15];

/*號碼*/ char email[20];char age[8];char adds[20];

/*郵箱*/ /*年齡*/

/*住址*/ }person;

} printf(“tt│ 6.保存記錄

│n”);printf(“tt│ 0.退出程序

│n”);printf(“tt└───────┘n”);printf(“tt請您選擇(0-6):”);c=getchar();

}while(c<'0'||c>'6');return(c-'0');

int input(person per[],int n){

gets(x);

int i=0;

char sign,x[10];

while(sign!='n'&&sign!='n'){

printf(“t編號:”);

scanf(“t%d”,&per[n+i].score);printf(“t姓名:”);

scanf(“t%s”,per[n+i].name);printf(“t年齡:”);scanf(“t%s”,per[n+i].age);printf(“t電話號碼:”);scanf(“t%s”,per[n+i].num);printf(“t通訊住址:”);scanf(“t%s”,per[n+i].adds);printf(“t電子郵箱:”);scanf(“t%s”,per[n+i].email);

}

} printf(“nt是否繼續添加?(y/n)”);scanf(“t%c”,&sign);i++;

return(n+i);

void display(person per[],int n)

{

int i;

printf(“--------n”);

/*格式*/

printf(“%-5d%-8s%-6s%-13s%-15s%-15sn”,per[i-1].score,per[i-1].name,per[i-1].age,perprintf(“編號

姓名

年齡

電話號碼

通訊地址

電子郵箱n”);printf(“--------n”);

for(i=1;i

{

[i-1].num,per[i-1].adds,per[i-1].email);

}

printf(“--------n”);system(“pause”);if(i>1&&i%10==0)

{

} printf(“t----n”);printf(“t”);system(“pause”);

printf(“t----n”);}

int delete_a_record(person per[],int n){

} char s[20];int i=0,j;

printf(“t請輸入想刪除記錄中的名字:”);scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0&&i

}

for(j=i;j

}

printf(“ttt已經成功刪除!n”);return(n-1);strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;printf(“t通訊錄中沒有此人!n”);return(n);void query_a_record(person per[],int n){

int m;printf(“tn請選擇查詢方式:n”);

printf(“t┌──────┐n”);

printf(“t│1------姓名 │n”);

printf(“t│2------電話 │n”);

printf(“t│3------地址 │n”);

printf(“t│4------返回 │n”);

printf(“t└──────┘n”);

printf(“請選擇:”);

scanf(“%d”,&m);

while(m!=1&&m!=2&&m!=3&&m!=4)

{

if(m==1){

char s[20];int i=0;

printf(“t請輸入想查詢的姓名:”);scanf(“t%s”,s);

while(strcmp(per[i].name,s)!=0&&i

} printf(“輸入錯誤,請重新選擇:”);scanf(“%d”,&m);

};} return;

printf(“t此人編號: %dn”,per[i].score);printf(“t此人年齡: %sn”,per[i].age);printf(“t電話號碼: %sn”,per[i].num);printf(“t通訊地址: %sn”,per[i].adds);printf(“t電子郵箱: %sn”,per[i].email);if(m==2){

char s[20];int i=0;

printf(“t請輸入想查詢的電話:”);scanf(“t%s”,s);

while(strcmp(per[i].num,s)!=0&&i

};}

printf(“t此人編號: %dn”,per[i].score);printf(“t此人姓名: %sn”,per[i].name);printf(“t此人年齡: %sn”,per[i].age);printf(“t通訊地址: %sn”,per[i].adds);printf(“t電子郵箱: %sn”,per[i].email);

} if(m==3){

};char s[20];int i=0;

printf(“t請輸入想查詢的地址:”);scanf(“t%s”,s);

while(strcmp(per[i].adds,s)!=0&&i

}

printf(“t此人編號: %dn”,per[i].score);printf(“t此人姓名: %sn”,per[i].name);printf(“t此人年齡: %sn”,per[i].age);printf(“t電話號碼: %sn”,per[i].num);printf(“t電子郵箱: %sn”,per[i].email);printf(“t通訊錄中沒有此人!n”);return;

void change(person per[],int n){

char s[20];int i=0;

printf(“t請輸入想修改的記錄中的名字:”);scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0&&i

printf(“t通訊錄中沒有此人!n”);

return;

}

printf(“t編號:”);

scanf(“t%d”,&per[i].score);

printf(“t姓名:”);

scanf(“t%s”,per[i].name);

printf(“t年齡:”);

scanf(“t%s”,per[i].age);printf(“t電話號碼:”);

scanf(“t%s”,per[i].num);

printf(“t通訊住址:”);

scanf(“t%s”,per[i].adds);printf(“t電子郵箱:”);scanf(“t%s”,per[i].email);printf(“t修改成功!”);}

void writetotext(person per[],int n)

{

int i=0;

file *fp;

char filename[20];

printf(“t保存到文件n”);

printf(“t請輸入所保存的文件名:”);

scanf(“t%s”,filename);

if((fp=fopen(filename,“w”))==null)

/*定義文件指針*/ /*定義文件名*/ /*輸入文件名*/

{

}

fprintf(fp,“******************************************

錄printf(”t無法打開文件n“);system(”pause“);return;

******************************************n”);fprintf(fp,“編號

姓名

年齡

電話號碼

通訊地址

電子郵箱n”);;

fprintf(fp,“%-3dt%-6st%-3st%-13st%-20st%-20sn”,per[i].score,per[i].name,per[i].agwhile(i

;fprintf(fp,“***************************************共有%d

條記錄 } fprintf(fp,”----------------------------n“)i++;

****************************************n”,n);

}

void main()

/*主函數*/ { int n=0;fclose(fp);

/*關閉文件*/ printf(“保存成功!n”);for(;;){

switch(menu_select())

{

case 1:

printf(“nt添加記錄到通訊錄n”);

n=input(pe,n);break;

case 2:

printf(“nttt

通訊錄記錄表n”);display(pe,n);

break;

case 3:

printf(“nt從通訊錄中刪除記錄n”);n=delete_a_record(pe,n);

printf(“t”);

system(“pause”);break;

case 4:

printf(“nt在通訊錄中查找記錄n”);query_a_record(pe,n);

printf(“t”);

system(“pause”);

break;

case 5:

/*添加記錄*/

/*顯示記錄*/ /*刪除記錄*/

/*查找記錄*/

printf(“nt修改通訊錄中的記錄n”);

change(pe,n);

printf(“t”);

system(“pause”);

break;

case 6:

printf(“nt保存功能n”);

writetotext(pe,n);

printf(“t”);

system(“pause”);

break;

case 0:

printf(“ntt謝謝使用,再見!n”);

printf(“ntt”);

system(“pause”);

exit(0);

}

}

}

/*修改數據*/

/*保存數據*/

/*結束程序*/

4調試分析

調試的意義和目的:在管理信息系統的開發過程中,面對著錯綜復雜的各種問題,人的主觀認識不可能完全符合客觀現實,開發人員之間的思想交流也不可能十分完善。所以,在管理信息系統開發周期的各個階段都不可避免地會出現差錯。開發人員應力求在每個階段結束之前進行認真、嚴格的技術審查,盡可能早的發現并糾正錯誤,否則等到系統投入運行后再回頭來改正錯誤將在人力、物力上造成很大的浪費,有時甚至導致整個系統的癱瘓。然而,經驗表明,單憑審查并不能發現全部差錯,加之在程序設計階段也不可避免還會產生新的錯誤,所以,對系統進行調試是不可缺少的,是保證系統質量的關鍵步驟。統計資料表明,對于一些較大規模的系統來說,系統調試的工作量往往占程序系統編制開發總工作量的40%以上。

調試的目的在于發現其中的錯誤并及時糾正,所以在調試時應想方設法使程序的各個部分都投入運行,力圖找出所有錯誤。錯誤多少與程序質量有關。即使這樣,調試通過也不能證明系統絕對無誤,只不過說明各模塊、各子系統的功能和運行情況正常,相互之間連接無誤,系統交付用戶使用以后,在系統的維護階段仍有可能發現少量錯誤并進行糾正,這也是正常的。

4.1測試

1).顯示的主菜單界面:

圖4.1(1)主菜單界面 2).添加界面:

圖4.1(2)添加界面 3).顯示界面:

圖4.1(3)顯示界面 4).刪除界面:

圖4.1(4)刪除前界面 刪除后,通訊錄里的顯示記錄:

圖(4)刪除后界面 5).查詢界面:以姓名查詢方式為例:

圖4.1(5)查詢界面

6).修改界面:

圖4.1(6)修改前界面 修改后,通訊錄里的顯示記錄:

圖4.1(6)修改后界面 7).保存界面:

圖4.1(7)保存界面

文件截圖:

圖4.1文件截圖

4.2問題思考與調試:

1.當我在進行刪除、查詢、修改、保存等功能時,以查詢為例,輸入名字按回車后,雖然會顯示該人的所有記錄,但是顯示后,它馬上自動消失了,還沒來得及等我看內容。因此,向別人請教后,在一些地方加入了system(“pause”);這個語言,用來對某項操作完成后進行暫停。

2.現在這個程序的界面個人感覺很清爽。但在最初,每次進行一項操作,運行窗口里的內容會一直保留著,感覺很雜亂,如下圖(添加后,進行顯示操作):

圖4.2分析圖

之后,我去網上尋求解決辦法,知道可以使用system(“cls”);這一語句可以解決這個問題,最后,修改成功。5總結

這次的程序實設計實驗是對我們進入大學以來學習程序設計語言結果的一次大檢驗。自己動手,自己發現和解決問題。發現了自己的許多不足。平時沒有掌握好的知識在這次實驗中徹底暴露出來,經過不斷思考,不斷查閱資料和上機運行,解決其中大部分問題,當然還存在一些問題沒有解決。我相信在以后的學習能夠解決好它們。但是,收獲還是不小的,我不僅對c的操作有了進一步的掌握,還了解到了程序設計的書寫風格及其注釋的格式。

當我選擇通訊錄這個題目時,一開始想運用大量鏈表及指針來完成,但是在慢慢琢磨之后,覺得這個不一定要用鏈表,于是改變了編程思路。當然還有不少文件的讀寫問題,不過還是通過不斷測試之后順利解決了。另外一點要說的就是這個程序用了很多的循環,因此對于循環的控制要十分小心,有時while和do-while的區別也是十分重要的。

還有一點體會就是,書上和老師教的內容是有限的,我們需要不斷地靠自己去學習,向他人請教,了解和掌握更多的知識,這樣我們才能編出更好的c程序。

總體來說,這次c語言程序設計實驗還是比較成功的,雖然最終程序還存在一些不足,但能取得這樣的成績我還是比較高興的。

最后,要感謝學校為我們提供這次實驗機會,也要感謝老師的教導和好心人對我的幫助與支持。

參考文獻

[1]譚浩強,張基溫。c語言程序設計教程。第三版。北京:高等教育出版社,2006 [2]譚浩強,張基溫。c語言習題集與上機指導。第三版。北京:高等教育出版社,2006 [3]譚浩強。c程序設計(第三版)。北京:清華大學,2005 [4]譚浩強。c程序設計(第二版)。北京:清華大學,1999 [5]林建秋,韓靜萍,等.c語言程序設計【m】.電子工業出版社,2004.[6]譚浩強.c語言程序設計【m】.清華大學出版社,2006.[7]黃維通.c語言設計教程.清華大學出版社,2005.[8]王成瑞.c語言程序設計.中國水利水電出版社,2005.[9]張基溫.c語言程序設計案例教程.清華大學出版社,2004.[10]蘇小紅,陳惠鵬.c語言大學實用教程【m】.電子工業出版社,2007.致

在這里我要感謝楊書鴻老師,她對我進行了無私的指導和幫助,不厭其煩的幫助進行論文的修改和改進。另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導過我的各位老師表示最中心的感謝!感謝這篇論文所涉及到的各位學者,如果沒有各位學者的研究成果的幫助和啟發,我將很難完成本篇論文的寫作。感謝我的同學和朋友,在我寫論文的過程中給予我很多素材,還在論文的撰寫和排版等過程中提供熱情的幫助。由于我的學術水平有限,所寫論文難免有不足之處,懇請各位老師和學友批評和指正!

全文閱讀已結束,如果需要下載本文請點擊

下載此文檔
a.付費復制
付費獲得該文章復制權限
特價:5.99元 10元
微信掃碼支付
已付款請點這里
b.包月復制
付費后30天內不限量復制
特價:9.99元 10元
微信掃碼支付
已付款請點這里 聯系客服
主站蜘蛛池模板: 偷拍亚洲精品 | 欧美网站免费 | 国产午夜一区 | 亚洲第十页 | 欧美区在线观看 | 日韩精品成人在线 | 婷婷久久精品 | 美女内射毛片在线看免费人动物 | 亚洲一区欧洲一区 | 一区二区中文字幕 | 免费看污黄网站在线观看 | 91精品无人区卡一卡二卡三 | 狠狠色噜噜狠狠狠狠米奇7777 | 国产成人精品无码播放 | 99久久精品费精品国产一区二区 | 456av| 中文字幕 国产 | 国产区网址 | 中文字幕日韩二区一区田优 | 国产 日韩 欧美 精品 | 欧美一级视频 | 日韩午夜激情视频 | 亚洲熟妇少妇任你躁在线观看无码 | 99精品网 | 中国一级簧色带免费看 | 国产乱人伦真实精品视频 | 日日干综合 | xxxx日韩| 国产成人在线视频网站 | 精品在线一区 | 欧美精品一区二区久久 | 天海翼av在线 | 国产成年免费视频 | 99久久精品无码一区二区毛片 | 亚洲日本网站 | 国内少妇情人精品av | 日韩在线观看视频一区二区 | 国产嫩草影院在线观看88 | 福利一区二区在线观看 | 男人天堂网av| 精产品自偷自拍 | 色欲精品国产一区二区三区av | 老司机午夜精品 | 在线视频一二区 | 国产女主播喷出白浆视频 | 亚洲精品一区二区三区四区乱码 | 国产一级大黄 | 国产免费拔擦拔擦8x网址 | 国产一级淫片免费 | 精品国产自在精品国产精小说 | 亚洲国产影院av久久久久 | 日韩毛片免费无码无毒视频观看 | 色噜噜狠狠狠狠色综合久一 | 中文字幕在线亚洲精品 | 在线观看成人小视频 | 日本 在线| 国产精品成人影院在线观看 | 狠狠色婷婷丁香综合久久韩国 | av无码久久久久不卡网站下载 | 一个人看的www视频在线观看 | 你懂的网址国产欧美 | 日韩你懂的| 亚洲午夜精品久久久久久浪潮 | 久久有精品| 欧美色图激情小说 | 久久久久久三区 | 秋霞成人午夜鲁丝一区二区三区 | 久久精品福利 | 色无极亚洲影院 | 色99视频| 久久精品人妻无码一区二区三区 | 久久天天躁夜夜躁狠狠 | 在线观看午夜福利院视频 | 成人h猎奇视频网站 | 中文字幕人妻无码系列第三区 | 国产麻豆一区 | 午夜三级做爰视频在线看 | 成人免费大片黄在线播放 | 国产精品2018 | 日日夜夜狠狠爱 | 韩日av在线播放 | 最近的中文字幕在线看视频 | 3d动漫精品啪啪一区二区 | 在线免费激情视频 | 国产午夜精品视频免费不卡69堂 | 婷婷午夜| 欧美日韩一级二级三级 | 国产伦精品一区二区三 | 国产乱肥老妇女精品视频网站 | 性淫影院| 色妞欧美 | 欧美性受xxxx黑人xyx性爽 | 国产精品美女一区二区 | 欧洲精品久久 | 亚洲精品久久一区二区三区 | 综合久久久久 | 呦女精品 | 夜夜操狠狠操 | 国产丝袜美腿一区二区三区 | 2022av在线| 亚洲毛片一区二区三区 | 中文字幕专区 | 麻豆污视频| 日韩中文字幕亚洲精品欧美 | 天堂福利在线 | 毛片女人18片毛片点击进入 | 国产毛多水多高潮高清 | 少妇公车张开腿迎合巨大视频 | 国产一级做a爱片久久毛片a | 中文字幕日韩在线播放 | 男女无套免费视频网站动漫 | 国产内射老熟女aaaa∵ | 天干天干天啪啪夜爽爽av软件 | 亚洲中文字幕无码av | 爆操网站| 日本视频又叫又爽 | 男人天堂va | 九九视频在线播放 | 爱爱激情免费视频 | 亚洲羞羞| av午夜激情| 国产免费人做人爱午夜视频 | 在线观看国产亚洲 | 久久综合伊人 | 中文字字幕在线中文乱码范文 | 99精品国产99久久久久久97 | 丝袜福利视频 | 欧美国产日韩久久 | 日韩不卡高清 | gogo人体做爰aaaa| 成人a网 | 欧美一区自拍 | www.黄色小说.com | 国产欧美一区二区精品性色 | 超高清日韩aⅴ大片美女图片 | 亚洲深深色噜噜狠狠网站 | 久草高清视频 | 国产在线视频网站 | 就要干就要操 | 日本少妇丰满大bbb的小乳沟 | 激情综合亚洲色婷婷五月app | 最新欧美大片 | 国产精品久久久久久妇女 | 国产91精品一区二区麻豆网站 | 天堂av观看 | 四虎永久在线视频 | 亚洲精品久久久久久久蜜桃臀 | 网址你懂的在线 | 丁香社区五月天 | 在线精品自偷自拍无码 | aa视频网站 | 中文字幕在线视频免费视频 | 欧美牲交a免费 | 激情久久网站 | 三级a三级三级三级a十八发禁止 | 嫩草社区 | 男生看的污网站 | 亚洲欧洲精品一区二区三区不卡 | 91在线一区| 久久无码人妻丰满熟妇区毛片 | 97人伦色伦成人免费视频 | 国产成人无码av一区二区在线观看 | av亚洲午夜网站福利天堂 | 欧美亚洲一区二区三区 | 日韩一区二区三区无码影院 | 黑人巨大国产9丨视频 | 日本一级淫片 | 亚洲男人最新版本天堂 | 国产99对白在线播放 | 国产一区二区三区乱码 | 日本www高清 | 最新中文av | 欧美真人性野外做爰 | 无限看片在线版免费视频大全 | 无套内谢少妇毛片 | 97人人模人人爽人人喊网 | 亚洲自拍激情 | 中文字幕乱人伦高清视频 | 日本一区二区免费在线观看 | 日韩在线视频在线 | 夜夜高潮夜夜爽精品视频 | 成人毛片观看 | 亚洲精品国产综合 | 久草综合在线 | 特级黄色毛片视频片子 | 亚洲伊人久久大香线蕉综合图片 | 国内精自线一二三四在线看 | 国产91免费| 亚洲综合一区在线 | 天天色综 | 久久精品色| av资源在线看 | 欧美综合另类 | 亚洲视频h | 免费特黄视频 | 天天草比 | 一区二区三区四区中文字幕 | 精品国产一区二区三区麻豆仙踪林 | 性色av一区二区三区咪爱四虎 | 天天躁夜夜躁狠狠躁2021牛牛 | 图片区偷拍区小说区 | 在线日韩欧美 | 91精品国产综合久久久久影院不卡 | 一区二区三区视频免费看 | 成人黄色免费观看 | 一边吃奶一边做爰爽到爆视频 | 男女啪啪猛烈无遮挡猛进猛出 | 佐佐木希av一区二区三区 | 成人片免费视频 | 岛国免费的毛片 | 国产精品久久久久久久免费软件 | 狠狠草视频 | 国产激情艳情在线看视频 | 91调教视频 | 精品视频免费看 | 亚洲韩国精品无码一区二区三区 | 女女同恋一区二区在线观看 | 国产精品国产 | 国产精品熟妇视频国产偷人 | 国产一区二区三区成人欧美日韩在线观看 | 两个人日本www免费版 | 国产成人高潮免费观看精品 | www夜夜爽| 国产精品国产三级国产专播精品人 | 日本国产三级xxxxxx | 国产欧美精品一区二区三区-老狼 | 天天色天天综合 | 国产aa视频 | 国产视频入口 | 欧美 日韩 国产 精品 | 精品剧情v国产在线观看 | 正在播放国产真实哭都没用 | 91干干干 | 污视频免费在线 | 第四色成人网 | 东京一木一道一二三区 | 91极品在线 | 日韩国产欧美一区二区三区 | 黄色网av| 夜色资源网 | 国产精品无码午夜福利 | 乳罩脱了喂男人吃奶视频 | 久久伊人热 | 午夜视频91| 国产精品免费入口 | 脱岳裙子从后面挺进去在线观看 | 国产日韩久久久久 | 国产成人av综合色 | 在线日韩精品视频 | 亚洲日批 | 精品美女在线 | 日本免费一区视频 | 精品国产一区av天美传媒 | 亚洲理论影院 | 91中文字幕永久在线 | 91亚洲精品久久久蜜桃借种 | 91精品国产综合久久小仙女图片 | 国产乱子伦在线观看 | 大黄毛片| 国产激情a| 黄色网战大全 | 色人阁视频 | 亚洲精品12p| 日本免费在线观看视频 | av不卡一区 | 黄色片中文字幕 | 久久久久久久免费 | 亚洲精品肉丝少妇在线 | 日本人妻丰满熟妇久久久久久 | 久久影院中文字幕 | 国产精品特级毛片一区二区三区 | 伊人网免费视频 | 国产精品国产三级国产av中文 | 丰满人妻熟妇乱又伦精品软件 | 国产精品久久久久久久久久了 | 大乳丰满人妻中文字幕日本 | 亚洲老妇交性506070 | 国产视频在线观看一区 | vvvv88亚洲精品欧美精品 | 日本在线有码 | 激情文学欧美 | 欧美v成 人在线观看 | 亚洲人亚洲人成电影网站色 | 成人免费视频国产免费网站 | 精品成人av一区二区三区 | 丰满少妇猛烈进人免费看高潮 | 爽妇网国产精品 | 亚洲综合免费视频 | 中文字幕第一页亚洲 | 国产精品成人av在线观看春天 | 亚洲人成色777777精品音频 | 精品国产99久久久久久宅男i | 高h肉辣民工文 | 国产乱色国产精品播放视频 | 亚洲裸男gv网站 | 免费成人黄色 | 波多野结衣一区二区三区中文字幕 | 国产xxxx搡xxxxx搡麻豆 | 日韩一区国产二区欧美三区 | 久久大陆 | 毛片网特黄 | 国产精品久久久久久2021 | 中国少妇xxxx做受视频 | 无遮无挡爽爽免费毛片 | 91久久国产综合久久91 | 97人妻精品一区二区三区 | 人妻人人做人做人人爱 | 人妻精品久久无码区 | 精品久久久久久久久久久久久久久久久 | 韩国一区二区视频 | 欧美嫩草影院 | 女人高潮av国产伦理剧 | 欧美人与性动交α欧美精品 | 国产精品久久久久久久久福交 | 男人午夜天堂 | 一二三区毛片 | 97夜夜澡人人爽人人 | 性色生活片 | 久久久久久久久久久爱 | 红桃视频国产精品 | 无遮挡啪啪成人免费网站 | 深夜在线视频 | 一级美女大片 | 青青青免费视频在线 | 强行挺进皇后紧窄湿润小说 | 夜夜爽爽 | 久久久久无码国产精品不卡 | 一级全黄色毛片 | 俄罗斯伦理精品a级 | wwwyoujizz日本| 夜鲁夜鲁狠鲁天天在线 | 中文日产乱幕九区无线码 | 无码人妻视频一区二区三区 | 亚欧在线高清专区 | 国产精品视频不卡 | 久久亚洲国产精品日日av夜夜 | 国产18禁黄网站免费观看 | 色播国产 | 97爱爱| 国产无套护士在线观看 | 全部免费毛片在线播放一个 | 波多野结衣黄色 | 一本大道香一蕉久 | 成人免费a级片 | 国产精品人人爽人人爽av | 无码精品一区二区三区免费视频 | 国产最爽乱淫视频国语对白 | 女同互慰高潮呻吟免费播放 | 国产sm主人调教女m视频 | 欲色视频 | 麻豆一区二区三区在线观看 | 国产精品视频一区二区免费不卡 | 国产激情一区 | 国产男男无套激情11069 | 潘金莲性生交大片免费看图片 | 99精品久久精品一区二区 | 99久久99久久免费精品蜜臀 | 色翁荡息又大又硬又粗视频 | 人人草视频在线观看 | 人人妻人人澡人人爽欧美一区九九 | 免费三级av | 成年人晚上看的视频 | 亚洲一区二区三区精品动漫 | 五月激情综合婷婷 | 公乱妇hd在线播放bd | 亚洲日韩在线观看免费视频 | 奇米影视久久久 | 亚洲va欧美va人人爽 | 特大巨黑吊xxxx高潮 | 丝袜美腿亚洲一区二区 | 久久综合久久88 | 日本三级理论久久人妻电影 | 日韩中文幕| 国产欧美一区二区久久性色99 | 午夜成人亚洲理伦片在线观看 | 亚洲精品久久久久国产 | www.成人av.com| 日韩中文字幕久久 | 91精品国产欧美一区二区 | 成人免费网视频 | 亚洲国产精品久久网午夜 | 色老99久久九九爱精品 | 天天天欲色欲色www免费 | 午夜a级片 | 涩涩网站入口 | 一本到综在合线伊人 | 国产成人毛片在线视频 | 精品免费二区三区三区高中清不卡 | h动漫一区二区 | 亚洲一区二区自拍 | 性折磨bdsm欧美激情另类 | 女性无套免费网站在线看 | 国产卡一卡二卡三无线乱码新区 | www国产精品内射老熟女 | 亚洲精品成人在线视频 | 成 人 网 站国产免费观看 | 黑人极品videos精品欧美裸 | 亚洲欧美日韩国产精品一区二区 | 欧美性开放视频 | 久久国产加勒比精品无码 | 欧美国产片 | 欧美成人伊人 | 亚洲国产精品国自产拍av秋霞 | 久久99精品久久久久久秒播放器 | xxx毛片| 中文字幕一区二区三区又粗 | 日韩人妻无码一区二区三区久久 | 羞羞麻豆国产精品1区2区3区 | 成人免费看www网址入口 | 狠狠色噜噜狠狠狠四色米奇 | 国产成人综合久久 | 亚洲人成伊人成综合网小说 | 男女视频一区二区三区 | 亚洲黄色在线网站 | 国产精品免费麻豆入口 | 可以免费看的黄色 | 二区三区偷拍浴室洗澡视频 | 毛片免费全部无码播放 | 日本一区二区在线免费观看 | 18禁真人抽搐一进一出动态图 | www成人在线观看 | 精品中文字幕在线 | 五月婷婷激情网 | 成人看片17ccom| 成品人片a91观看入口888 | 国产高清在线精品一区二区三区 | 日本视频网址 | 日本乱码一区二区三区芒果 | 欧美精品久久久久久久多人混战 | 香港三级日本三级三69 | 黑人巨大无码中文字幕无码 | 欧美亚洲黄色片 | 国语自产精品视频在线看 | 一级一级黄色片 | 欧美资源在线观看 | 免费色播 | 五月婷婷久久综合 | 噼里啪啦在线看免费观看视频 | 免费看又黄又无码的网站 | 亚精区在二线三线区别99 | 男女羞羞视频软件 | 国产精品久久国产三级国不卡顿 | 色偷偷88888欧美精品久久久 | 蜜乳av国精产品一二三产区 | 国产午夜精品久久久 | 精品动漫av | 婷婷色中文字幕综合在线 | 久久免费视频播放 | 精品国产一区二区三区久久 | 97超碰色 | 欧洲成人在线 | 国产精品九色 | 97自拍视频 | 40岁干柴烈火少妇高潮不断 | 日韩专区第一页 | 在线免费观看午夜视频8 | 一起草av在线 | 国产大片中文字幕 | 狠狠色狠狠色很很综合很久久 | 人妻在线日韩免费视频 | 午夜一区二区三区四区 | 日韩精品一区二区三区不卡 | 欧美成人免费高清视频 | 欧美性猛交xxx乱大交3蜜桃 | 天天在线免费视频 | 国产69精品久久久久久 | 国产一区亚洲二区三区 | 插一插射一射视频 | 国产成人无码www免费视频播放 | 中文字幕在线视频免费视频 | 中文字幕一区二区三区精彩视频 | 久久网站av| 久久国产加勒比精品无码 | 樱花草在线播放免费中文 | 久久99精品国产麻豆蜜芽 | 无码福利日韩神码福利片 | 国产精品成人免费视频一区二区 | 鲁大师在线视频播放免费观看 | 97久久超碰国产精品2021 | 初尝情欲h名器av | 性色av一区二区三区 | 亚洲欧美日韩国产精品一区午夜 | 午夜精品一区二区三区在线播放 | 女性向av片在线观看免费 | 女性向小h片资源在线观看 女性隐私黄www网站视频 | 久热国产精品视频一区二区三区 | 天堂久久精品忘忧草 | 天天噜天天干 | 成人av网站免费观看 | 亚洲福利精品 | 色爱亚洲 | 好吊妞无缓冲视频观看 | 日本在线看片免费人成视频 | 熟妇人妻无乱码中文字幕真矢织江 | 国产精品久久久久亚洲影视 | 人妻无码久久精品 | av在线资源 | 久久久国产网站 | 亚洲一区二区三区高清av | 欧美成人久久久免费播放 | 狠狠噜天天噜日日噜 | 日本欧美黄色 | 天堂中文在线资 | 92看看福利1000集合集免费 | 性做爰视频免费播放大全 | 成人精品视频一区二区三区尤物 | 日本国产在线 | 久久午夜免费观看 | 日本三级在线 | 91啦丨九色丨刺激 | 免费观看v片3738cc | 欧洲熟妇色xxxxx欧美老妇伦 | 另类图片亚洲色图 | 国产成人艳妇aa视频在线 | 亚洲日本aⅴ片在线观看香蕉 | 岛国av动作片 | 国产偷国产偷亚洲清高app | 国产欧美视频一区二区 | 中文无码精品一区二区三区 | www.com黄色| 法国伦理少妇愉情 | 中文字幕免费播放 | 中日韩无砖码一线二线 | 超碰在线免费播放 | 亚洲图片欧美色图 | 久久久久香蕉 | 国产91一区 | 色妞av| 大陆明星乱淫(高h)小说 | 一区二区三区观看 | 极品美女一线天粉嫩 | 二区三区偷拍浴室洗澡视频 | 色哟哟国产精品免费观看 | 欧美人与动欧交视频 | 日本护士毛茸茸 | 国产第一精品 | 亚洲 欧美日韩 综合 国产 | 欧美老肥婆性猛交视频 | 色图视频| 玖玖热麻豆国产精品图片 | 精品国产第一国产综合精品 | 97无码免费人妻超级碰碰夜夜 | 深夜福利免费在线观看 | 公乱妇hd在线播放bd | 99热99精品| 最新日韩视频 | 欧洲少妇性喷潮 | 欧美精品一区二 | 在线不卡一区 | 日本免费一区二区三区视频观看 | 免费成人在线看 | 亚洲欧美中文字幕在线一区 | 色哟哟一区二区三区 | 日本xxxxx高清| 国产高清在线a视频大全 | 天堂av资源在线观看 | 国产精品高潮呻吟av久久4虎 | 亚洲综合伊人久久 | 国产精品视频一区二区三区无码 | 色久在线| 久久精品国产欧美日韩 | 岛国片在线播放97 | 伊人影院久久 | 神马午夜51 | 在线免费观看日韩 | 极品尤物魔鬼身材啪啪仙踪林 | 亚洲情综合五月天 | 国产免费无码一区二区三区 | 成人婷婷网色偷偷亚洲男人的天堂 | 欧美亚一区二区 | 国内精品人妻无码久久久影院导航 | 欧美日韩在线看 | 黄色一级一片 | 欧美老妇与zozoz0交 | 亚洲手机视频 | 一级理论片 | 亚洲精品在线观看免费 | 男女性网站 | 近伦中文字幕 | 麻豆国产人妻欲求不满 | 久久久精品欧美一区二区 | 制服丝袜一区二区三区 | 成人精品少妇免费啪啪18 | 88国产精品久久现线拍久青草 | 在线观看av网站永久 | 亚洲成av人影院在线观看 | 舌吻激情大尺度做爰视频 | 在线观看亚洲一区 | 波多野结衣办公室33分钟 | 国产91精品久久久久久久网曝门 | 欧美在线视频免费播放 | 亚洲色欲色欲www在线丝 | 99成人在线 | 亚洲在线一区二区 | 女人浣肠av大片 | 中文字幕在线视频免费视频 | 亚洲综合激情在线 | 成人在线91| 五月丁香综合缴情六月小说 | 18女下面流水不遮图 | 国产精品天干天干在线 | 国产一区二区三区在线观看免费 | 强制高潮18xxxx国语对白 | 欧美日韩a级| 全国最大色 | 韩欧美精品 | 国产成人精品午夜2022 | 国产两女互慰高潮视频在线观看 | jzzjzzjzz日本丰满少妇 | 欧美成人一级 | 欧美精品一区二区三区蜜桃视频 | 亚洲一区成人在线 | 在线观看污 | 精品水蜜桃久久久久久久 | 久久久久久不卡 |