版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計</p><p> 設計課程名稱: C語言程序設計 </p><p> 題 目:多功能計算器、洗牌發牌、學生文件處理、鏈表處理 </p><p&g
2、t; 學 生 姓 名: </p><p> 學 院(系):信息科學與工程學院 專 業 班 級: </p><p><b> 課程設計任務書</b></p><p> 一、 課程設計目的:</p&g
3、t;<p> 本課程設計是計算機科學與技術專業重要的實踐性環節之一,是在學生學習完《程序設計語言(C)》課程后進行的一次全面的綜合練習。本課程設計的目的和任務:</p><p> 1. 鞏固和加深學生對C語言課程的基本知識的理解和掌握</p><p> 2. 掌握C語言編程和程序調試的基本技能</p><p> 3. 利用C語言進行基本的軟件設
4、計</p><p> 4. 掌握書寫程序設計說明文檔的能力</p><p> 5. 提高運用C語言解決實際問題的能力</p><p> 二. 課程設計要求:</p><p> 1. 分析課程設計題目的要求</p><p> 2. 寫出程序流程圖</p><p> 3. 編寫程序代碼
5、及重要的解釋,調試程序使其能正確運行</p><p> 4. 設計完成的軟件要便于操作和使用</p><p> 4. 設計完成后提交課程設計報告</p><p><b> 三.設計內容:</b></p><p><b> 題一:</b></p><p> 設計一個多
6、功能計算程序(計算器模擬)</p><p><b> 實現功能:</b></p><p> 具備整型數據、浮點型數據的算術(加、減、乘、除)運算功能。依次輸入第一個運算數、運算符(+,-,*,/)、第二個運算數,然后輸出結果。結果可以作為下一個運算的第一運算數。按‘C’清屏,按‘R’退出。</p><p> 例如:輸入:2 +5 <
7、;/p><p><b> 輸出:7</b></p><p><b> 1.概要設計:</b></p><p> 該程序運用switch語句,進行運算法則的多路選擇,采用循環,使得程序能夠連續輸入,運用字符串函數對符號進行處理。</p><p><b> 2.流程圖:</b>
8、</p><p><b> 3.程序如下:</b></p><p><b> /*計算器*/</b></p><p> #include <stdio.h>/*頭文件*/</p><p> #include <string.h></p><p>
9、; void main()</p><p><b> {</b></p><p> float num1,num2;</p><p><b> char ch;</b></p><p> float values;</p><p> printf("按C
10、清屏,按R退出:\n");</p><p> printf("輸入計算式:\n");</p><p> scanf("%f",&num1);</p><p> start:/*循環體*/</p><p> ch=getchar();/*捕捉輸入的字符'+'
11、9;-''*''/'*/</p><p> scanf("%f",&num2);</p><p> while(1)/*while循環*/</p><p><b> {</b></p><p> switch(ch)/*多路選擇*/</p&
12、gt;<p><b> {</b></p><p><b> case '+':</b></p><p><b> {</b></p><p> values=num1+num2;</p><p> printf("%f&quo
13、t;,values);</p><p> num1=values;/*記入所得值并把它作為下一次運算的第一個數*/</p><p><b> break;</b></p><p><b> }</b></p><p><b> case '-':</b>
14、</p><p><b> {</b></p><p> values=num1-num2;</p><p> printf("%f",values);</p><p> num1=values;</p><p><b> break;</b>&
15、lt;/p><p><b> }</b></p><p><b> case '*':</b></p><p><b> {</b></p><p> values=num1*num2;</p><p> printf("
16、%f",values);</p><p> num1=values;</p><p><b> break;</b></p><p><b> }</b></p><p><b> case '/':</b></p><p&
17、gt;<b> {</b></p><p> if(num2==0)</p><p><b> {</b></p><p> printf("Error!!!,please input again.\n");/*除數不能為0*/</p><p> ch=getchar(
18、);/*去除換行鍵的影響*/</p><p> goto start;/*跳出到start,再進行*/</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> v
19、alues=num1/num2;</p><p> printf("%f",values);</p><p> num1=values;</p><p><b> break;</b></p><p><b> }</b></p><p><
20、b> }</b></p><p> }/*end switch*/</p><p> scanf("%*c%c",&ch);/*取消換行符的影響*/</p><p> if(ch=='c'|| ch=='C')/*清屏*/</p><p><b>
21、 {</b></p><p> system("cls");</p><p> scanf("%*c%c",&ch);</p><p><b> }</b></p><p> if(ch=='r'||ch=='R')/*
22、退出*/</p><p><b> {</b></p><p> printf("\n\n 謝謝使用?。?!");</p><p><b> break;</b></p><p><b> }</b></p><p>
23、scanf("%f",&num2);</p><p> }/*end while*/</p><p> }/*end main*/</p><p><b> 4.程序運行如下:</b></p><p><b> 按c清屏:</b></p>&l
24、t;p><b> 按r退出:</b></p><p> 題二:銀行存取款機器的模擬</p><p><b> 洗牌和發牌模擬</b></p><p> 用隨機數開發一個可用來實現具體的玩牌游戲中的洗牌和發牌的模擬程序。</p><p><b> 實現功能:</b>
25、;</p><p><b> 洗牌功能</b></p><p> 發牌功能: 54張牌,隨機發給4個玩家,要求顯示各玩家及底牌.</p><p> 設計模擬4副牌的程序</p><p><b> 概要設計:</b></p><p> 運用二維數組,先存儲對應的牌數,
26、對牌的花色,數字進行存儲。然后采用隨機函數,隨機抽取,進行交換。單獨處理大小王的問題。將洗好的牌分發。</p><p><b> 流程圖:</b></p><p><b> 存儲流程圖:</b></p><p> 洗牌流程圖、發牌流程圖:</p><p> 處理花色,牌數流程圖:</p
27、><p><b> 3.程序如下:</b></p><p> /* 洗牌和發牌模擬*/</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<time.h><
28、/p><p> void shuffle(int Deck[][14]);/*建立洗牌函數*/</p><p> void deal(int Deck[][14]);/*建立發牌函數*/</p><p> void play_f(int num,int Deck[][14]);/*處理牌花色,牌數函數*/</p><p> int sui
29、t[4]={3,4,5,6};/*花色*/</p><p> char* face[13]={"A","2","3","4","5","6","7","8","9","10","J",&quo
30、t;Q","k"};</p><p><b> /*牌數*/</b></p><p> char *gost[2]={"gost","GOST"};/*大小王*/</p><p><b> //主函數</b></p><p>
31、; void main()</p><p><b> {</b></p><p> int deck[4][14];</p><p><b> int i,j;</b></p><p> srand(time(NULL));/*隨機*/</p><p> dec
32、k[0][13]=53;</p><p> deck[1][13]=54;</p><p> deck[2][13]=-1;</p><p> deck[3][13]=-1;</p><p> printf("模擬發牌洗牌游戲:玩家4人\n");</p><p> for(i=0;i<
33、;4;i++)</p><p> for(j=0;j<13;j++)</p><p> deck[i][j]=13*i+j+1;/*把牌放在數組里*/</p><p> shuffle(deck);/*調用洗牌函數*/</p><p> deal(deck);/*調用發牌函數*/</p><p> pr
34、intf("\n");</p><p><b> }</b></p><p> void shuffle(int Deck[][14])/*洗牌*/</p><p><b> {</b></p><p> int i,j,r,c,temp;</p><
35、p> for(i=0;i<=3;i++)</p><p> for(j=0;j<=13-(i>=2);j++)</p><p><b> {</b></p><p> r=rand()%4;/*隨機*/</p><p> c=rand()%14;</p><p>
36、 while(r>=2&&c==13)</p><p> c=rand()%14;</p><p> temp=Deck[i][j];/*交換*/</p><p> Deck[i][j]=Deck[r][c];</p><p> Deck[r][c]=temp;</p><p><
37、b> }</b></p><p><b> }</b></p><p> void deal(int Deck[][14])/*發牌*/</p><p><b> {</b></p><p> int num,n=4;/*n為玩家人數*/</p><p
38、> for(num=1;num<=n;num++)</p><p> play_f(num,n,Deck);/*調用處理牌花色,牌數函數*/</p><p><b> }</b></p><p> void play_f(int num,int n,int Deck[][14])/*處理牌*/</p><
39、p><b> {</b></p><p> int i,j,t=0;</p><p> printf("\nplayer%d:\n",num);/*玩家信息*/</p><p> for(i=0;i<=3;i++)</p><p> for(j=0;j<=13-(i>
40、=2);j++)/*花色,牌數組合成牌*/</p><p> if(Deck[i][j]%n==num-1)</p><p><b> {</b></p><p><b> t++;</b></p><p><b> if(j==13)</b></p>
41、<p> printf("%s%c",gost[i],t%4==0?'\n':'\t');/*分發含大小王的牌,成表顯示*/</p><p><b> else</b></p><p> printf("%s-%c%c",face[j],suit[i],t%4==0?'\n
42、':'\t');/*分發其他牌,成表顯示*/</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.程序運行如下:</b></p><p><b> 題三:</b><
43、/p><p><b> 學生成績文件管理</b></p><p> 現有3個班學生的C語言課程成績,請以班級為單位對學生的成績按從高到低的順序排序,并將排序后的結果存入文件中。必須采用指針和函數。</p><p> 提示:定義三個一維數組分別存放三個班的成績,排序方法可以采用冒泡法或其它方法,在函數中實現數組的排序,在主函數中調用函數。<
44、;/p><p><b> 概要設計:</b></p><p> 建立結構體,用來儲存各班學生學號,成績。采用冒泡排序法對學生成績進行由大到小排序,并寫入文件中保存。</p><p><b> 流程圖:</b></p><p><b> 冒泡排序流程圖:</b></p&
45、gt;<p><b> 否</b></p><p><b> 是</b></p><p><b> 程序如下:</b></p><p> /*3.學生成績文件管理*/</p><p> #include<stdio.h></p>
46、<p> #define SIZE 3</p><p> typedef struct student{/*定義結構體*/</p><p> int number;</p><p> int grade;</p><p> }Stu;/*重命名結構體*/</p><p> void sort(
47、Stu grade[]);/*建立排序函數*/</p><p> FILE *cfptr;</p><p> void main()</p><p><b> {</b></p><p> Stu cl_a[SIZE],cl_b[SIZE],cl_c[SIZE],Grade1[SIZE],Grade2[SIZE]
48、,Grade3[SIZE];/*申明存放學生學號、成績的數組*/</p><p><b> int i;</b></p><p> printf("Input class1 scores:\n");/*輸入一班的成績*/</p><p> for(i=0;i<SIZE;i++)</p><p&
49、gt;<b> {</b></p><p> printf("第%d個學生學號:",i+1);</p><p> scanf("%d",&cl_a[i].number);</p><p> printf("輸入成績:");</p><p> s
50、canf("%d",&cl_a[i].grade);</p><p> //system("cls");/*清屏*/</p><p> Grade1[i]=cl_a[i];/*賦值*/</p><p><b> }</b></p><p> sort(Grade1)
51、;/*調用排序函數*/</p><p> printf("Input class2 scores:\n");/*輸入二班的成績*/</p><p> for(i=0;i<SIZE;i++)</p><p><b> {</b></p><p> printf("第%d個學生學號
52、:",i+1);</p><p> scanf("%d",&cl_b[i].number);</p><p> printf("輸入成績:");</p><p> scanf("%d",&cl_b[i].grade);</p><p> //syst
53、em("cls");/*清屏*/</p><p> Grade2[i]=cl_b[i];</p><p><b> }</b></p><p> sort(Grade2);/*調用排序函數*/</p><p> printf("Input class3 scores:\n"
54、);/*輸入三班的成績*/</p><p> for(i=0;i<SIZE;i++)</p><p><b> {</b></p><p> printf("第%d個學生學號:",i+1);</p><p> scanf("%d",&cl_c[i].numbe
55、r);</p><p> printf("輸入成績:");</p><p> scanf("%d",&cl_c[i].grade);</p><p> //system("cls");/*清屏*/</p><p> Grade3[i]=cl_c[i];</p&g
56、t;<p><b> }</b></p><p> sort(Grade3);/*調用排序函數*/</p><p> printf("Input class1 scores:\n");</p><p> printf("%4s%4s\n","學號","成
57、績");/*列表*/</p><p> for(i=0;i<SIZE;i++)</p><p><b> {</b></p><p> printf("%4d%4d\n",Grade1[i].number,Grade1[i].grade);/*輸出排序后的成績*/</p><p>
58、;<b> }</b></p><p> printf("Input class2 scores:\n");</p><p> printf("%4s%4s\n","學號","成績");</p><p> for(i=0;i<SIZE;i++)<
59、/p><p><b> {</b></p><p> printf("%4d%4d\n",Grade2[i].number,Grade2[i].grade);/*輸出排序后的成績*/</p><p><b> }</b></p><p> printf("Input
60、 class3 scores:\n");</p><p> printf("%4s%4s\n","學號","成績");</p><p> for(i=0;i<SIZE;i++)</p><p><b> {</b></p><p> pr
61、intf("%4d%4d\n",Grade3[i].number,Grade3[i].grade);/*輸出排序后的成績*/</p><p><b> }</b></p><p> if((cfptr=fopen("班級成績","w"))==NULL)/*打開文件,并寫入*/</p><
62、;p> printf("Error!!! File could not be opened.\n");/*打開失敗*/</p><p><b> else</b></p><p><b> {</b></p><p> fprintf(cfptr,"%8s%8s%8s\n&quo
63、t;,"班級","學號","成績");/*文件中的頭文字*/</p><p> for(i=0;i<SIZE;i++)</p><p> fprintf(cfptr,"%8s%8d%8d\n","class 1",Grade1[i].number,Grade1[i].grade);
64、/*打印成績*/</p><p> for(i=0;i<SIZE;i++)</p><p> fprintf(cfptr,"%8s%8d%8d\n","class 2",Grade2[i].number,Grade2[i].grade);</p><p> for(i=0;i<SIZE;i++)</p&
65、gt;<p> fprintf(cfptr,"%8s%8d%8d\n","class 3",Grade3[i].number,Grade3[i].grade);</p><p><b> }</b></p><p> fclose(cfptr);/*關閉文件*/</p><p><
66、;b> }</b></p><p> void sort(Stu grade[])/*冒泡排序*/</p><p><b> {</b></p><p><b> int i,j;</b></p><p><b> Stu temp;</b><
67、/p><p> for(i=1;i<SIZE;i++)/*趟數*/</p><p> for(j=0;j<SIZE-i;j++)</p><p> if(grade[j].grade<grade[j+1].grade)/*交換,從大到小排序*/</p><p><b> {</b></p>
68、;<p> temp=grade[j];</p><p> grade[j]=grade[j+1];</p><p> grade[j+1]=temp;</p><p><b> }</b></p><p><b> }</b></p><p><
69、;b> 4.程序運行如下:</b></p><p><b> 輸入 : </b></p><p><b> 運行結果:</b></p><p> 保存在文件中的樣式:</p><p><b> 題四:</b></p><p&
70、gt; 讀一個文件把各記錄讀入鏈表各結點中;對鏈表進行添加\刪除操作;把鏈表的每個結點元素存儲在該文件中.</p><p><b> 概要設計:</b></p><p> 該程序運用鏈表,函數調用完成程序應用操作。其中包含保存、輸入、顯示、編輯(添加、刪除、顯示函數)函數等,用主函數調用其它被調函數實現完整的應用程序。</p><p>
71、 應用函數調用,用主函數調用被調函數并用鏈表顯示出來。詳細內容:顯示主菜單,輸入選項錄入、顯示。保存后可調出進行對已保存的信息的編輯(添加、修改、刪除)。</p><p><b> 流程圖:</b></p><p> Insert 函數流程圖:</p><p><b> 是</b></p><p&
72、gt;<b> 否</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 真</b></p><p><b> 否</b></p><p>&l
73、t;b> 是</b></p><p> Delete 函數流程圖:</p><p><b> 假</b></p><p><b> 否</b></p><p><b> 是</b></p><p><b> 否&l
74、t;/b></p><p><b> 是</b></p><p><b> 程序如下: </b></p><p> /*4.讀一個文件把各記錄讀入鏈表各結點中;對鏈表進行添加\刪除操作;把鏈表的每個結點元素存儲在該文件中.*/</p><p> #include <stdio.h
75、></p><p> #include <stdlib.h></p><p> #define NULL 0</p><p> #define LEN sizeof(struct student)</p><p> typedef struct student/*定義結構體*/</p><p>
76、;<b> {</b></p><p> long int num;/*學號*/</p><p> int score;/*分數*/</p><p> struct student *head;</p><p> struct student *next;</p><p><b&
77、gt; }Stu;</b></p><p> struct student *insert(struct student *head,struct student * stud);/*定義插入結點函數*/</p><p> struct student *del(struct student * head,long num);/*定義刪除結點函數*/</p>
78、;<p> void print(struct student *head);/*顯示數據,輸出鏈表函數*/</p><p> void main()</p><p><b> {</b></p><p> Stu a,b,c,*head,*p,*stu;</p><p> FILE *write
79、cfptr;/*文件指針*/</p><p> int choice;</p><p> long del_num;/*刪除的學號*/</p><p> a.num=10101;/*賦值*/</p><p> a.score=89;</p><p> b.num=10102;</p><p
80、> b.score=78;</p><p> c.num=10103;</p><p> c.score=76;</p><p><b> head=&a;</b></p><p> a.next=&b;</p><p> b.next=&c;</p
81、><p> c.next=NULL;</p><p><b> p=head;</b></p><p> printf("********************************************************************************\n");/*程序界面*/</p&g
82、t;<p> printf("\t\t 歡迎 Welcome to\n"); </p><p> printf("\n\t\t\t 使用學生管理系統1.0\n\n\t\t\t\t\t\n"); </p><p> printf("*************************************MENU*****
83、**********************************\n"); </p><p> printf("\t\t\t1. 插入 Insert record to list\n"); /*插入*/</p><p> printf("\t\t\t2. 刪除 mydelete a record\n"); /*刪除*/ </p
84、><p> printf("\t\t\t3. 顯示 Print the record\n"); /*顯示*/</p><p> printf("********************************************************************************\n");</p><p&g
85、t; printf("Input you choice:\n");</p><p> start: scanf("%d",&choice);</p><p> if(choice<1 || choice>3)/*選擇失敗*/</p><p><b> {</b></p&g
86、t;<p> printf("Error!,please choose again.\n");</p><p> goto start;</p><p><b> }</b></p><p> switch(choice)</p><p><b> {</b&g
87、t;</p><p><b> case 1:</b></p><p><b> {</b></p><p> printf("\ninput the inserted record:");</p><p> stu=(Stu *)malloc(LEN);/*分配內存*/
88、</p><p> scanf("%ld,%d",&stu->num,&stu->score);</p><p> while(!feof(stdin))/*直到eof退出*/</p><p><b> {</b></p><p> head=insert(head
89、,stu);/*插入數據*/</p><p> print(head);</p><p> printf("input the inserted record:");</p><p> scanf("%ld,%d",&stu->num,&stu->score);</p><
90、p><b> }</b></p><p> printf("input choose:\n");</p><p> goto start;/*返回*/</p><p><b> }</b></p><p><b> case 2:</b>&l
91、t;/p><p><b> {</b></p><p> printf("\ninput the deleted number:");</p><p> scanf("%ld",&del_num);/*輸入需刪除的學號*/</p><p> while(del_num!
92、=0)</p><p><b> {</b></p><p> head=del(head,del_num);/*刪除*/</p><p> print(head);/*顯示刪除后結果*/</p><p> printf("input the deleted number:");</p&
93、gt;<p> scanf("%ld",&del_num);</p><p><b> }</b></p><p> printf("input choose:\n");</p><p> goto start;</p><p><b>
94、}</b></p><p><b> case 3:</b></p><p> print(head);/*顯示數據*/</p><p><b> break;</b></p><p><b> }</b></p><p> if(
95、(writecfptr=fopen("班級成績表.txt","w"))==NULL)</p><p> printf("File could not be found.");/*打開文件失敗*/</p><p><b> else</b></p><p><b> {&
96、lt;/b></p><p> fprintf(writecfptr,"%8s%8s\n","學號","成績");/*寫入文件標題*/</p><p><b> do</b></p><p><b> { </b></p><p
97、> fprintf(writecfptr,"%8ld%8d\n",p->num,p->score);/*逐步把數據寫入文件中*/</p><p> p=p->next;/*后移結點*/</p><p> }while(p!=NULL);</p><p> fclose(writecfptr);</p>
98、<p><b> }/*關閉文件*/</b></p><p><b> }</b></p><p> void print(struct student *head)/*輸出鏈表函數*/</p><p><b> {</b></p><p> struct
99、 student *p;</p><p> printf("\n Now,These records are :\n");</p><p><b> p=head;</b></p><p> if(head!=NULL)</p><p><b> do</b></
100、p><p><b> {</b></p><p> printf("%8d%8d\n",p->num,p->score);</p><p> p=p->next;/*后移結點,逐步輸出*/</p><p> }while(p!=NULL);</p><p>
101、;<b> }</b></p><p> struct student *insert(struct student *head,struct student * stud) /*插入結點函數*/</p><p><b> {</b></p><p> struct student *p0,*p1,*p2
102、;</p><p> p1=head;/*使p1指向第一個結點*/</p><p> p0=stud;/*p0指向要插入的結點*/</p><p> if(head==NULL)/*原來的鏈表是空表*/</p><p><b> {</b></p><p><b> head=
103、p0;</b></p><p> p0->next=NULL;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> while((p0-&g
104、t;num>p1->num) && (p1->next!=NULL))/*使p0結點作為頭結點*/</p><p><b> {</b></p><p> p2=p1;/*p2指向剛才p1指向的結點*/</p><p> p1=p1->next;/*p1后移一位*/</p><p
105、><b> }</b></p><p> if(p0->num<=p1->num)</p><p><b> {</b></p><p> if(head==p1)</p><p> head=p0;/*插到原來第一個結點之前*/</p><p&
106、gt;<b> else</b></p><p> p2->next=p0;/*指向p2指向的結點之后*/</p><p> p0->next=p1;</p><p><b> }</b></p><p><b> else</b></p>
107、<p><b> {</b></p><p> p1->next=p0;</p><p> p0->next=NULL;/*插到最后的結點之后*/</p><p><b> }</b></p><p><b> }</b></p>
108、<p> return(head);</p><p><b> }</b></p><p> struct student *del(struct student * head,long int num)//*刪除結點函數*/</p><p><b> {</b></p><p>
109、; struct student *p1,*p2;</p><p> if(head==NULL)</p><p><b> {</b></p><p> printf("\nlist null!\n");</p><p><b> goto end;</b></
110、p><p> return head;</p><p><b> }</b></p><p><b> p1=head;</b></p><p> while((num != p1->num )&& (p1->next != NULL))/*p1指向的不是要找的結點,
111、并且后面還有結點*/</p><p><b> {</b></p><p><b> p2=p1;</b></p><p> p1=p1->next;/*p1后移一位*/</p><p><b> }</b></p><p> if(nu
112、m==p1->num)/*找到了*/</p><p><b> {</b></p><p> if(p1==head)</p><p> head=p1->next;/*若p1指向的是首結點,把第二個結點地址賦給head*/</p><p><b> else</b></p
113、><p> p2->next=p1->next;/*否則將下一個結點地址賦給前一結點地址*/ </p><p> printf("delete:%ld\n",num);</p><p><b> }</b></p><p><b> else</b></p&
114、gt;<p> printf("%ld not been found!\n",num);/*找不到該結點*/</p><p> end: return(head);</p><p><b> }</b></p><p><b> 4.程序運行如下:</b></p>&
115、lt;p><b> 界面:選擇</b></p><p><b> 錯誤!未指定書簽。</b></p><p> 選擇1插入數據,并顯示出來:</p><p><b> 文件中的顯示:</b></p><p> 選擇2刪除一條數據,并顯示出來:</p>
116、<p><b> 顯示操作后的結果:</b></p><p> 四、設計中遇到的難點及解決辦法:</p><p> 對于第一題,開始編的時候,感覺很順手,畢竟是學過的東西。但是遇到清屏的問題,不知該怎么處理。通過同學,了解到system(‘cls’)的使用,問題迎刃而解。</p><p> 對于第二題,大小王的問題不知怎樣
117、分發,發牌是總是會出現第一個人發13張,第二個人發26張,第三個人發39張,第四個人發52張。解決辦法:大小王采用重新存儲在數組中,發牌時調用。至于發牌問題,循環語句處出現問題,經修正,問題解決。</p><p> 對于第三題,出現無法從文件中讀出數據,排序也出現問題,無法將成績按大小排。后經查找,讀出數據格式出現錯誤。冒泡排序出現問題,指針的誤用(值與地址)。經查找,并請教同學后,問題解決。</p>
118、;<p> 對于第四題,由于鏈表的學習不是很深入,從文件中讀入數據用鏈表結點時無從下手,于是參考譚浩強編的《c程序設計(第三版)》</p><p> 一書中對鏈表結點的說明,以及插入結點,刪除結點的函數的使用,受益匪淺,在書上的參考下,寫出了其程序,并編寫了菜單。運行時由于忽略了插入結點要分配內存,導致錯誤。后經查找,問題解決了。</p><p> 五、課程設計心得與體
119、會</p><p> 通過兩周的c課程設計的學習,在輔導老師的耐心輔導解答下,終于將此課程設計圓滿完成。</p><p> 在這個編程過程中曾經我想放棄過,因為實在太復雜,但是最終我還是說服了自己堅持了下來,看到自己最后的作業,雖然不是很優秀,但是還是很自豪。在編寫的過程中,發現其實里面還是充滿樂趣的,一旦真的研究下去什么事情都可以放下,來認真研究。在此學習當中我對c語言這門課程更加理
120、解透徹,融會貫通了。</p><p> 無論什么樣的問題,只要和同學互相討論,向老師討教都能迎刃而解。在程序設計階段,與同學之間的交流和溝通是十分重要的。有問題到家一起討論,說自己的想法,經過大家的交流,很容易解決問題同時也會發現新的問題,大家交換意見共同進步,我想每個人都會有不同的收獲。在這收獲的過程中老師的諄諄教導,給了我很大的幫助,遇到解決不了的問題第一時間問老師是最好的選擇。無論什么樣的問題他們都耐心的
121、傾聽,詳細的講解,從來都仔細認真,盡可能的幫助我們把問題搞懂,同時也會適當的幫助我們進一步理解c語言的基礎能容,讓我們在理解的基礎上,編寫出正確規范的程序。不單單把程序的問題解決,同時也掌握相應的知識點,真是受益匪淺。特別是對自己邏輯思維的培養有很大的幫助。</p><p> 我相信在以后的學習過程中我會更加的努力學習了。</p><p><b> 六、參考文獻:</b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《c語言程序設計》課程設計報告
- c語言程序設計課程設計報告
- 《c++語言程序設計》課程設計報告
- c語言程序設計課程設計
- c++課程設計--c++程序設計語言
- 《c語言程序設計》課程設計報告-景點查詢系統
- c語言程序設計課程設計報告—宿舍管理系統
- 《c語言程序設計》課程設計指導手冊()
- 《c語言程序設計》課程設計推箱子
- c語言程序設計課程
- 《c語言程序設計》課程設計報告---商品訂購系統設計
- 《程序設計語言(c++)》課程設計
- c++程序設計課程設計報告
- 課程設計報告-- linux c 程序設計
- 《c語言程序設計課程設計》-課程教學大綱
- c課程設計報告-- windows程序設計報告
- c語言課程設計--紅旗圖案的程序設計
- c語言程序設計報告
- 《c語言程序設計》課程設計報告-招生信息查詢系統
- 系統軟件程序設計報告(linux下c語言程序課程設計報告)
評論
0/150
提交評論