c语言程序设计 本 科 课 程 设 计.doc

c语言程序设计 本 科 课 程 设 计.doc

ID:57448695

大小:66.15 KB

页数:11页

时间:2020-08-20

c语言程序设计 本 科 课 程 设 计.doc_第1页
c语言程序设计 本 科 课 程 设 计.doc_第2页
c语言程序设计 本 科 课 程 设 计.doc_第3页
c语言程序设计 本 科 课 程 设 计.doc_第4页
c语言程序设计 本 科 课 程 设 计.doc_第5页
资源描述:

《c语言程序设计 本 科 课 程 设 计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、农业大学本科课程设计课程:C语言程序设计学院:信息学院专业班级:学号:学生指导教师:教师职称:教授2012年6月17日一.设计容1、编写模拟同学排队打饭程序,只允许在队尾排队不允许插队。记录的学生信息可简可繁例如:学号,,金额,消费总额等。实现学生排队、打饭、充值、查询(按学号和)、删除(学号)、按消费总额排序等操作。程序所显示的菜单容如下:请选择下面的一个项目:1排队2打饭3充值4查询5删除6按消费总额排序7显示8退出一.设计要求程序要求1)各个题目所需信息均采用链表结构存储;2)各项功能的使用通过选择菜单项实现;3)显示或输出可根据需要显式输出(即选择菜单中的输出或显示

2、)或隐式输出(完成某项操作后即刻输出);4)可以选择使用文件存储系统中的数据5)如果同学认为自己有特殊想法也可编程实现。一.设计分析(1)建立一个函数,用来保存学生的学号,,,班级,饭卡余额,密码等信息,完成餐卡功能。主函数用八个子函数,分别完成排队,打饭,充值,查询,删除,消费总额,显示,退出。(2)main()主函数:定义本程序用到的各个变量及函数,然后读取文件进行的流程图如图开始读取文件正确读取输出菜单结束选择功能排队买饭充值查找并打印查找并删除打印释放内存flee排队,新加入一个同学插入结点创建头结点将结点连上链表尾结点设置链表结束标记使lastPtr指向当前链表的

3、最后一个结点(一)查找并删除查找待删除结点指向该结点找到要删除的结点没有找到符合条件的结点删除头结点删除中间结点或者尾结点释放结点内存二)(三)充值结束输入输出#include#includestructnote{intID;charname[40];floatmoney;floatexpensemoney;structnote*nextPtr;};//结构typedefstructnoteLISTNODE;typedefLISTNODE*LISTNODEPTR;LISTNODEPTRheadPtr=NULL,lastPtr=NULL,

4、headPtr1=NULL;intenterChoice(void);voidnewstudent(void);voidbuyfood(void);voidrecharge(void);voidfind(void);voiddeleteNode(void);voidprintList(LISTNODEPTRcurrentPtr);intenterChoice(void);voiddestroyList(LISTNODEPTRheadPtr);//函数原型voidmain(){intchoice;while((choice=enterChoice())!=7){switch(

5、choice){case1:newstudent();break;case2:buyfood();break;case3:recharge();break;case4:find();break;case5:deleteNode();break;case6:printList(headPtr);break;}}destroyList(headPtr);//选择功能system("pause");return;}voidnewstudent(void)//排队,新加入一个同学{LISTNODEPTRcurrentPtr=NULL;currentPtr==malloc(sizeo

6、f(LISTNODE));/*分配结点存*/if(currentPtr!=NULL){/*插入结点*/if(headPtr==NULL){/*若创建的是头结点*/headPtr=currentPtr;lastPtr=currentPtr;}else{lastPtr->nextPtr=currentPtr;/*将结点连上链表尾结点*/lastPtr=currentPtr;/*使lastPtr指向当前链表的最后一个结点*/}printf("EnterID");scanf("%d",¤tPtr->ID);printf("Entername");getchar(

7、);gets(currentPtr->name);printf("Entermoney");scanf("%f",¤tPtr->money);printf("Enterexpensemoney");scanf("%f",¤tPtr->expensemoney);}lastPtr->nextPtr=NULL;/*设置链表结束标记*/}voidbuyfood(void)//买饭,并将第一个节点删掉{LISTNODEPTRcurrentPtr=NULL;printf("买饭成功,退出队伍"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。