第一篇:C語言實訓任務書
學生檔案管理系統錄入學生信息修改學生信息刪修除改學生信息查詢學生信息輸出學生信息退出系統 按學號查詢按班級查詢
2、重要數據的數據結構設計
學生學籍的記錄項用結構體StuMessage 表示,包括6個屬性,stuNo、name、spec、grade、sex、birthday 分別代表學生的學號、姓名、專業、年級、性別和出生日期,其中 birthday 類型為自定義的結構體類型 Date。
struct StuMessage {
char stuNo[11];
//學號
char name[9];
//姓名
char spec[21];
//專業
struct Grade score;
//年級
char sex;
//性別
struct Date birthday;//出生日期 };日期類型 Date 包括三個屬性,分別代表年、月、日。struct Date {
int year;
//年
清屏錄入一條記錄length++繼續錄入(Y/N)接收用戶選擇Ycon == ‘Y’或con == ‘y’N返回
4、修改學生信息功能模塊函數 Modify()設計
5、刪除學生信息功能模塊函數 Delete()設計
清屏顯示查詢菜單接收用戶的選擇choose1按學號查詢2按年級查詢0返回主菜單其他非法操作Ychoose!= 0N7、按學號查詢功能模塊函數 SearNum()設計
清屏接收查詢年級輸出表頭i = 0, count =0i < lengthY等于年級Y輸出第 i 條記錄count++NNi++Ycount > 0N共找到 n 條記錄沒有找到相關記錄按任意鍵繼續getch()返回
9、輸出學生信息功能模塊函數 ListAll()設計
112
switch(ch)
{
case '1':Append(stu);break;
case '2':Modify(stu);break;
case '3':Delet(stu);break;
/*case '4':MenuOfSear(stu);break;
case '5':ListAll(stu);break;
case '0':Quit();break;*/
} } } void Append(Stu *stu){
FILE *fp;
int i;
fp=fopen(“stuinfo.txt”,“r”);
if(fp==NULL)
printf(“File open failedn”);
for(i=0;i<36;i++)
{
fscanf(fp,“%st%st%st%dt%dt%dt%dt%dt%ct%dt%dt%d”,stu[i].stuNo,stu[i].name,stu[i].spec,&stu[i].score.CompFoundation,&stu[i].score.English,&stu[i].score.language,&stu[i].score.math,&stu[i].score.sport,&stu[i].sex,&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day);
}
fclose(fp);
} void Modify(Stu *stu){ char no[11];int i=0;int flag=1;printf(“請輸入修改學生信息的學號:”);scanf(“%s”,no);while(flag){
if(strcmp(no,stu[i].stuNo)==0)
flag=0;
else i++;} printf(“學號:%s、姓名:%s、專業:%s、基礎:%d,英語:%d,C語言:%d,數學:%d,體育:%d、性別:%c %d年,%d月,%d日n”,stu[i].stuNo,stu[i].name,stu[i].spec,stu[i].score.CompFoundation,stu[i].score.English,stu[i].score.language,stu[i].score.math,stu[i].score.sport,stu[i].sex,stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.day);printf(“請輸入要修改的學生信息:學號、姓名、專業、基礎,英語,C語言,數學,體育、性別 年,月,日:n”);
scanf(“%s%s%s%d%d%d%d%d %c%d%d%d”,stu[i].stuNo,stu[i].name,stu[i].spec,&stu[i].score.CompFoundation,&stu[i].score.English,&stu[i].score.language,&stu[i].score.math,&stu[i].score.sport,&stu[i].sex,&stu[i].birthday.year,&stu[i].birthday.month,&stu[i].birthday.day);
getchar();
getchar();}
void Delet(Stu *stu)
{
char sNO[11];
system(“CLS”);
printf(“請輸入要刪除學生的學號n”);
scanf(“%s”,sNO);
}
int NumOfSear(Stu *stu, char stuNum[])
{
int i;
for(i=1;i<36;i++)
if(strcmp(stuNum,stu[i].stuNo)==0)
return i;
return-1;
} void PrintHead(void){ printf(“學號
姓名
基礎
數學
英語
C語言
體育
性別
****年**月**日n”);} void ListOne(Stu stu){printf(“%s %s %s %d %d %d %d %d %c %d %d %dn”,stu.stuNo,stu.name,stu.spec,stu.score.CompFoundation,stu.score.English,stu.score.language,stu.score.math,stu.score.sport,stu.sex,stu.birthday.year,stu.birthday.month,stu.birthday.day);}
第二篇:語言實訓任務書(范文模版)
匯編語言實訓任務書
一、實訓題目:匯編語言綜合設計
二、實訓目的:通過匯編語言綜合設計,進一步加深理解匯編語言的指令系統及程序設計流程,強化編程能力,增強上機調試程序的基本能力;學會動態文字的設計方法,理解8253、8255在PC機中的應用,掌握用8253演奏簡單樂曲的編程方法,加深理解匯編語言在接口電路中的實際應用。
三、實訓時間:各班按實際時間填寫
四、實訓內容:
1、動態文字的設計
利用延時子程序,完成兩種動態文字的程序設計:
(1)屏目上顯示一字符串,并閃爍10次后消失。(2)屏目上顯示一字符串,并下落20行后消失。
2、音樂程序的設計
利用PC機中的定時器計數器8253使揚聲器發聲,并演奏簡單的樂曲。首先理解8253在PC機中的硬件連線及發聲原理。發聲時利用8253的計數器2,工作方工3來實現。掌握控制字的設置方法及計數初值與音符頻率的關系。
(1)編寫一簡單的發聲程序,使系統持續發聲幾秒后停止。
(2)編寫演奏樂曲程序,使系統演奏出一首簡單的歌曲。
五、實訓要求:
1、嚴格遵守實訓時間,做到不遲到、不早退、不曠課。
2、按時完成實訓任務,上交軟件作品及實訓報告。
3、實訓報告要包括封皮、實訓題目、實訓時間、實訓目的、系統發聲原理、實訓內容。
4、每一種程序要求畫出程序流程圖,源程序、及運行結果分析。
5、實訓報告最后一項為心得體會。
第三篇:C語言實訓
湖北輕工職業技術學院 《C語言程序設計》實驗報告
實驗十一:函數
班 級: ___________10計管_________________ 姓 名: ___________胡高______________ 學 號: ___________1003011138________________ 日 期: ____________2011-5-29________________
一、實驗目的和要求
1、理解數組引入的意義及作用;
2、掌握一維數組的基本思想和基本用法;
3、掌握使用一維數組的基本算法:排序與查找。
二、實驗主要儀器和設備 計算機一臺,Turbo C環境。
三、實驗內容
請將該實驗報告重新命名為“實驗11-學號[姓名]”,如“實驗11-66[張三]”
1、P145 填空題2(2)
2、P145 上機操作題 3(5)
四、實驗原始紀錄 實驗1 程序的設計界面。(Alt+PrintScreeninclude SysRq拷貝當前窗口)
程序代碼。(此處寫代碼,不是圖片。
#include
void swap();
extern int a,b;
a=3;b=10;
swap();
printf(“a=%d,b=%dn”,a,b);
}
int a,b;
void swap()
{
int temp;
temp=a;a=b;b=temp;
}
實驗2 程序的設計界面。
程序代碼。
五、實驗結果及分析
實驗1運行結果圖。
實驗2運行結果圖。
六、實驗總結與思考(主要寫一些在實驗過程中,遇到的問題、所犯的錯誤,以及是如何發現糾正的。大約100至200字左右。)
本次試驗的內容是考察數組的引用、基本算法等,但是總體感覺有點問題。有的地方不知道如何下手
第四篇:c語言實訓
目 錄
特別注意,打開視圖菜單-文檔結構圖觀察文檔結構。目錄由WORD菜單中插入-引用-目錄自動生成并更新,不需要手工生成菜單。
本模板僅說明格式,內容由指導老師決定,不用按這份目錄內容編寫實訓報告。
具體目錄見文檔要求。以下部分僅供參考。
目 錄........................................................................................................................1
一、實訓的目的與要求................................................................................................1
二、題目說明................................................................................................................2
三、總體設計................................................................................................................2
3.1.軟件模塊結構圖...........................................................................................2 3.2.程序流程圖...................................................................................................3
四、詳細設計和實施....................................................................................................3
4.1 XXXX模塊.....................................................................................................4.2
4.3
五、遇到的問題和解決方法........................................................................................4
六、實訓總結................................................................................................................4
七、參考文獻................................................................................................................4 附錄(源程序代碼)....................................................................................................5
一、實訓的目的與要求
(正文為宋體,五號字 行間距為21)中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國中華人民共和國
二、題目說明
(正文為宋體,五號字 行間距為21)題目參照任務書中有關描述
三、總體設計
3.1.軟件模塊結構圖(以下圖僅供樣式參考)
圖1-1 軟件模塊結構圖
3.2.程序流程圖(以下圖僅供樣式參考):
四、詳細設計和實施
(正文為宋體,五號字 行間距為21)4.1 模塊1 ………(可以寫一些關鍵程序代碼,另外截一些界面圖并說明實現了什么功能,以證明功能實現了)每一個界面,必須有(1)功能簡介(2)界面截圖一張(3)界面關鍵代碼和描述 每一個界面說明作為獨立的一小節。(在文檔說明中有樣例)
五、遇到的問題和解決方法
(正文為宋體,五號字 行間距為21)1. 2. 3. …………
六、實訓總結
(正文為宋體,五號字 行間距為21)
七、參考文獻
[1] 權明富,齊佳音,舒華英.客戶價值評價指標體系設計[J].南開管理評論,2004,7(3):17-18.[2] 劉小洪,鄒鵬.商業銀行客戶關系價值管理模型研究[J].管理科學,2005,18(3):57-60.附錄(源程序代碼)
第五篇:C語言實訓
第一天的題目: 求兩個整數之和。
#include
求1×3×5×7×9×11 #include
sum = sum*i;
i = i+2;}
printf(“%d”,sum);return 0;} 有50個學生,要求將成績在80分以上的學生的學號和成績輸出。
#include
int i;
int a[50];
for(i=0;i<50;i++)
{
scanf(“%d”,&a[i]);
if(a[i]>80)
printf(“%d”,a[i]);
} }
判定2000—2500年中的每一年是否閏年,并將結果輸出。
#include
int y;
y=2000;
while(y<=2500)
{
if(((y%4 == 0)&&(y%100!= 0))||(y%400 == 0))
printf(“%d 年是閏年n”,y);
else printf(“%d 年不是閏年n”,y);
y=y++;} } 求1?11111?????? 23499100#include
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;} printf(“%fn”,sum);} 給出一個大于或等于3的正整數,判斷它是不是一個素數。
#include
int i,n,mark=0;
scanf(“%d”,&n);
for(i=2;i < n/2+1;i++)
{
if(n%i==0)
{
printf(“%d不是素數”,n);
mark=1;
break;
}
}
if(mark==0)
printf(“%d是素數”,n);} 求5!#include
#include
#include
float a,b,t;scanf(“%f %f”,&a,&b);if(a>b){ t=a;a=b;b=t;} printf(“%5.2f,%5.2fn”,a,b);
} 輸入3個數a,b,c,要求按由小到大的順序輸出。
#include
#include
char zhong,guo;
scanf(“%c”,&zhong);
if(65<=zhong&&zhong<=90)
{
guo=zhong+32;
printf(“%c”,guo);
}
else
printf(“%c”,zhong);}
??1(x?0)?1編一程序,輸入一個x值,要求輸出相應的y值。y??0(x?0)
?1(x?0)?#include
int x,y;
printf(“請輸入x:”);
scanf(“%d”,&x);
if(x<0)
y=-1;
else if(x=0)
y=0;
else
y=1;
printf(“y=%d”,y);} 要求按照考試成績的等級輸出百分制分數段,A等為85分以上,B等為70~84分,C等為60~69分,D等為 60分以下。成績的等級由鍵盤輸入。#include
5寫一程序,判斷某一年是否閏年。#include
int a;
scanf(“%d”,&a);
if(a%4==0&&a%100!=0||a%400==0)
printf(“是閏年”);
else printf(“不是閏年”);} 運輸公司對用戶計算運輸費用。路程(s km)越遠,每噸·千米運費越低。標準如下:
s < 250
沒有折扣
250≤s < 500
2%折扣
500≤s < 1000
5%折扣
1000≤s < 2000
8%折扣
2000≤s < 3000
10%折扣
3000≤s
15%折扣 #include
int c, s;
float p, w, d, f;
scanf(“%f %f %d”, &p, &w, &s);
if(s >= 3000)c =12;
else c = s / 250;
switch(c)
{
case 0 : d = 0;break;
case 1 : d = 2;break;
case 2 :
case 3 : d = 5;break;
case 4 :
case 5 :
case 6 :
case 7 : d = 8;break;
case 8 :
case 9 :
case 10:
case 11: d = 10;break;
case 12: d = 15;break;
}
f = p * w * s *(1-d / 100);
printf(“freight =%15.4fn”,f);} 全班有50個學生,用循環語句統計各學生三門課的平均成績。#include
return 0;} 要求輸出100~200之間的不能被3整除的數。#include
main(){
int
n;
for(n=100;n <=200;n++)
{
if(n%3!=0)
printf(“%d
”,n);}
printf(“n ”);}
第二天的題目:
?1 輸出以下4*5的矩陣。
10 15 20 #include
printf(“%sn”,p[i]);} } 用
?4?1?13?15?17??
公式求 ?
的近似值,直到發現某一項的絕對值小于10-6 為止(該項不累計加)。
#include
s=-s;
t=s/n;
pi=pi+t;} pi=pi*4;printf(“%.6fn”,pi);return 0;}
? 求費波那西(Fibonacci)數列的前40個數。這個數列有如下特點:第1、2兩個數為1、1。從第3個數開始,該數是其前面兩個數之和。即: ?F1?1??F2?1?F?F?Fn?1n?2?n(n?1)(n?2)
(n?3)#include
f3=f1+f2;
printf(“%12dn”,f3);
f1=f2;
f2=f3;} return 0;}
輸入一個大于3的整數n,判定它是否素數(prime,又稱質數)。#include
if(a%b==0)
{
printf(“此數不是素數n”);
return 0;
}
printf(“此數是素數n”);
return 0;} 求100~200間的全部素數。#include
int i,k,sk,flag,m=0;
for(k=100;k<=200;k++)
{
sk=(int)sqrt(k);
flag = 1;
for(i=2;i<=sk;i++)
{
if(k%i==0)
{
flag=0;
break;
}
}
if(flag==1)
{
m++;
printf(“%5d”,k);
}
}
if(m%12==0)
printf(“n”);
printf(“total:%5dn”,m);} 對10個數組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出。#include
#include
int i;
int f[40]={1,1};
for(i=0;i<40;i++)
{
f[i]=f[i-2]+f[i-1];
}
for(i=0;i<40;i++)
{
if(i%5==0)
printf(“/n”);
printf(“%12d”,f[i]);
}
return 0;} 有10個地區的面積,要求對它們按由小到大的順序排列(采用起泡法)。#include
scanf(“%d”,&a[i]);for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
} for(i=0;i<10;i++)
printf(“%dt”,a[i]);} 將一個二維數組行和列的元素互換,存到另一個二維數組中。
?14??123??b??25a??456? ??????36??#include
for(j=0;j<3;j++)
{
printf(“%5d,a[i][j]”);
b[j][i]=a[i][j];
}
printf(“n”);} printf(“array b:n”);for(i=0;i<3;i++){
for(j=0;j<2;j++);
printf(“%5d”,b[i][j]);
printf(“n”);} } 有一個3×4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
#include
int a[3][4],max,i,j;
int x=0,y=0;
printf(“請輸入矩陣的數值!n”);
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(“%d”,&a[i][j]);
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(max { max=a[i][j]; x=i; y=j; } printf(“矩陣中最大的元素為:%dn”,max); printf(“行號為:%d,列號為:%d”,x,y);} 輸出一個已知的字符串。#include