201*級水利工程測量實習指導書
水利工程測量學B教學實習指導書班級:指導教師:院系:時間:
測量實習指導書
1實習目的與要求
地形圖測繪是一門實踐性很強的課程,為進一步鞏固和深化課堂教學內容,培養(yǎng)學生運用所學測量學基本理論和基本技能解決實際問題的能力,加強基本功訓練,培養(yǎng)學生吃苦耐勞、團結協(xié)作的集體精神,根據教學計劃安排,于201*年7月1日~7月12日安排為期兩周的集中教學實習,其目的與要求為:
(1)熟練掌握常用測量儀器(水準儀、全站儀)的使用方法。(2)掌握圖根導線測量,普通水準測量的觀測方法和計算方法。(3)了解全站儀測圖的基本方法和測圖過程。
(4)掌握數(shù)字測圖的基本要求和成圖過程,掌握大比例尺數(shù)字測圖方法和數(shù)字成圖
軟件的使用。
2實習任務與計劃
1.圖根控制測量(包括選點、打樁、觀測和計算);2.1:500校園數(shù)字平面圖。
3.地形圖數(shù)字化實習內容實習動員、借領儀器、野外選點、打樁、水準儀i角檢驗時間安排任務及要求踏勘選點,做好實習前的準備工作;熟練經緯儀、水準儀及cass軟件的使用按技術要求完成圖根點的標定,并做好觀測前的準備工作,完成水平角觀測、垂直角觀測和距離及水準測量和圖根點的坐標及高程計算工作按要求完成數(shù)字測圖的全部工作利用所學軟件將外業(yè)采集的數(shù)據轉化為數(shù)字,按要求整理資料,并編寫實習報告,實習總結7.1圖根控制方案制定、及控制網觀測7.2~7.2大比例尺野外數(shù)字地形圖測繪7.3~7.10數(shù)字地形圖的室內繪制,資料整理7.11~7.12及上交、編寫實習報告,實習總結
3實習組織
實習組織工作由指導教師全面負責,擔任實習指導工作。分為12個實習小組,每組10人(其中一組11人),設組長1人,實行組長負責制,負責全組的實習分工和儀器管理。
4注意事項
(1)實習中,學生應嚴格遵守“測量儀器、工具的正確使用和維護要求”、“測量資料的記錄要求”以及有關實驗室規(guī)則。
(2)實習期間,小組組長應切實負責,合理安排小組工作,應使每一項工作都由小組成員輪流擔任,使每人都有練習的機會,切不可單獨追求實習進度。
(3)實習中,應加強團結。小組內、各組之間、各班之間都應團結協(xié)作,以保證實習任務的順利完成。
(4)實習期間,要特別注意測量儀器的安全,各組要指定專人妥善保管儀器、工具。每天出工和收工,都要按儀器清單清點儀器和工具數(shù)量,檢查儀器和工具是否完好無損。發(fā)現(xiàn)問題要及時向指導教師報告。
(5)測量儀器設備使用、維護與外業(yè)手簿紀錄之要求
①領取儀器時必須檢查:儀器箱蓋是否關妥、鎖好;背帶、提手是否牢固;腳架與儀器是否相配,腳架各部分是否完好,腳架腿伸縮處的連接螺旋是否滑絲。要防止因腳架未架牢而摔壞儀器,或因腳架不穩(wěn)而影響作業(yè)。
②打開儀器箱時應注意:儀器箱應平方在地面上或其它臺面上才能開箱,不要托在手
上或抱在懷里開箱,以免將儀器摔壞。開箱后未取出儀器前,要觀察儀器放置的位置和方向,以免用畢裝箱時因安放位置不正確而損壞儀器。嚴禁在儀器箱子或者三腳架上就坐。
③自箱內取出儀器應注意:無論何種儀器,在取出前一定要先放松制動螺旋,以免取出儀器時因強行扭轉而損壞制動裝置、微動裝置,甚至損壞儀軸系。自箱內取出時,應一手握住照準部支架,另一手扶住基座部分,輕拿輕放,不要用一只手抓儀器。自箱內取出儀器后,要隨即將儀器箱蓋好,以免沙土、雜草等不潔之物進入儀器箱。還應防止搬動儀器時丟失附件。取儀器及使用過程中,要注意避免觸摸儀器的物鏡、目鏡,以免玷污而影響成像質量。不允許用手指或手帕等擦儀器的目鏡、物鏡等光學部分。
④觀測員將儀器安置在腳架上時,一定要擰緊連接螺旋和腳架制緊螺旋,并由記錄員復查。否則,由此產生的儀器事故,由兩人分擔責任。在安置儀器時,特別是在對中、整平后以及遷站前,一定要檢查儀器與腳架的中心螺旋是否擰緊。觀測員必須始終守護在儀器旁,注意過往行人、車輛,防止儀器翻倒。若發(fā)生儀器事故,要及時向指導教師報告,不得隱瞞不報,嚴禁私自拆卸儀器。
(6)觀測數(shù)據必須直接記錄在規(guī)定的手簿中,不得用其它紙張記錄再行轉抄。嚴禁擦拭、涂改數(shù)據,嚴禁偽造成果。在完成一項測量工作后,要及時計算、整理有關資料并妥善保管好記錄手簿和計算成果。
(7)嚴格遵守實習紀律。在測站上不得嬉戲打鬧,工作中不看與實習無關的書籍和報紙。未經指導老師允許,不得缺勤、不得私自外出和游泳,否則后果自負。
5實習成績評定方法
(1)實習成績評定主要依據:
①實習期間的表現(xiàn),主要包括:出勤率、實習態(tài)度、遵守紀律情況、愛護儀器工具情況。
②操作技能,主要包括:對理論知識的掌握程度、使用儀器的熟練程度、作業(yè)程序是否符合規(guī)范要求等。
③手簿、計算成果和成圖質量,主要包括:手簿和各種計算表格是否完好無損,書寫是否工整清晰,手簿有無擦拭、涂改,數(shù)據計算是否正確,各項限差、較差、閉合差是否在規(guī)定范圍內。地形圖上各類地物、地形要素的精度及表示是否符合要求,文字說明注記是否規(guī)范等。
④實習報告,主要包括:實習報告的編寫格式和內容是否符合要求,編寫水平,分析問題、解決問題的能力及有無獨特見解等。
(2)在實習期間,學生如有下列情況,指導教師可視情節(jié)嚴重程度予以處理:
①實習中無論何種原因發(fā)生摔損儀器事故,其主要責任人的實習成績降1~2個檔次。②實習中凡違反實習紀律;缺勤天數(shù)超過實習天數(shù)的三分之一;發(fā)生打架事故;私自離校回家;未交成果資料和實習報告;抄襲成果資料和實習報告等,實習成績均為不及格。(3)必要時,實習指導教師可采用口試、筆試或儀器操作考核等方式進行成績評定。
6成果整理及實習報告編寫
(1)實習成果的整理
在實習過程中,所有外業(yè)觀測數(shù)據必修記錄在測量手簿上,如遇測錯、記錯或超限應按規(guī)定的方法改正;內業(yè)計算應在規(guī)定的表格上進行。實習結束時應對成果資料進行編號。(2)實習報告的編寫
實習報告是對整個實習的總結,編寫格式和內容如下:
①封面注明實習名稱、地點、起止時間、班級、組別、編寫人及指導教師姓名。②前言說明實習的目的、任務及要求。
③實習內容:實習項目、測區(qū)概況、作業(yè)方法,技術要求,計算成果及示意圖,本人完
成的工作及成果質量。7上交資料
各組應對完成的成果、資料按規(guī)范進行嚴格檢查。實習結束,應提交以下資料:1.每個小組應提交的成果(每樣一份):1).水準儀i角檢驗報告;
2).導線測量:導線測量手簿,導線略圖;
3).水準測量:水準測量手簿,水準路線略圖、水準測量平差計算表;4)本組野外采集的數(shù)據文件(總);
5)電子版圖*.dwg(總)和一幅加圖框圖50cm*50cm(一份)。2.小組每個人應提交下列資料(每個組員都要提交一份):1).導線計算表(要求每人假定一套起始數(shù)據,各不相同);2).視距測量觀測記錄表;3).實習報告1份。
8實習報告的編寫
實習結束后,每人應編寫一份實習報告,要求內容全面、概念正確、語句通順、文字簡練、書寫工整、插圖和數(shù)表清晰美觀,并按統(tǒng)一格式編號并裝訂成冊,與實習資料成果一起上交。要求用A4紙打印。
實習報告按以下提綱編寫:1.序言
實習(或作業(yè))名稱、目的、時間、地點;實習(或作業(yè))任務、范圍及組織情況等。2.測區(qū)概況
測區(qū)的地理位置、交通條件、居民、氣候、地形、地貌等概況,測區(qū)已有測繪成果及資料分析與利用情況、標石保存情況等。
3.平面控制網的布設及施測
簡要敘述平面控制網的布設及施測中的工作:平面控制網的布設方案及控制網略圖(在圖中標出各角的角度,各邊的距離);
4.高程控制網的布設及施測:高程控制網的布設方案及控制網略圖(在圖中標出各相鄰點的高差,距離)
5.實習成果。
6.實習中發(fā)生、發(fā)現(xiàn)的問題及處理情況。7.201*字的實習收獲,體會及建議(手寫)。8.附錄:數(shù)據文件。
擴展閱讀:201*級實習指導書
長江大學機械學院201*級《計算機上機實習》指導書
一.完成內容
每個學生須完成兩大題內容。第一大題為必作內容,第二、第三大題為選作內容,可從其中任選
擇一題。
二.實習要求
學生按規(guī)定的上機時間安排表上機,不得無故遲到、早退、曠課,上機時間內不做與實習無關的
內容。
三.實習報告要求
程序上機通過后,應編寫實習報告。實習報告應包括對題目的分析設計與說明、程序框圖、源程
序清單、原始數(shù)據及結果、程序有待改進的意見,對本次實習的意見與建儀、收獲等。要求實習報告為機算機打印稿。報告封面采用統(tǒng)一格式,見附一。
四.答辯
完成編程和實習報告后,每個學生還須通過答辯。答辯時由學生自己先講述4-5分鐘左右,內容包括:程序設計思路、程序結構介紹、程序運行演示等。然后問答指導教師提出的若干問題。指導教師根據學生實習階段的出勤、上機、程序及答辯的情況確定學生的實習成績。
《計算機上機實習》題目一學生成績管理
一.建立原始數(shù)據文件
1.用文字處理軟件(用記事本\\寫字板\\word\\tc,不能用excel)新建一個文本文件,將本班M名學生在本學期的N門課程成績錄入到這個文件中,按如下形式存放。要求:學生人數(shù)M不少于30人,課程門數(shù)N不小于5,姓名為本班的真實姓名。
學號姓名英語數(shù)學大學物理機械制圖C程序設計注:表頭可以不錄入
1張國慶7680858283
2王艷9190889275
3李小華5665706966
4王紅7888908576
5胡小明7888908576
......
2.將學生的基本信息按如下形式存入第二個文件中
學號姓名性別年齡職務注:表頭可以不錄入
1張國慶男19無
2王艷女20文體委員3李小華男20生活委員
4王紅女21團支書
5胡小明男19無
......
3.將本學期的N門課程及學分輸入到第三個文件中。形式如下:
編號課程名稱課程學分注:表頭可以不錄入1英語5.02數(shù)學5.0
3大學物理4.0
4機械制圖4.55C程序設計4.06上機實習2.0
二.編寫一個學生成績管理程序,要求完成以下功能
1.讀取原始數(shù)據文件的內容,計算每個學生的加權平均分(保留一位小數(shù),4舍5入),按平均分排名次,平均分相同則名次相同。創(chuàng)建一個數(shù)據文件(建議為:文本文件),存放班級的成績表,按下列式形存放。
學號姓名性別職務英語數(shù)學大學物理機械制圖C程序設計平均分名次
......
注:計算加權平均分的公式如下
加權平均分課程學分成績ii1Ni
課程學分ii1N2.分別統(tǒng)計全班每門課的平均分。計算各分數(shù)段(=90(優(yōu)秀)365......
80~89(良好)101112......
......
3.分別統(tǒng)計男生和女生每門課的平均分。結果存放在一個數(shù)據文件中
4.輸出所有存在不及格課程學生的名單,包括:學號、姓名、性別、不及格課程名稱、課程學分及成績。結果存放在一個數(shù)據文件中。
5.輸出優(yōu)秀學生名單,包括:學號、姓名、性別、名門課成績、平均分和名次。結果存放在一個數(shù)據文件中。優(yōu)秀學生的條件為:1.平均分≥902.名次在本班前3名
3.平均分≥85,并且至少有一門課的成績?yōu)?5分
4.平均分≥85,并且至少有二門課的成績?yōu)?ge;90分
6.輸出優(yōu)秀學生干部名單,包括:學號、姓名、性別、職務、名門課成績、平均分和名次。結果存放在一個數(shù)據文件中。優(yōu)秀學生的條件為:
1.平均分≥852.名次在本班前20%名
3.平均分≥80,并且至少有一門課的成績?yōu)?ge;95分
4.平均分≥80,并且至少有二門課的成績?yōu)?ge;90分
三.題目一的要求1.平均分≥90
2.名次在本班前3名
3.平均分≥85,并且至少有一門課的成績?yōu)?5分4.平均分≥85,并且至少有二門課的成績?yōu)?ge;90分
1.學生及課程數(shù)據的表示及文件讀寫
定義結構體數(shù)組表示全班學生的數(shù)據及課程的數(shù)據,結構體成員中包括學號、姓名、性別、職務成績等內容。為便于結果的顯示、檢查,建議文件讀寫時均采用“文本文件”方式。分別由fscanf()和fprintf()函數(shù)實現(xiàn)原始數(shù)據的讀入和計算結果的輸出。凡需輸出的內容,除按要求寫入文件外,均應同時在屏幕上顯示,以便觀察計算結果。
2.程序結構要求
為使程序結構清晰,要求將各大題中的所有小問題編成相應的函數(shù),由主函數(shù)通過“菜單”方式調用相應的函數(shù)。下面列舉一個簡易的兩級“菜單”的例子供參考。
#include"stdio.h"#include"conio.h"
voidmain()/*主菜單*/{charch1;
do{clrscr();/*清屏*/printf("\\n\\n\\n\\n\\n\\n\\n\\n\\n");printf("**************C語言程序設計上機實習\\n");printf("---------------------------------------------------\\n\\n");printf("1學生成績管理\\n\\n");printf("2破譯密碼\\n\\n");
printf("3顯示心形\\n\\n");
printf("4退出\\n\\n");printf("輸入選擇序號\\n");while((ch1=getchar(),ch1!="1"&&ch1!="2"&&ch1!="3"&&ch1!="4"));switch(ch1)
{case"1":section1();break;case"2":section2();break;
case"3":section3();break;
case"4":exit(0);}}while(1);}
section1()/*第1個2級菜單*/{charch21;
do{clrscr();printf("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n");printf("********************學生成績管理系統(tǒng)**********************\\n");printf("------------------------------------------------------------------------------------------------\\n\\n");printf("1.讀入原始數(shù)據并顯示2.計算平均分及名次\\n\\n");
printf("3.輸出課程平均分和各分數(shù)段人數(shù)4輸出男生和女生課程平均成績\\n\\n");
printf("5.統(tǒng)計不及格情況6.輸出優(yōu)秀學生\\n\\n");printf("7.輸出優(yōu)秀學生干部8.返回上級菜單\\n\\n");printf("輸入選擇序號\\n");
while((ch21=getchar(),ch21!="1"&&ch21!="2"&&ch21!="3"&&ch21!="4"&&ch21!="5"&&ch21!="6"
&&ch21!="7"&&ch21!="8"));
switch(ch21)
{case"1":function1_1();break;case"2":function1_2();break;case"3":function1_3();break;case"4":function1_4();break;case"5":function1_5();break;
case"6":function1_6();break;
case"7":function1_7();break;
case"8":return(0);}}while(1);}
section2()/*第2個2級菜單*/{charch22;
do{clrscr();printf("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n");printf("*****************破譯密碼****************\\n");printf("----------------------------------------------------------------\\n");printf("1.運行\(zhòng)\n\\n");printf("2.返回上級菜單\\n\\n");printf("輸入選擇序號\\n");while((ch22=getchar(),ch22!="1"&&ch22!="2""));switch(ch22)
{case"1":function2_1();break;ase"2":return(0);}}while(1);}
section3()/*第3個2級菜單*/{charch23;
do{clrscr();printf("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n");printf("*****************顯示心形****************\\n");printf("-------------------------------------------------\\n");printf("1.運行\(zhòng)\n\\n");printf("2.返回上級菜單\\n\\n");printf("輸入選擇序號\\n");while((ch23=getchar(),ch23!="1"&&ch23!="2");switch(ch23)
{case"1":function3_1();break;case"2":return(0);}}while(1);}
function1_1()
{printf("加入讀入原始數(shù)據并顯示的程序內容\\n");printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function1_2()
{printf("加入計算平均分及名次的程序內容\\n");printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function1_3()
{printf("加入計算課程平均分和分數(shù)段人數(shù)程序內容\\n");printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function1_4()
{printf("加入計算男生和女生課程平均成績程序內容\\n");printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function1_5()
{printf("加入統(tǒng)計不及格情況程序內容\\n");
printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function1_6()
{printf("加入輸出優(yōu)秀學生程序內容\\n");
printf("*********按Enter鍵繼續(xù)**********\\n");
getchar();getchar();}
function1_7()
{printf("加入輸出優(yōu)秀學生干部程序內容\\n");
printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function2_1()
{printf("加入破譯密碼的程序內容\\n");
printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
function3_1()
{printf("加入顯示心形的程序內容\\n");
printf("*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();}
題目二.破譯密碼
1.題目
有一個加密文件,它的密鑰是從100至200中的一個素數(shù),加密方法是每三個字母加上密鑰中對應的數(shù)字,超出26個大寫和小寫的字母范圍的減去26,空格和標點符號不加密。例如,假設密鑰為139,要加密的字符串為“Wearestudents”,第一個字母“W”加密為’W’+1=’X’,第二個字母加密后為’e’+3=’h’,第三個字母加密后為’a’+9=’j’,第四個字母加密后為’r’+1=’s’,第五個字母加密后為’e’+3=’h’,第六個字母加密后’s’+9超過了字母范圍,所以減去26得,’s’+9-26=’b’,….。
讀入已加密的文件,進行破譯,將可能的密鑰和相應的解密結果輸出到另一個文件。
2.編程要點:
1)用fgets函數(shù)讀入字符串
2)編一個函數(shù)處理所有可能的密鑰,即計算從100到200的所有素數(shù)3)將密鑰化成三個元素的整型數(shù)組,分別對應百位、十位和個位
4)將所有英文字符按序輪換減去對應的數(shù)組元素,原來是大(。⿲懹⑽淖址龃螅ㄐ。⿲懹⑽淖址秶由26。
3.密碼文件內容
Jkfpznfyaijjpwyfhabszxjy,ztbbwlbslyhlmqloyzuzkfsa.
題目三.顯示心形
在屏幕上用字符輸出一個心形,心形的極坐標方程為r=20(1-sin),x=r*cos,y=5-r*sin。提示:定義字符數(shù)組charcs[52][50],先均賦空格,計算出坐標x和y后取整作為字符數(shù)組的下標,使該字符取’H’,再輸出該數(shù)組。
附一
答辯記錄
運行情況原始數(shù)據成績排名
平均分和分數(shù)段統(tǒng)計男女生成績
統(tǒng)計不及格統(tǒng)計優(yōu)秀生統(tǒng)計
優(yōu)秀學生干部統(tǒng)計破譯密碼顯示心形回答問題1.
2.3.
4.
5.
11101班班級材料
學號201*00742
姓名江一平
指導教師管鋒
完成日期201*年1月2日
計算機上機實習
實習報告
(一)題目的分析設計與說明程序要求說明:
1.用文字處理軟件(用記事本\\寫字板\\word\\tc,不能用excel)新建一個文本文件,將本班M名學生在
本學期的N門課程成績錄入到這個文件中,按如下形式存放。要求:學生人數(shù)M不少于30人,課程門數(shù)N不小于5,姓名為本班的真實姓名,課程中必須有一門考查課。2.錄入本班班級學生信息,內容包含“編號課程名稱課程學分”,錄入課程學分情況;讀取原始數(shù)據文件的內容,計算每個學生的加權平均分(保留一位小數(shù),4舍5入),按平均分排名次,平均分相同則名次相同。創(chuàng)建一個數(shù)據文件(建議為:文本文件),存放班級的成績表,按下列式形存放。計算加權平均分的公式如下
加權平均分課程學分成績ii1Ni
課程學分ii1N3.分別統(tǒng)計全班每門課的平均分。計算各分數(shù)段(的班級同學的平均分的文本,運用循環(huán)語句及字符串比較函數(shù)等,將性別sex與第一個男生做比較,如果比較結果相同則都為男生,輸出成績,計算男生平均分,女生也相同方式;6.編寫函數(shù)統(tǒng)計不及格情況,按照條件,按照科目順序以及同學成績遴選出不及格的同學,輸出其相關的信息。(將其讀入另外的”不及格表”中);7.編寫函數(shù)輸出優(yōu)秀學生按照成績排名輸出優(yōu)秀學生。(將其讀入另外的”優(yōu)秀學生”中);8.編寫函數(shù)輸出優(yōu)秀學生干部(將其讀入另外的”優(yōu)秀學生干部.txt”中)9.編寫菜單,共有8個菜單項,其中7個為題目要求,第8個為退出函數(shù)。
2)破譯密碼
1.求出100-200之間的素數(shù),作為解碼的密匙。2.根據要求編寫出對應密匙的解碼結果。3.輸出解碼結果。
(二)程序框圖
主菜單功能模塊圖
主函數(shù)
學破顯生示成譯績心密管理碼形
退出3
一級菜單結構圖
學生成績管理系統(tǒng)
6.5.2.3.4.1.輸統(tǒng)統(tǒng)統(tǒng)計讀出計計計算入優(yōu)不全男加原秀及班生始權學格數(shù)每和平據生情門女均并況課生分顯程每及示的門名菜平課次單均平分均
分7.輸出優(yōu)秀學生干部名單8.返回上級菜單破譯密碼流程圖
定義文件型數(shù)據的指針變量對密碼文件進行讀取運用循環(huán)語句從101-200之間找出素數(shù)對找到的整型素數(shù)n/100得到百位n%100/10得到十位n%10得到個位,把他放入一個新的數(shù)組中將所有英文字符按序輪換減去對應的數(shù)組元素,原來是大(小)寫英文字符超出大(。⿲懹⑽淖址秶由26。。輸出解密結果。。。。。。顯示心形步驟圖
先定義各數(shù)據的定義字符數(shù)組類型,并對P做charcs[52][50],先一個宏定義均賦空格計算出x、y的取整輸出結作為字符數(shù)組的下果。。。。。。標,使該字符取’*’,再輸出該數(shù)組。5
(三)程序解析
#include"stdio.h"#include"conio.h"#include"stdlib.h"#include#include
#defineM36定義一個全局變量M36為班級學生的人數(shù)1.定義兩個結構體類型變量,分別包含“學生成績表”、“學生信息”、“課程與學分設置”、向系統(tǒng)聲明這是一個結構體類型,它包括成員列表中不同類型的成員。例如:
structStudent//結構體Student成員中包括序號、姓名、五門課程分數(shù)、年齡、職務{intnum;charname[10];charsex[5];intscore[5];intage;charposition[10];}stud[N];
2.準備讀入數(shù)據
/*讀入原始數(shù)據并顯示的程序function1_1()*/
intfunction1_1(){printf("加入讀入原始數(shù)據并顯示的程序內容\\n");printf("--------------------------------------------------------------------------------\\n");printf("序號姓名理力數(shù)學大學物理機械制圖C程序設計\\n\\n");文件讀入舉例如下:
(1)定義文件型數(shù)據的指針通過文件指針找到與它關聯(lián)的文件。
例如定義:
FILE*fp1,*fp2,*fp3;
(2)fp文件指向file1對應學生成績表,打開文件時通知編譯系統(tǒng)一下三個信息:①打開文件的名
字②使用文件的方式③哪一個指針變量指向打開的文件運用如下方式:
fp=fopen(c:\\\\表一.txt","r");//打開文件一,學生成績表
if(fp==NULL){printf("cannotopenthefile\\n");exit(0);
}
for(i=0;i如上進行比較
主要程序如下:for(i=0;ifor(i=0;ivoidfunction1_4()
{printf("*****************男生和女生課程平均成績*****************\\n");inti,j,sum=0;structsex1{charsex[6];floatjun[5];}sex[2];
FILE*fp,*fp1;
(1)按照上述,對之前建立的file2.1文件進行讀取。
(2)設立一個課程的大循環(huán)其間嵌套一個學生的小循環(huán),由第一個科目開始,從第一個學生開始
將第一個學生的sex與字符串“男”進行比較,如果相同就納入男生成績總和統(tǒng)計中,并且可求出其平均數(shù),女生也用同樣方法輸出其平均成績;接著進行j++,統(tǒng)計第二個科目的男女生平均分,知道所有科目統(tǒng)計結束。for(j=0;j
printf("性別理力數(shù)學大學物理機械制圖C程序設計\\n\\n");fprintf(fp3,"男生%7.2f%7.2f%7.2f%7.2f%7.2f\\n",aver1[0],aver1[1],aver1[2],aver1[3],aver1[4]);
printf("男生%7.2f%7.2f%7.2f%7.2f%7.2f\\n",aver1[0],aver1[1],aver1[2],aver1[3],aver1[4]);fprintf(fp3,"女生%7.2f%7.2f%7.2f%7.2f%7.2f\\n",aver2[0],aver2[1],aver2[2],aver2[3],aver2[4]);
printf("女生%7.2f%7.2f%7.2f%7.2f%7.2f\\n",aver2[0],aver2[1],aver2[2],aver2[3],aver2[4]);fclose(fp1);fclose(fp2);fclose(fp3);
printf("\\n\\n*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();return0;}
統(tǒng)計班級不及格情況:
程序設計思路:讀取文件file2.1.txt中學生成績等相關信息;文件file3.txt中課程學分設置的信息,
并且建立一個新的文件file5.1.txt用于存儲新生成的不及格情況統(tǒng)計。
intfunction1_5(){printf("統(tǒng)計不及格情況\\n");printf("--------------------------------------------------------------------------------\\n");(1)讀取相關文件的方式如上,此處不再敘述。(2)建立新的文件夾存儲新生成的不及格情況統(tǒng)計。程序要點如下:for(i=0;iles[j].les_score,stud[i].score[j]);}}}
}//輸出不及格同學的相關信息7.輸出優(yōu)秀學生
intfunction1_6(){
printf("輸出優(yōu)秀學生程序\\n");printf("--------------------------------------------------------------------------------\\n");}建立新的文件存放優(yōu)秀學生信息
程序要點如下:
if((fp2=fopen("c:\\\\file6_1.txt","w"))==NULL)//打開輸入文本文件file6_1.txt{printf("無法打開此文件!\\n");exit(0);}
for(i=0;i=90)n++;}
if(aver[i]>=90||rank[i]=85&&(m>=1||n>=2))){
fprintf(fp2,"%-2d%-6s%3s%6d%8d%8d%8d%5d%8.2f%8d\\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],aver[i],rank[i]);
printf("%-2d%-6s%2s%6d%6d%6d%8d%6d%7.2f%4d\\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],aver[i],rank[i]);}}
fclose(fp1);fclose(fp2);
printf("\\n\\n*********按Enter鍵繼續(xù)**********\\n");getchar();getchar();return0;}
8.優(yōu)秀學生干部
intfunction1_7(){printf("輸出優(yōu)秀學生干部內容\\n");printf("--------------------------------------------------------------------------------\\n");inti,j;intm,n;
FILE*fp1,*fp2;intrank[N];floataver[N];
(1)打開file2.1.txt(平均分及名次)、并建立file7.1.txt的文件存儲優(yōu)秀學生干部的信息。(2)設立循環(huán),從第一個學生的第一個科目開始,判斷1.平均分≥852.名次在本班前20%
名3.平均分≥80,并且至少有一門課的成績?yōu)?ge;95分4.平均分≥80,并且至少有二門課的成績?yōu)?ge;90分直到判斷完此學生所有的成績信息;接著進行第二個同學的判斷。最終輸出所有優(yōu)秀學生的信息,信息包括“學號、姓名、性別、職務、名門課成績、平均分和名次”
程序要點如下:
if((fp2=fopen("c:\\\\file7_1.txt","w"))==NULL)//打開輸入文本文件file7_1.txt{printf("無法打開此文件!\\n");exit(0);}for(i=0;i=85||rank[i]=80&&(m>=1||n>=2))){
fprintf(fp2,"%-2d%-6s%3s%10s%6d%8d%8d%8d%5d%8.2f%8d\\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].position,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4
],aver[i],rank[i]);
printf("%-2d%-6s%2s%10s%6d%6d%6d%8d%6d%7.2f%4d\\n",stud[i].num,stud[i].name,stud[i].sex,stud[i].position,stud[i].score[0],stud[i].score[1],stud[i].score[2]stud[i].score[3],stud[i].score[4],aver[i],rank[i])}}}
fclose(fp1);fclose(fp2);9.破譯密碼
同上面一樣,先讀入需解密的文件,其主要程序如下:{
printf("破譯密碼\\n");
printf("--------------------------------------------------------------------------------\\n");FILE*fp1,*fp2;//讀取密碼源文件charstr[70];
inti,k,n,s[3],count=0;
if((fp1=fopen("c:\\\\密碼文件.txt","r"))==NULL)printf("無法打開此文件!\\n");exit(0);}
求出100-200之間的素數(shù),其程序如下:for(n=101;n="a"&&str[i]="A"&&str[i]{
count=count+1;
switch(count%3)//對3取余數(shù),對應這百位,十位,個位。case1:if(str[i]>="a"&&str[i]cs[i][j]="";
for(a=0;a
22
(五)程序有待改進的意見
1.程序中雖然根據加權平均分對班級的同學進行排序,但是并沒有按照名次列出清單。解決方法:
可以采用“冒泡法”對排序結果進行編排,是排序內容清晰易懂。
2.程序缺少動態(tài),無法從內部對學生信息,成績進行修改,整理,或者添加。解決方法:
建立相關的動態(tài)鏈表,可以對信息的處理更快捷。
3.程序運行中出現(xiàn)了關于對數(shù)據的處理不合理,有時候產生運用的類型與定義的類型不同而出現(xiàn)警告。
4.大字符的編寫內容過于繁雜,內容較多,但是思路比較簡單。還可以進行討論修改。
(六)實習小結
本次實習歷經一周半,通過編程我覺得自己學到了不少的東西,雖然有時候有些地方不會編程,去借鑒其他人的成果,但仍有很大的收獲,當編程成功時,得到結果是會有一種莫名的喜悅感,不禁覺得c語言編程是一門很有意思的學科。
實習編寫的程序所涉及的知識點眾多,從最簡單的C程序設計到后面運用多處的選擇結構,循環(huán)結構、數(shù)組處理批量的數(shù)據到我們近期學習的模塊化設計、指針等內容。從中感覺就像是對自己一學期成果的收獲,其間的價值遠遠大于考試的檢驗。在程序編寫過程中,自己也遇到了很多問題,比如最初的在文件導入常常要運用fscanf函數(shù)向數(shù)值型數(shù)組輸入數(shù)據時,常常忘記運用數(shù)值型數(shù)組名;在運用指針的過程中出現(xiàn)的不同指針的混用等。這些細微的問題常常導致程序編寫的中斷,不過好在有大家的幫助,我能夠改正出錯誤使程序的編寫能夠順利完成。
此次實習是一次理論與實踐相結合的過程,這既考驗了我們的知識儲備又考驗了我們的實踐操作能力。同時大家在一起上機實習,遇到不懂的問題,大家可以一起在一塊討論解決問題,無形之中這鍛煉了我們的團隊合作能力,這也是以后我們步入社會所必備的基本能力。通過此次實習,更加明確了以后努力的方向:
1.要不斷培養(yǎng)自己的能力,正如曾經有人這么說道“不要覺得現(xiàn)在學的以
后是用不到的,當你沒有去接粗社會的時候,你對他一無所知,現(xiàn)在你學的不僅僅是書,更是培養(yǎng)你的一種能力,只要你沒有走出社會,現(xiàn)在學的一切都是有用的,也許它會因此改變你一生。”
2.重視理論的知識與實踐的結合。在上機實習之前,對C語言的認識知識停留在課本,雖然不時的有上機課,但是短暫的實踐無法彌補強大信息量帶來的沖擊。實踐是檢驗真理的唯一標準,所以我個人覺得以后可以增加上機實習的課程量以及實踐,真正將實踐和理論教學結合。
3.培養(yǎng)團隊的精神。一座大山的形成不是自然的出現(xiàn),它是無數(shù)的沙土牢牢聚在一起的結果,C語言的編寫也是如此,當你在出現(xiàn)問題的時候可以及時有效和隊友交流,在處理一些復雜的問題的時候,可以進行討論,想出一套最可行的最簡便的方法,這就是團隊所要具備的。在這次實習期間,也很感謝老師以及學長在我出現(xiàn)問題,有時候甚至是很初級的錯誤的時候能夠悉心給我指導。
總體講來,這次實習讓我受益匪淺,這次的上機實習給了我一個鍛煉的機會,同時也給了我一面鏡子,照出自己的不足之處,相信在以后,我一定會珍惜好每一次的學習機會,不斷改進自己。
機械工程學院、材料11101班江一平201*年1月2日
友情提示:本文中關于《201*級水利工程測量實習指導書》給出的范例僅供您參考拓展思維使用,201*級水利工程測量實習指導書:該篇文章建議您自主創(chuàng)作。
來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯(lián)系我們及時刪除。