国产精品色无码视频,国产av毛片影院精品资源,亚洲人成网站77777·c0m,囯产av无码片毛片一级,夜夜操www99视频,美女白嫩胸交在线观看,亚洲a毛片性生活

薈聚奇文、博采眾長、見賢思齊
當(dāng)前位置:公文素材庫 > 報告體會 > 工作報告 > C語言實訓(xùn)報告

C語言實訓(xùn)報告

網(wǎng)站:公文素材庫 | 時間:2019-05-29 15:26:31 | 移動端:C語言實訓(xùn)報告

C語言實訓(xùn)報告

廣東交通職業(yè)技術(shù)學(xué)院

C語言實訓(xùn)報告

信息111班潘康樂44號

一、實訓(xùn)要求

1、實訓(xùn)目的

《言程序設(shè)計課程實訓(xùn)是三年制高職計算機應(yīng)用技術(shù)、計算機網(wǎng)絡(luò)技術(shù)、軟件技術(shù)專業(yè)的重要的實訓(xùn)環(huán)節(jié)之一。教育目標是在學(xué)生學(xué)習(xí)了C語言程序設(shè)計的基本知識、基本理論的基礎(chǔ)上,通過綜合實訓(xùn),培養(yǎng)學(xué)生的動手能力,培養(yǎng)學(xué)生學(xué)習(xí)新知識的能力,提高學(xué)生分析問題和解決問題的綜合能力,培養(yǎng)學(xué)生的團隊合作精神,為今后從事專業(yè)工作打下必要的基礎(chǔ)。

課程設(shè)計應(yīng)強調(diào)以能力培養(yǎng)為主,在獨立完成設(shè)計任務(wù)同時注意多方面能力的培養(yǎng)與提高,主要包括以下方面:

1.獨立工作能力和創(chuàng)造力。

2.綜合運用專業(yè)及基礎(chǔ)知識,解決實際工程技術(shù)問題的能力。3.查閱圖書資料、產(chǎn)品手冊和各種工具書的能力。4.C語言編程能力。

5.寫技術(shù)報告和編制技術(shù)資料的能力。

2、內(nèi)容及要求

在已經(jīng)學(xué)過的C語言基礎(chǔ)上學(xué)習(xí)數(shù)組和函數(shù)兩內(nèi)容,并結(jié)合LED屏實現(xiàn)LED屏的動態(tài)顯示和繪圖等操作。

二、實訓(xùn)的詳細內(nèi)容

1、點亮32*32的點陣屏上的任意一點

使用“DrawPoint(x,y,COLOR_RD,ON

)”就可以了,其中的x,y分別對應(yīng)橫縱坐標。廣東交通職業(yè)技術(shù)學(xué)院

2,在屏幕上按次序顯示4個漢字

這時我要用到字摸提取工具,由于我是第一次使用字模工具,所以在字模提取軟件的設(shè)置還不了解,在隨后的使用中我發(fā)現(xiàn)屏幕上沒有出現(xiàn)漢字,而是全屏的亂點。在之后老師的講解中我了解到原來是我們的師兄在制作32*32的點陣顯示屏的點陣排序出了點錯,我更改了字模軟件的設(shè)置之后屏幕顯示出字來了。

下面是顯示“胖胖最帥”四個字的程序全部代碼:

#include"SysInit.h"

#include"LED_Screen.h"

Unsignedcharxdataddata1[16][2]=

{0x00,0x02,0x3C,0x02,0x64,0x12,0xA4,0x32,0xA4,0x0A,0x3C,0x02,0xE4,0x3F,0x24,0x02,

0x3C,0x02,0x24,0x02,0xE4,0x7F,0x24,0x02,0x22,0x02,0x22,0x02,0x2A,0x02,0x11,0x02};

unsignedcharxdataddata2[16][2]=

{0x00,0x02,0x3C,0x02,0x64,0x12,0xA4,0x32,0xA4,0x0A,0x3C,0x02,0xE4,0x3F,0x24,0x02,

0x3C,0x02,0x24,0x02,0xE4,0x7F,0x24,0x02,0x22,0x02,0x22,0x02,0x2A,0x02,0x11,0x02};

unsignedcharxdataddata3[16][2]=

{0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x00,0x00,0xFF,0x7F,0x44,0x00,

0x7C,0x3F,0x44,0x11,0x7C,0x0A,0xC4,0x04,0x7C,0x0A,0x47,0x71,0xC0,0x20,0x40,0x00};

unsignedcharxdataddata4[16][2]=

{0x10,0x04,0x10,0x04,0x10,0x04,0xD2,0x7F,0x52,0x44,0x52,0x44,0x52,0x44,0x52,0x44,廣東交通職業(yè)技術(shù)學(xué)院

0x52,0x44,0x52,0x44,0x52,0x44,0x48,0x74,0x48,0x24,0x04,0x04,0x02,0x04,0x01,0x04};voidmain(void){unsignedcharx,y;sys_init();}

Delay(1000);

for(y=0;y廣東交通職業(yè)技術(shù)學(xué)院

0x00,0xF0,0x1E,0x00,0x00,0xF0,0x1E,0x00,0x00,0x78,0x3C,0x00,0x00,0x78,0x00,0x00,0x00,0x38,0xE0,0x01,0x00,0x3C,0x10,0x03,0x00,0x1C,0x10,0x02,0x00,0x1E,0x08,0x06,0x00,0x1E,0x18,0x06,0x00,0x0F,0x10,0x07,0x00,0x0F,0xB0,0x03,0x80,0x87,0xF7,0x03,0x80,0x07,0x1E,0x00,0xC0,0x03,0x78,0x00,0xC0,0x03,0xF0,0x01,0xC0,0x01,0xE0,0x03,0xE0,0x01,0xC0,0x07,0xF0,0x01,0x80,0x0F,0xF0,0x00,0x00,0x1F,0xF0,0xFF,0xFF,0x1F,0xF0,0xFF,0xFF,0x1F,0xF8,0xFF,0xFF,0x3F,0xF8,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00};

//*******************************************************************************//

voidmain(void){unsignedcharx,y;sys_init();

Delay(1000);

for(y=0;y廣東交通職業(yè)技術(shù)學(xué)院

};

unsignedcharxdataddata3[16][2]=

{0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x00,0x00,0xFF,0x7F,0x44,0x00,

0x7C,0x3F,0x44,0x11,0x7C,0x0A,0xC4,0x04,0x7C,0x0A,0x47,0x71,0xC0,0x20,0x40,0x00};

unsignedcharxdataddata4[16][2]=

{0x10,0x04,0x10,0x04,0x10,0x04,0xD2,0x7F,0x52,0x44,0x52,0x44,0x52,0x44,0x52,0x44,

0x52,0x44,0x52,0x44,0x52,0x44,0x48,0x74,0x48,0x24,0x04,0x04,0x02,0x04,0x01,0x04};

voidmain(void)

{unsignedcharx,y;sys_init();}

for(y=0;y

擴展閱讀:C語言實訓(xùn)報告

《C語言程序設(shè)計》實訓(xùn)報告

課題名稱:通訊錄管理系統(tǒng)

專業(yè):計算機信息管理班級:09信管(1)班學(xué)號:姓名:指導(dǎo)教師:

201*年7月1日

目錄

1課程設(shè)計目的12課程設(shè)計題目13課程設(shè)計報告內(nèi)容14結(jié)論105結(jié)束語106參考書目107程序運行108附錄:(源程序清單)實訓(xùn)報告

一、課程設(shè)計題目

《通訊錄管理系統(tǒng)》

二、實訓(xùn)目的

(1)掌握結(jié)構(gòu)化程序設(shè)計的基本方法,基本掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法。(2)掌握C的基本概念和基礎(chǔ)知識。

(3)通過訓(xùn)練能夠讀懂較為復(fù)雜的C語言源程序并具備基本C語言程序設(shè)計的能力。(4)熟練掌握各種常用類的定義,繼承,文件的應(yīng)用,為更好的理解面向?qū)ο蟠蛳赂玫幕A(chǔ)。

(5)通過實訓(xùn),培養(yǎng)自己編寫、調(diào)試、分析大型應(yīng)用程序的能力。(6)掌握面向?qū)ο蟮幕驹,提高學(xué)生綜合程序設(shè)計的能力。

(7)培養(yǎng)自己獨立解決問題,查找資料的能力。同學(xué)之間相互幫助,相互交流,相互合作的團隊精神。

(8)培養(yǎng)自己良好的學(xué)習(xí)興趣,獨立的編程風(fēng)格。

(9)通過實訓(xùn)檢查自己學(xué)習(xí)上的不足,達到熟練掌握C語言的基本知識和技能。

三、課程設(shè)計報告內(nèi)容

3.1功能要求

該系統(tǒng)運行在DOS環(huán)境下,人機界面為命令行文本界面。完成的任務(wù)是對若干人的通信錄信息進行管理,且數(shù)據(jù)保存到文件中。實現(xiàn)的主要功能是:

添加:增加一個或幾個人的通信錄信息。刪除:刪除已輸入的通信錄信息。查詢:根據(jù)輸入的姓名查找通信錄信息。修改:根據(jù)輸入的姓名修改通信錄信息。顯示:輸出所有通信錄信息。3.2設(shè)計環(huán)境

所使用的語言采用標準C,開發(fā)工具選用在Windows環(huán)境下的C-free、Win-TC或者VisualC++6.0。3.3數(shù)據(jù)結(jié)構(gòu)

實訓(xùn)報告

本系統(tǒng)是對通信錄的信息進行管理,通信錄記錄的信息采用C的結(jié)構(gòu)體數(shù)據(jù)類型描述,定義如下:

structren/*定義個人資料結(jié)構(gòu)體類型*/{

charname[10];/*姓名*/intage;/*年齡*/chartel[12];/*電話號碼*/charcity[20];/*城市*/charunits[30];/*所在單位*/charnote[20];/*備注*/};

3.4實現(xiàn)方法及主要算法分析

(1)主界面的設(shè)計:主界面采用文本菜單的形式,各功能調(diào)用通過菜單進行選擇。采用循環(huán)處理,以便執(zhí)行完某項處理后,仍可選擇其他項處理。在循環(huán)內(nèi)先顯示提示信息,然后讀取用戶輸入,使用switch語句對用戶的輸入進行判斷,分別調(diào)用相應(yīng)的模塊,當(dāng)某模塊結(jié)束后再次回到文本菜單,直到用戶選擇結(jié)束程序菜單,才退出循環(huán),從而退出系統(tǒng)。(2)外部文件的類型:文件采用的二進制的文件,對文件的讀寫采用順序文件的方式,并使用fread和fwrite等函數(shù)對文件進行操作。

(3)清屏函數(shù):一般由上一級菜單屏幕進入下一級菜單屏幕或由下一級菜單屏幕返回上一級菜單屏幕都需要清除屏幕原來顯示的內(nèi)容。同時在調(diào)用程序的過程中,記錄需要清屏的位置,然后修改代碼,加入clrscr()函數(shù)清屏。

(4)提示信息:一般的輸入與輸出需有相應(yīng)的提示信息,以增加用戶的交互性,增加輸出的可讀性,以幫助用戶使用程序。

(5)設(shè)置顏色:textbackground()、textcolor()函數(shù)設(shè)置背景和前景顏色(6)光標定位:gotoxy(列,行);光標定位

實訓(xùn)報告

3.5模塊設(shè)計

根據(jù)功能要求,本系統(tǒng)為五大主要模塊,具體模塊如表所示。

表通訊錄管理管理系統(tǒng)的模塊

main()add()del()edit()search()display()pause()pause2()load_rec()search_name()search_city()

3.6處理流程

-3-

主控函數(shù)增加個人資料刪除個人資料修改個人資料查找個人資料主函數(shù)瀏覽所有信息等待"Y"、"y"、"n"、‘Y’鍵輸入等待任意鍵輸入統(tǒng)計記錄數(shù)按姓名查找個人資料按城市查找個人資料實訓(xùn)報告

(1)通訊錄主界面模塊

開始清屏顯示菜單輸入選項至select增加記錄刪除記錄修改記錄顯示所有記錄查找記錄結(jié)束

(2)增加記錄模塊(3)顯示記錄模塊

實訓(xùn)報告

開始函數(shù)清屏提示輸入輸入通信錄數(shù)據(jù)打開數(shù)據(jù)文件移動指針到文件尾部將所輸出數(shù)據(jù)寫到文件關(guān)閉文件是否繼續(xù)返回

(4)刪除記錄

開始函數(shù)清屏打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件顯示ren中所有記錄返回-5-

實訓(xùn)報告

開始函數(shù)清屏提示輸入姓名輸入姓名打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件在數(shù)組ren中搜索姓名相同的字段

(5)修改記錄

-6-

查找到?顯示該記錄刪除?刪除該記錄打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件返回實訓(xùn)報告

開始函數(shù)清屏提示輸入姓名輸入姓名打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件在數(shù)組ren中搜索姓名相同的字段

-7-

查找到?顯示該記錄修改?修改該記錄打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件返回實訓(xùn)報告

(6)查找主模塊開始函數(shù)清屏顯示菜單輸入選項至按姓名查找按城市查找返回(7)按姓名查找,按城市查找開始函數(shù)開始函數(shù)清屏提示輸入姓名清屏提示輸入城市輸入姓名打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中輸入城市打開數(shù)據(jù)文件將所有記錄讀入到數(shù)組ren中關(guān)閉文件在數(shù)組ren中搜索姓名相同的字段并顯示關(guān)閉文件在數(shù)組ren中搜索城市相同的字段并顯示返回返回

實訓(xùn)報告

四、結(jié)論

通信錄管理系統(tǒng)的編寫,看似雜亂無頭緒,實際上卻并不如此。它的每一個功能都能分成模塊,有句話說的好,大事化小,小事化了。C語言編程也正式如此,把一個大的程序分為若干相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,這樣不僅降低了難度還使得思路清晰,很容易編寫出要做的程序,從而為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。

分析問題:

通訊錄管理的整體功能都包括登陸限制、增加成員、刪除成員、查看成員、修改成員、登陸口令五大板塊,而查看有包括姓名查看,城市查看,年齡查看三個模塊。

(1)設(shè)計的數(shù)據(jù)對象包括整形:年齡。字符型:姓名、電話、城市、所在單位、備注。(2)數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu),定義人數(shù)上限為100.

算法的設(shè)計:(1)自頂向下

現(xiàn)有全局,在進行整體設(shè)計,然后再進行下層的設(shè)計,逐步實現(xiàn)精細化。采用這種方法能夠做到胸有全局,能全盤考慮,不至于顧此失彼,頭重腳輕。(2)逐步細化

一步步地將上層的任務(wù)分解成較小的、易于實現(xiàn)的任務(wù),知道可以很簡單實現(xiàn)為止。

編寫源程序:

(1)不求速度,但求質(zhì)量!一步一個腳印,編寫程序時候?qū)幙伤俣嚷┮惨M量保證質(zhì)

量,做到盡量不出錯。

(2)精力集中,全神貫注!寫程序時候最忌諱三心二意,這樣才能思路清晰保證質(zhì)量。(3)保持一個良好的編程心態(tài),不要被長長的代碼嚇到,更不要厭煩,既然同樣都是寫,

為什么不仲滿激情的去寫那?程序的編譯與運行:

(1)查找錯誤是一件讓人鬧心的事,但是要注重技巧,注意平時經(jīng)驗的積累。才能在

最快的時間找出錯誤

(2)用心去查找,也許你會發(fā)現(xiàn)錯誤并不是很難找

(3)程序編譯成功不要滿足現(xiàn)狀,要積極測試程序的可用性,對功能不理想,存在缺

點的地方,積極的改進,完善。

實訓(xùn)報告

五、結(jié)束語

在實訓(xùn)過程中,使我良好的鍛煉了自己,首先是興趣方面,通過編寫通訊錄管理系統(tǒng)使我更加喜歡編程,使我從以前的迷茫狀態(tài)中解脫出來,使我了解了編程的真正意義。我想這對我以后的人生有著很大的幫助。其次通過編寫通訊錄管理系統(tǒng)使我對寫程序有了一定的思路,不像以前無從下手,使我理解了算法的意義,使我懂得了模塊化思想的好處。通過一個星期的編寫代碼,使我對書本上的知識有了更深的理解,甚至有很多不懂的問題在這過程中自然而然的理解了。對期末考試更有了信心。在方建文老師的悉心指導(dǎo)下,我對C語言有了更深刻的理解,對程序的算法,數(shù)據(jù)的定義,程序的改錯等方面的能力有了很大提高,自身的注意力,耐心,和對編程的興趣有了很大增長,使我獲益匪淺。

六、參考書目:

[1]周成義,湯德俊,鐘菊,《C語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)》,中國鐵道出版社,北京,201*年8月[2](美)克尼漢,(美)里奇著,徐寶文,李志譯,《C程序設(shè)計語言》,機械工業(yè)出版社201*年01月

七、程序運行

系統(tǒng)各個模塊運行調(diào)試,并附上運行結(jié)果截圖。

實訓(xùn)報告

實訓(xùn)報告

八、附錄:(源程序清單)

/*通訊錄程序*/

實訓(xùn)報告

#defineM100#include#include#includestructrecord{};

voidmodi_seq(structrecordinfo[],intn);voidcreat();voidappend();voiddisplay();voidlocate();voidmodify();voiddele();

voiddisp_arr(structrecord*,int);voiddisp_row(structrecord);voiddisp_table();

voidmodi_sep(structrecord[],int);voiddisp_str(char,int);

voidsort(structrecord[],int);

voidsort_name(structrecord[],int);voidsort_city(structrecord[],int);voiddele_name(structrecord[],int*);voiddele_sequ(structrecord[],int*);#includevoidmain(){

charname[20];intage;chartele[15];charcity[20];charunits[30];charnote[20];

charchoice;while(1){

printf("\\n\\n");disp_str("",18);

printf("通訊錄管理程序\\n");disp_str("*",50);putchar("\\n");disp_str("",16);

printf("1.通訊錄信息輸入\\n");disp_str("",16);

printf("2.顯示通訊錄信息\\n");disp_str("",16);

實訓(xùn)報告

printf("3.通訊錄記錄查詢\\n");

disp_str("",16);

printf("4.修改通訊錄信息\\n");disp_str("",16);printf("5.通訊錄記錄刪除\\n");disp_str("",16);printf("6.建立通訊錄文件\\n");disp_str("",16);

printf("7.退出通訊錄程序\\n");disp_str("*",50);putchar("\\n");disp_str("",14);

printf("請輸入代碼選擇(1~7)");choice=getchar();getchar();switch(choice){case"1":append();

break;

case"2":display();break;case"3":locate();break;

case"4":

modify();break;case"5":dele();break;case"6":creat();break;case"7":return1;default:continue;

}}}

voiddisp_str(charch,intn){inti;

for(i=1;i實訓(xùn)報告

printf("%c",ch);

return;

}

voidappend(){structrecordinfo[M];

FILE*fp;charask;

inti=0;

if((fp=fopen("address.txl","rb+wb"))==NULL){printf("can"topenfile!\\n");return;}

while(!feof(fp))fread(&info[i++],sizeof(structrecord),1,fp);while(1){

if(i==M){

printf("紀錄已滿!");break;

i--;

}

printf("\\n\\n");disp_str("",10);

printf("添加通訊錄信息(共有%d條記錄)\\n",i);disp_str("*",50);

putchar("\\n");disp_str("",17);

printf("1.添加新的通訊紀錄\\n");disp_str("",17);

printf("2.退出添加程序\\n");disp_str("*",50);

putchar("\\n");disp_str("",16);

printf("請輸入代碼選擇(1~2)");ask=getchar();getchar();if(ask=="2")break;

elseif(ask=="1"){

printf("開始添加新的紀錄信息:\\n");putchar("\\n");

printf("清輸入一下信息:\\n");printf("姓名:");

實訓(xùn)報告

}

gets(info[i].name);printf("\\n年齡:");scanf("%d",&info[i].age);getchar();

printf("\\n電話:");gets(info[i].tele);printf("\\n所在城市:");gets(info[i].city);printf("\\n所在單位:");gets(info[i].units);printf("\\n備注:");gets(info[i].note);i++;

fwrite(&info[i],sizeof(structrecord),1,fp);

}//while(1)fclose(fp);return;

}

voidcreat(){FILE*fp;

if((fp=fopen("address.txl","wb"))==NULL){printf("can"topenfile!\\n");return;}

fclose(fp);

printf("\\n\\n文件成功建立,請使用“通訊錄信息輸入功能”輸入信息!");getchar();return;

}

voiddisplay(){

structrecordinfo[M];FILE*fp;charask;inti=0;

if((fp=fopen("address.txl","rb"))==NULL){}

while(!feof(fp))fread(&info[i++],sizeof(structrecord),1,fp);i--;

-16-

printf("can"topenfile!\\n");

return;實訓(xùn)報告

while(1){printf("\\n\\n");disp_str("",10);

printf("顯示通訊錄信息(共有%d條記錄)\\n",i);disp_str("*",50);putchar("\\n");disp_str("",17);

printf("1.按自然順序顯示\\n");disp_str("",17);

printf("2.按排序順序顯示\\n");disp_str("",17);

printf("3.退出顯示程序\\n");disp_str("*",50);putchar("\\n");disp_str("",16);

printf("請輸入代碼選擇1-3");ask=getchar();getchar();if(ask=="3"){

fclose(fp);

return;}

elseif(ask=="1")

disp_arr(info,i);elseif(ask=="2")sort(info,i);}

fclose(fp);

return;

}

voiddisp_arr(structrecordinfo[],intn){charpress;inti;

for(i=0;i實訓(xùn)報告

}

disp_table();

printf("%-7d",i+1);disp_row(info[i]);if((i+1)%20==0){

printf("\\n");

disp_str("*",78);

printf("按回車鍵繼續(xù)顯示下屏,按其他鍵結(jié)束顯示!\\n");printf("請按鍵");press=getchar();}

disp_str("*",78);printf("\\n");

printf("按任意鍵繼續(xù)......");getchar();getchar();if(press!="\\n"){}}

break;

return;}

voiddisp_row(structrecordrow){

printf("%-12s%-12s%-15s%-16s%-4d%-s\\n",row.name,row.tele,row.city,row.units,row.age,row.note);return;}voidsort(structrecordinfo[],intn){

charask;while(1){

printf("\\n\\n");disp_str("",16);printf("通訊錄排序\\n");disp_str("*",50);putchar("\\n");disp_str("",17);

printf("1.按姓名排序\\n");disp_str("",17);

printf("2.按城市排序\\n");disp_str("",17);

實訓(xùn)報告

}

printf("3.返回上一層\\n");disp_str("*",50);

putchar("\\n");disp_str("",16);

printf("請輸入號碼選擇(1-3)");ask=getchar();getchar();if(ask=="3")

break;

elseif(ask=="1")sort_name(info,n);elseif(ask=="2")

sort_city(info,n);

}

return;

voidsort_name(structrecordinfo[],intn){

inti,j;

structrecordinfo_t[M],temp;

for(i=0;i實訓(xùn)報告

}}}

temp=info_t[j];info_t[j]=info_t[j+1];info_t[j+1]=temp;

disp_arr(info_t,n);return;

voiddisp_table(){printf("姓名");

disp_str("",8);printf("電話");disp_str("",8);printf("城市");disp_str("",12);printf("單位");disp_str("",10);printf("年齡");disp_str("",2);printf("備注\\n");return;

}

voidlocate(){

structrecordtemp,info[M];charask,name[20],city[20];

intn=0,i,flag;FILE*fp;

if((fp=fopen("address.txl","rb"))==NULL){

printf("can"topenfile!\\n");return;

}

while(fread(&temp,sizeof(structrecord),1,fp)==1)info[n++]=temp;while(1){

flag=0;

disp_str("",20);printf("查詢通訊錄\\n");disp_str("*",50);putchar("\\n");

disp_str("",17);

printf("1.按姓名查詢\\n");disp_str("",17);

實訓(xùn)報告

}}

printf("2.按城市查詢\\n");disp_str("",17);

printf("3.返回上一層\\n");disp_str("*",50);putchar("\\n");disp_str("",16);

printf("請輸入代碼選擇(1~3)");ask=getchar();getchar();if(ask=="1"){

printf("請輸入要查詢的姓名:");gets(name);

for(i=0;i實訓(xùn)報告

voidmodify(){

charask;structrecordtemp,info[M];FILE*fp;inti=0;

if((fp=fopen("address.txl","rb"))==NULL){}

printf("can"topenfile!\\n");return;

while(fread(&temp,sizeof(structrecord),1,fp)==1)

info[i++]=temp;while(1){}

disp_str("",20);

printf("編輯修改通訊錄\\n");disp_str("*",50);putchar("\\n");disp_str("",17);

printf("1.瀏覽顯示通訊錄\\n");disp_str("",17);

printf("2.編輯修改通訊錄\\n");disp_str("",17);

printf("3.返回上一層\\n");disp_str("*",50);putchar("\\n");

disp_str("",16);

printf("請輸入號碼選擇(1-3)");ask=getchar();getchar();if(ask=="3")break;

elseif(ask=="1")disp_arr(info,i);elseif(ask=="2")

modi_seq(info,i);

fclose(fp);

fp=fopen("address.txl","wb");

fwrite(info,sizeof(structrecord),i,fp);fclose(fp);return;

}

voidmodi_seq(structrecordinfo[],intn){

實訓(xùn)報告

}

intsequence;charask;

while(1){printf("請輸入序號:");scanf("%d",&sequence);

getchar();

if(sequencen){}

printf("當(dāng)前要修改的記錄信息:\\n");disp_table();

disp_row(info[sequence-1]);printf("請重新輸入以下的信息:\\n");printf("姓名:");

gets(info[sequence-1].name);printf("年齡:");

scanf("%d",&info[sequence-1].age);getchar();

printf("電話:");

gets(info[sequence-1].tele);printf("所在城市:");

gets(info[sequence-1].city);printf("所在單位:");

printf("序號超出范圍,請重新輸入!\\n");getchar();continue;

gets(info[sequence-1].units);printf("備注:");gets(info[sequence-1].note);printf("繼續(xù)修改請按y,否則按其他鍵......");}

ask=getchar();getchar();

if(ask!="y"&&ask!="Y")break;

return;

voiddele()

{

structrecordtemp,info[M];charask;

inti=0,lenth;

FILE*fp;if((fp=fopen("address.txl","rb"))==NULL)

{

實訓(xùn)報告

printf("can"topenfile!\\n");return;

}

while(fread(&temp,sizeof(structrecord),1,fp)==1)info[i++]=temp;lenth=i;while(1){

disp_str("",18);printf("記錄的刪除\\n");disp_str("*",50);

}{

putchar("\\n");disp_str("",17);

printf("1.按姓名刪除\\n");disp_str("",17);

printf("2.按序號刪除\\n");disp_str("",17);

printf("3.返回上一層\\n");disp_str("*",50);putchar("\\n");

disp_str("",14);

printf("請輸入號碼選擇(1-3)");ask=getchar();getchar();if(ask=="3")break;

elseif(ask=="1")dele_name(info,&i);elseif(ask=="2")dele_sequ(info,&i);if(lenth>i){}

fclose(fp);

fp=fopen("address.txl","wb");

fwrite(info,sizeof(structrecord),lenth-1,fp);fclose(fp);

fp=fopen("address.txl","rb");

}

fclose(fp);return;

voiddele_name(structrecordinfo[],int*n)

chard_name[20],sure;inti;

實訓(xùn)報告

}

printf("請輸入姓名:");gets(d_name);

getchar();

for(i=0;i實訓(xùn)報告

disp_row(info[d_sequence-1]);

printf("確定刪除-y,否則按其他鍵......");sure=getchar();getchar();

if(sure!="y"&&sure!="Y")return;for(i=d_sequence-1;i

友情提示:本文中關(guān)于《C語言實訓(xùn)報告》給出的范例僅供您參考拓展思維使用,C語言實訓(xùn)報告:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。


C語言實訓(xùn)報告》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請保留原作者信息,謝謝!
鏈接地址:http://www.hmlawpc.com/gongwen/713448.html