日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序设计 在线课程设计,c语言程序设计 本科课程设计

發布時間:2024/9/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言程序设计 在线课程设计,c语言程序设计 本科课程设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

《c語言程序設計 本科課程設計》由會員分享,可在線閱讀,更多相關《c語言程序設計 本科課程設計(11頁珍藏版)》請在人人文庫網上搜索。

1、河北農業大學本 科 課 程 設 計課 程: 語言程序設計 學 院: 信息學院 專業班級: 學 號: 學生姓名 指導教師: 教師職稱: 教 授 2012 年 6 月 17 日一 設計內容1、 編寫模擬同學排隊打飯程序,只允許在隊尾排隊不允許插隊。記錄的學生信息可簡可繁例如:學號,姓名,金額,消費總額等。實現學生排隊、打飯、充值、查詢(按學號和姓名)、刪除(學號)、按消費總額排序等操作。程序所顯示的菜單內容如下:請選擇下面的一個項目:1 排隊2 打飯3 充值4 查詢5 刪除6 按消費總額排序7 顯示8 退出二 設計要求程序要求1)各個題目所需信息均采用鏈表結構存儲;2)各項功能的使用通過選擇菜單項。

2、實現;3)顯示或輸出可根據需要顯式輸出(即選擇菜單中的輸出或顯示)或隱式輸出(完成某項操作后即刻輸出);4)可以選擇使用文件存儲系統中的數據5)如果同學認為自己有特殊想法也可編程實現。三 設計分析(1)建立一個函數,用來保存學生的學號,姓名,電話號碼,班級,飯卡余額,密碼等信息,完成餐卡功能。主函數用八個子函數,分別完成排隊,打飯,充值,查詢,刪除,消費總額,顯示,退出。(2)main()主函數:定義本程序用到的各個變量及函數,然后讀取文件進行的流程圖如圖開始讀取文件正確讀取輸出菜單結束選擇功能排隊買飯充值查找并打印查找并刪除打印釋放內存flee排隊,新加入一個同學插入結點創建頭結點將結點連上。

3、鏈表尾結點設置鏈表結束標記使lastPtr指向當前鏈表的最后一個結點(一)查找并刪除查找待刪除結點指向該結點找到要刪除的結點沒有找到符合條件的結點刪除頭結點刪除中間結點或者尾結點釋放結點內存二)(三)充值結束輸入輸出#include#includestruct noteint ID;char name40;float money; float expensemoney; struct note *nextPtr; / 結構 typedef struct note LISTNODE;typedef LISTNODE * LISTNODEPTR;LISTNODEPTR headPtr=NULL,l。

4、astPtr=NULL,headPtr1=NULL;int enterChoice(void);void newstudent(void);void buyfood(void);void recharge(void);void find(void);void deleteNode(void);void printList(LISTNODEPTR currentPtr);int enterChoice(void) ;void destroyList(LISTNODEPTR headPtr);/函數原型 void main()int choice;while(choice=enterChoice(。

5、)!=7) switch(choice) case 1: newstudent();break;case 2: buyfood();break;case 3: recharge();break;case 4: find();break;case 5: deleteNode();break;case 6: printList(headPtr);break; destroyList(headPtr);/選擇功能 system(pause);return;void newstudent(void)/排隊,新加入一個同學 LISTNODEPTR currentPtr=NULL;currentPtr=m。

6、alloc(sizeof(LISTNODE); /*分配結點內存*/ if(currentPtr!=NULL)/*插入結點*/if (headPtr=NULL) /*若創建的是頭結點*/headPtr=currentPtr;lastPtr=currentPtr; elselastPtr-nextPtr=currentPtr; /*將結點連上鏈表尾結點*/lastPtr=currentPtr; /*使lastPtr指向當前鏈表的最后一個結點*/printf(Enter IDn);scanf(%d,&currentPtr-ID);printf(Enter namen);getchar();gets。

7、(currentPtr-name);printf(Enter moneyn);scanf(%f,&currentPtr-money);printf(Enter expensemoneyn);scanf(%f,&currentPtr-expensemoney);lastPtr-nextPtr=NULL;/*設置鏈表結束標記*/void buyfood(void)/買飯,并將第一個節點刪掉 LISTNODEPTR currentPtr=NULL; printf(買飯成功,退出隊伍);if(headPtr-nextPtr!=NULL)currentPtr=headPtr-nextPtr;headPt。

8、r=currentPtr;elseheadPtr =NULL;void recharge(void)/充值 int num;printf(請輸入您要充值的金額:n);scanf(%d,&num);headPtr-expensemoney=headPtr-expensemoney+num;void find(void)/查找并打印 LISTNODEPTR currentPtr;int ID1;currentPtr=headPtr;printf(請輸入要查詢的學號:n);scanf(%d,&ID1); while(currentPtr!=NULL & currentPtr-ID!=ID1)curr。

9、entPtr=currentPtr-nextPtr; if(currentPtr=NULL)printf(隊列中無這名同學);elseprintf(%-16s%-16s%-11s%10sn,ID,name,money,expensemoney); printf(%-16d%-16s%-11.2f%10.2fn,currentPtr-ID,currentPtr-name,currentPtr-money,currentPtr-expensemoney); void deleteNode(void)/查找并刪除 LISTNODEPTR previousPtr,currentPtr;int ID1;。

10、 previousPtr=NULL;currentPtr=headPtr;/*將頭接點地址賦給currentPtr*/printf(請輸入要刪除的學號:n);scanf(%d,&ID1); /*查找待刪除結點,若找到,則由currentPt指向該結點*/while (currentPtr!=NULL & currentPtr-ID!=ID1) previousPtr=currentPtr;currentPtr=currentPtr-nextPtr;if (currentPtr!=NULL) /*如果找到要刪除的結點*/if (previousPtr=NULL) /*刪除的是頭結點*/headP。

11、tr=currentPtr-nextPtr;/*更新頭結點*/else/*刪除的是中間結點或者尾結點*/previousPtr-nextPtr= currentPtr-nextPtr;free(currentPtr); /*釋放結點內存*/ elseprintf(隊列中無這名同學) ;/沒有找到符合條件的結點 void printList(LISTNODEPTR currentPtr)/打印 if (currentPtr=NULL)printf(the list is emptyn);elseprintf(%-16s%-16s%-11s%10sn,ID,name,money,expensemo。

12、ney);while(currentPtr!=NULL)printf(%-16d%-16s%-11.2f%10.2fn,currentPtr-ID,currentPtr-name,currentPtr-money,currentPtr-expensemoney); currentPtr=currentPtr-nextPtr; int enterChoice(void) /選項1,2,3,4,5代表不同的操作 int menuChoice;printf(nEnter your choicen1.排隊n2.第一個同學打飯,并刪除該同學信息n3.第一個同學充值n 4.查詢一個同學的信息,并打印n5.刪除一個同學的信息n6.顯示當前所有排隊同學的信息n7.退出n);scanf(%d,&menuChoice);return menuChoice; /返回對應的選項序號 void destroyList(LISTNODEPTR headPtr) /釋放內存 /釋放動態空間 LISTNODEPTR tempPtr;while (headPtr!=NULL)tempPtr=headPtr;headPtr=headPtr-nextPtr;free(tempPtr。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的c语言程序设计 在线课程设计,c语言程序设计 本科课程设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。