第一篇:C語言課程設計報告(參考)
C語言課程設計報告
專 業:網絡工程 學 號:11102101 姓 名:步乾豪 提交日期:2012-6-21
C語言課程設計報告
【設計目的】 1.教學目的
本課程設計是學生學習完《C語言程序設計》課程后,進行的一次全面的綜合訓練,通過課程設計,更好地掌握使用C語言進行程序設計的方法,加深對C語言特點和使用C語言進行程序設計開發過程的理解,加強動手能力。其主要目的是:
(1)進一步培養學生結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解;
(2)針對C語言中的重點和難點內容進行訓練,獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。
(3)掌握C語言的編程技巧和上機調試程序的方法。(4)掌握程序設計的常用算法。2.教學要求
(1)要求從所給題目中任選若干個,每個學生必須獨立完成課程設計,不能互相抄襲。(2)設計完成后,對所完成的工作進行答辯。(3)要求寫出一份詳細的課程設計報告。
(4)程序設計題目,須提交相應的程序,并需提供加注釋的源程序,能正常運行。……………………………………..【設計內容】
學生信息管理系統 程序說明:
本程序屬于非數值計算型算法設計,學生需要設計出學生管理系統所需要的基本功能,并設計簡單的界面(無需圖形化)。本程序主要考察對自定義函數的熟悉程度,本程序中主要使用到的是數組(鏈表)的相關操作,包括數組(鏈表)的輸入、輸出、查找、插入、刪除等操作,需要對數組(鏈表)有比較深入的掌握。
設計要求:
(1)通過提示菜單選擇可以進行的操作。
(2)將學生的信息存入文件中,并命名為StudentInfo.txt。(3)在本系統中可以進行管理系統包含的基本操作,其中包括
a)查看所有學生的信息
b)輸入一個學生的學號,從當前學生中進行查找,如果找到則顯示該學生的相關信息,如果沒有找到則給出提示信息
c)添加一個學生的基本信息,通過輸入學號,首先查找是否存在該學號的學生,如果存在則提示重新輸入,否則將該學生按照順序插入到相應位置
d)刪除一個學生的基本信息,通過輸入學號,首先查找是否存在該學號的學生,如果存在則將該學生刪除,否則給出提示信息,提示該學生不存在
(4)學生基本信息包括學號、姓名、性別和專業這些簡單信息
C語言課程設計報告
(5)學生信息文件中每一行存放一個學生的信息 ………………………………….【實驗環境】 1.硬件環境
開發硬件:Thinkpad E520計算機
因特爾酷睿I5處理器,8GB運存,1GB獨立顯卡,500G硬盤存儲,2.軟件環境
開發環境:Windows 7旗艦版操作系統
開發軟件:Microsoft Visual 6.0 C++軟件
【設計中使用函數說明】
定義并使用的文件: void scanproduct()
【測試結果】
1)創建鏈表、插入新信息、刪除信息、顯示信息、修改信息。
2)測試數據
【設計總結】
一.對該設計題目有何更完善的方案
1、對自己完成程序進行自我評價
完成了課程設計的基本要求,同時在此基礎上進行了一些創新,使用了多文件,使程序看起來更清晰更有條理。但由于能力有限,以及對C++的認識不深,其中還有不夠完善合理的地方。
2、對課題提出更完善的方案
增加按照成績對鏈表進行排序的功能,使學生信息能夠按照成績的高低進行顯示,能夠更清晰地顯示學生的學習情況。二.收獲及心得體會
1、通過本次課程設計,自己在哪些方面的能力有所提高
加深了對利用C++語言進行程序設計的理解,提高了對函數的運用能力,提高了軟件系統分析能力和使用多文件、歸納總結的能力。
2、收獲和心得體會
通過自己對單項鏈表的學習,熟悉了鏈表的建立、插入、刪除等操作方法。通過這次課程設計使我明白了自學的重要性,有了一些自學的學習方法和技巧,并且要積極的與其他同學共同討論,在討論中才能找到自己認識的不足,改正自己的錯誤?!緟⒖嘉墨I】 書籍:
1.《C語言程序設計第四版(譚浩強)》 2.《C語言程序設計課程上機指導》 3.《C語言程序設計第三版》
C語言課程設計報告
網站推薦:
http://(TC所有函數功能及使用查詢)http://www.tmdps.cn/(編程愛好者:里面有各種編程資料)
【源程序清單】 系統設計與分析
2.1.1第一模塊界面及實現代碼 其對應的函數如下: int main(){
int i;wenbenload();do { system(“cls”);printf(“nnnnnn”);printf(“***************************歡迎使用商品訂購系統*******************************n”);printf(“ 作者: 網絡11102101 步乾豪n”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃ 1.瀏覽商品信息 ┃n”);printf(“ ┃ 2.訂購商品 ┃n”);printf(“ ┃ 3.訂單查詢 ┃n”);printf(“ ┃ 4.搜索商品 ┃n”);printf(“ ┃ 5.管理菜單 ┃n”);printf(“ ┃ 0.退出系統 ┃n”);printf(“ ┗━━━━━━━━━━━━━━━━━━━┛n”);printf(“********************************************************************************n”);
printf(“nntt請輸入你的操作(0~5): ”);
scanf(“%d”,&i);switch(i){ case 1: system(“cls”);scanproduct();3
C語言課程設計報告
n“);
break;case 2:
system(”cls“);dinggou();break;
case 3: system(”cls“);
lookdinggou();break;searchproduct();break;case 4: case 5: secondmain();break;
case 0: //退出系統的界面
system(”cls“);printf(”nnnnnnnn“);printf(”nnttt歡迎使用本系統nnnnnttt歡迎再次使用
exit(0);//exit用于隨時結束程序
}while(1);return 0;
} } 其中的wenbenload()用于從文本中導入商品信息
2.1.2 第二模塊的界面及實現代碼
如果選擇的操作是主界面的1時,而產品文件為建立時會顯示下圖:
圖2.3第二模塊界面圖
該程序的實現是通過以下代碼實現的: void scanproduct(){
int i;system(“cls”);printf(“ttttt商品信息列表n”);for(i = 0;i < inumber;i++)4
C語言課程設計報告
} {
} printf(“nnnnnnttt”);printf(“返回主菜單n”);printf(“ttt”);system(“pause”);return;printf(“名稱 : %sn”,a[i].name);printf(“貨號 : %dn”,a[i].number);printf(“廠家 : %sn”,a[i].vender);printf(“產地 : %sn”,a[i].filed);printf(“存量 : %dn”,a[i].stock);printf(“單價 : %.2lfnnn”,a[i].unvalent);2.1.3 第三模塊的實現及代碼 該程序實現代碼如下: void dinggou(){ char ch;int i, j, t, c = 1;int n = 1;int m = 0;
do {
switch(n){ case 1: system(“cls”);
printf(“tttt商品信息列表n”);//顯示商品的名稱、貨號信息,以便于訂購 printf(“名稱t 貨號t 庫存n”);for(i = 0;i < inumber;i++){
printf(“%st %dt %dnnn”,a[i].name,a[i].number,a[i].stock);
C語言課程設計報告
} printf(“nnn”);printf(“tttt商品訂單n”);printf(“nttt請輸入你的第%d個訂單信息:n”,m + 1);
printf(“nttt貨號:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].bgname);
//檢測是否含有此商品
j = 1;
for(i = 0;i < inumber;i++)
{
if(a[i].number == b[ibuy].bgname)
{
j = 0;
t = i;
}
}
//若有商品繼續購買項目
if(j == 0)
{
printf(“nttt訂購量:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].bmany);
if(a[t].stock >= b[ibuy].bmany){
a[t].stock = a[t].stock-b[ibuy].bmany;//買后商品的庫存計算
printf(“nttt日期時間:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].btime);
printf(“nttt客戶名:”);
fflush(stdin);
gets(b[ibuy].bname);
printf(“nttt客戶地址:”);
fflush(stdin);
gets(b[ibuy].baddress);
printf(“nttt客戶號:”);
b[ibuy].bnumber = bgnumber;
printf(“%dn”,b[ibuy].bnumber);
bgnumber++;
ibuy++;
m++;6
顧客購C語言課程設計報告
printf(“nnntttt”);
system(“pause”);} else { printf(“nnttt訂購數目超出庫存n”);
printf(“ttt”);
system(“pause”);
} } //若沒有商品的提示及操作
else {
printf(“nnttt查無此貨n”);
printf(“ttt”);
system(“pause”);}
case 2: printf(“是否繼續輸入訂購?(Y/N)”);fflush(stdin);scanf(“%c”,&ch);if(ch == 'N' || ch == 'n'){
c = 0;
break;} else if(ch == 'Y' || ch == 'y'){
c = 0;
n = 1;
break;} else if(ch!= 'n' || ch!= 'N' || ch!= 'Y' || ch!= 'y'){
n = 0;
c = 1;
break;} case 0:
C語言課程設計報告
} if(c == 1){ } n = 2;
}while(ch!= 'n' && ch!= 'N');system(“cls”);
return;} 2.1.4 第四模塊的實現及代碼 該程序實現代碼如下: void lookdinggou(){ int i;system(“cls”);printf(“ttttt訂單列表n”);for(i = 0;i < ibuy;i++){
printf(“貨號 : %dn”,b[i].bgname);printf(“訂購量 : %dn”,b[i].bmany);printf(“日期時間 : %dn”,b[i].btime);printf(“客戶名 : %sn”,b[i].bname);printf(“客戶地址 : %sn”,b[i].baddress);printf(“客戶號 : %dnnn”,b[i].bnumber);
} printf(“nnnnnnttt”);printf(“返回主菜單n”);printf(“ttt”);system(“pause”);return;} 該代碼中用到了指針,并用到了鏈表的建立和刪除,當然也涉及到了結構體。2.1.5 第五模塊的實現及代碼 通過以下代碼實現: void searchproduct(){
int i;int j;char ch;int n = 1;do
C語言課程設計報告
{
switch(n){ case 1: system(“cls”);
printf(“tttt商品列表n”);//顯示商品的名稱、貨號信息,以便于下部的刪除 for(i = 0;i < inumber;i++){
} //商品的搜索
printf(“nnntttt請輸入你要搜索商品的ID:”);scanf(“%d”,&j);if(0<=j&&j<=inumber)printf(“名稱 : %sn”,a[i].name);printf(“ID : %dn”,i);printf(“庫存 : %dnnn”,a[i].stock);
{ printf(“名稱 : %sn”,a[j].name);printf(“貨號 : %dn”,a[j].number);printf(“廠家 : %sn”,a[j].vender);printf(“產地 : %sn”,a[j].filed);printf(“存量 : %dn”,a[j].stock);printf(“單價 : %.2lfnnn”,a[j].unvalent);}
case 2:
} printf(“是否繼續搜索商品?(Y/N)”);fflush(stdin);scanf(“%c”,&ch);if(ch == 'N'|| ch == 'n'){ } if(ch ==' Y'|| ch == 'y'){
} n = 1;break;break;9
C語言課程設計報告
} }while(ch!= 'n' && ch!= 'N');
printf(“nnnnnnttt”);printf(“返回主菜單!n”);printf(“ttt”);system(“pause”);return;2.1.6 第六模塊的實現及代碼 該代碼如下: void secondmain(){
int i;
do {
system(“cls”);printf(“nnnnnnn”);
管
理
維
護
子
菜
單printf(“******************************************************************nn”);n“);n”);n“);n”);n“);
printf(” ┏━━━━━━━━━━━━━━━━━━━┓printf(“ ┃ 1.輸入全部商品 ┃printf(” ┃ 2.增加商品 ┃printf(“ ┃ 3.刪除商品 ┃printf(” ┃ 4.儲存商品 ┃printf(“ ┃ 5.儲存訂單 ┃
C語言課程設計報告
n”);n“);printf(” ┗━━━━━━━━━━━━━━━━━━━┛printf(“ ┃ 0.返回上一級 ┃nnn”);printf(“********************************************************************************nnnnn”);
printf(“nntt請輸入你所要選擇的功能(0~5): ”);
scanf(“%d”,&i);
switch(i){
case 1:
system(“cls”);jianpanload();break;
case 2:
system(“cls”);addproduct();break;case 3:
system(“cls”);deleteproduct();break;
case 4:
system(“cls”);
C語言課程設計報告
saveproduct();break;case 5:
system(“cls”);savedinggou();break;
} case 0:
system(“cls”);
return;
}while(1);
printf(“tttt”);system(“pause”);system(“cls”);return;}該代碼用于商品信息文件的建立生成,存儲商品信息和訂單。
2.2 軟件的數據(結構)設計
先定義全局變量用于控制商品數量和訂單數量如下: #include
int bgnumber = 023;//客戶號
int inumber = 0;//商品量的統計 int ibuy = 0;//訂單的統計
C語言課程設計報告
void secondmain();
//管理維護子菜單 void jianpanload();//輸入商品 void scanproduct();//瀏覽商品 void searchproduct();//搜索商品 void dinggou();//訂購商品 void lookdinggou();//查詢訂單 void addproduct();//增加商品 void deleteproduct();//刪除商品 void saveproduct();//保存商品 void savedinggou();//保存訂單 void wenbenload();//從文本導入商品
struct product {
char name[30];int number;char vender[30];char filed[100];int stock;
double unvalent;
//商品名 //貨號 //廠家 //產地 //存量 //單價
};struct product a[100];
struct dinggou {
int bgname;//貨號 int bmany;
int btime;
char bname[100];
//訂購量 //日期時間 //客戶名
char baddress[100];//客戶地址 int bnumber;//客戶號
};struct dinggou b[100];
第二篇:C語言課程設計報告
C語言課程設計報告
班
級:
10電子本1
學
號:
10303033122
姓
名:
指導老師:
方文森
完成日期:
溫州大學城市學院課程設計
目 錄
1、課程設計目的和要求.....................................................................................................2
2、課程設計任務內容.........................................................................................................2
3、詳細設計說明.................................................................................................................3
3.1分析.........................................................................................................................3 3.2軟件設計.................................................................................................................3 3.3軟件調試(對編程中的錯誤進行記錄,并給出你的解決辦法).....................3
4、軟件使用說明.................................................................................................................4
5、課程設計心得與體會.....................................................................................................4 附錄1:參考文獻................................................................................................................5 附錄2:部分程序清單(帶有較詳細的注釋)................................................................5
溫州大學城市學院課程設計
C語言課程設計報告
1、課程設計目的和要求
目的:(1)鞏固和加深學生對C語言課程的基本知識的理解和掌握(2)掌握C語言編程和程序調試的基本技能(3)利用C語言進行基本的軟件設計(4)掌握書寫程序設計說明文檔的能力(5)提高運用C語言解決實際問題的能力 要求:(1)分析課程設計題目的要求(2)寫出詳細設計說明
(3)編寫程序代碼,調試程序使其能正確運行(4)設計完成的軟件要便于操作和使用(5)設計完成后提交課程設計報告
2、課程設計任務內容
1)一個班級有4個學生,共學習5門課程(大學英語、高等數學、C語言程序設計、VB程序設計、大學語文)。要求編寫程序完成相應功能。2)
輸入并保存]5門課程名稱;
3)
輸入并保存]4個學生的學號及其[個人相關信息]; 4)
輸入并保存]每個學生對應的每門課程成績; 5)求出每門功課的平均分;
6)找出有兩門以上功課不及格的學生,輸出他們的學號和全部課程成績及該學生5門課程的平均成績;
7)找出平均成績在90分以上或者全部課程成績在85分以上的學生,輸出他們的學號和全部課程成績及該學生5門課程的平均成績;
8)計算每位學生的總分,并按總分進行排名,按由高到低輸出他們的學號及總成績; 9)對前面問題進行優化,即在一維數駔的基礎上,考慮采用二維數組、函數及其參數傳遞的方式來解決相關問題;
10)對前面問題進行優化,在學號的基礎上,增加學生的其它個人信息,包括:學號、姓名、年齡、性別,并采用結構體形式加以表示; 11)利用文件實現對輸入及分析輸出數據的存取操作。
12)參照教材P27頁,3-11題引入選擇功能,輸入功能編號可以實現以上功能(考慮清屏函數,自查)。
溫州大學城市學院課程設計
3、詳細設計說明
3.1分析
3.2軟件設計
開始菜單(功能選擇)Key=?Key=1Key=2Key=3Key=4Key=5Key=0Key=99Key=6Key=7Key=8Key=9Key=10寫入課程名讀取課程名輸入學生信息讀取學生信息建立了學生信息及課程名稱?退出程序讀取課程、學生、成績讀取課程成績輸出功課的平均分兩門以上功課不及格的學生輸出高分的學生總分由高到低排序No保存保存Yes輸入課程成績(提示)必須輸入課程名稱、學生信息才能建立成績保存清屏
3.3軟件調試(對編程中的錯誤進行記錄,并給出你的解決辦法)
取地址。
溫州大學城市學院課程設計
4、軟件使用說明
1.2.3.4.5.6.7.8.9.10.11.12.[99]讀取課程、學生、成績 [1]輸入課程名稱.[2]讀取課程名稱.[3]輸入學生信息.[4]讀取學生信息.[5]輸入課程成績.[6]讀取課程成績.[7]功課的平均分.[8]兩門以上功課不及格的學生 [9]-高分的學生-.[10]學生總分排序.[0]退出應用程序.5、課程設計心得與體會
在大家的共同努力下,忙碌了兩個星期,我們順利完成了對此程序的編譯及試運行。在設計程序的過程中,我們了解到要設計一個完整的程序,其中最難的可能就屬設計整個程序的框架,其中可能會需要經過很多次的修改與調試,所以必須要有耐心,直至最后設計出自己想要的程序。
另外平時學習c語言的基礎也很關鍵,因為如果平時學得就不怎么樣,那么你面對這么一個比較有難度的程序,可能會望而卻步,看懂他人的程序都是個難點,更別說讓自己去設計。為了解決此類問題,最好就是多向同學,老師請教,查找資料。
設計一個程序的過程就是解決一個實際問題的過程,從解決實際問題的角度,我們可以這樣來看:首先要了解這個問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;在次我們必須捋清思路,逐一的解決問題的各個方面,即從輸入開始入手,著重考慮如何從輸入導出輸出,在這個過程中,可確定所需的變量、數組、函數,然后確定處理過程--算法。
感謝這次的課程設計,它使我更加深刻地體會到c語言程序編寫過程的嚴謹與細致,還有就是無論做任何事都要有耐心。當然團隊合作也是非常重要的一個環節,這會使你在學習過程中倍感輕松
總的來說,這次程序設計讓我獲益匪淺,對C語言也有了進一步的認識:C語言功能高、表達能力強、使用靈活方便、目標程序效率高等等。C語言是在國內外廣泛使用的一種計算機語言,相信除了以上優點,還有許多我們還未發現,希望能在以后的學習中有更深入的認
溫州大學城市學院課程設計
識。
附錄1:參考文獻
《C語言程序設計與實踐教程》
附錄2:部分程序清單(帶有較詳細的注釋)
#include
#define N 4 #define M 5 #define Debug 1
typedef struct { char SNo[5];char SName[10];}Student;
void ScoreRead(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i 溫州大學城市學院課程設計 void ScoreWrite(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i void CoureseRead(char Cname[][20],char FileName[],char FileType[]){ FILE *fp;int i,j;char ch;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} i=0;j=0;while(1){ ch = fgetc(fp);if(ch==EOF)break;if(ch=='n'){ Cname[i][j]='
主站蜘蛛池模板:
丰满人妻熟妇乱又伦精品|
无遮挡高潮国产免费观看|
国内精品国产成人国产三级|
2021无码天堂在线|
久久无码av三级|
国产乱辈通伦影片在线播放亚洲|
亚洲精品国产精品国产自2022|
国产精品无码永久免费888|
亚洲中文字幕无码一区二区三区|
国产亚洲精品线观看动态图|
菠萝蜜视频在线观看入口|
.精品久久久麻豆国产精品|
国产欧美在线观看不卡|
欧美自拍亚洲综合图区|
午夜少妇性影院私人影院在线|
天天做天天爱天天综合网|
7777精品伊人久久久大香线蕉|
国产高清中文手机在线观看|
亚洲一区二区av在线观看|
中文字幕在线亚洲日韩6页|
新婚少妇无套内谢国语播放|
特级a欧美做爰片第一次|
亚洲精品av无码喷奶水糖心|
国内精品久久久久国产盗摄|
久久精品国产久精国产爱|
狠狠躁夜夜躁人人爽超碰97香蕉|
久久综合久久美利坚合众国|
两个人看的www免费视频中文|
精品亚洲国产成人av网站|
欧美日韩在手机线旡码可下载|
日本狂喷奶水在线播放212|
热re99久久6国产精品免费|
成人无码h真人在线网站|
日韩人妻熟女中文字幕a美景之屋|
国产高清无码在线com|
久久久免费无码成人影片|
国产特黄级aaaaa片免|
中文字幕在线观看亚洲日韩|
欧美白人战黑吊|
无码人妻久久1区2区3区|
国内精品国产三级国产av|