c语言程序设计 本 科 课 程 设 计
河北农业大学
本 科 课 程 设 计
课 程: C语言程序设计
学 院: 信息学院
专业班级:
学 号:
学生姓名
指导教师:
教师职称: 教 授
2012 年 6 月 17 日
设计内容
编写模拟同学排队打饭程序,只允许在队尾排队不允许插队。记录的学生信息可简可繁例如:学号,姓名,金额,消费总额等。实现学生排队、打饭、充值、查询(按学号和姓名)、删除(学号)、按消费总额排序等操作。程序所显示的菜单内容如下:
请选择下面的一个项目:
排队
打饭
充值
查询
删除
按消费总额排序
显示
退出
设计要求
程序要求
1)各个题目所需信息均采用链表结构存储;
2)各项功能的使用通过选择菜单项实现;
3)显示或输出可根据需要显式输出(即选择菜单中的输出或显示)或隐式输出(完成某项操作后即刻输出);
4)可以选择使用文件存储系统中的数据
5)如果同学认为自己有特殊想法也可编程实现。
设计分析
(1)建立一个函数,用来保存学生的学号,姓名,电话号码,班级,饭卡余额,密码等信息,完成餐卡功能。主函数用八个子函数,分别完成排队,打饭,充值,查询,删除,消费总额,显示,退出。
(2)main()主函数:定义本程序用到的各个变量及函数,然后读取文件进行的流程图如图
(一)
二)
(三)
#include
#include
struct note{
int ID;
char name[40];
float money;
float expensemoney;
struct note *nextPtr;
}; // 结构
typedef struct note LISTNODE;
typedef LISTNODE * LISTNODEPTR;
LISTNODEPTR headPtr=NULL,lastPtr=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())!=7){
switch(choice){
case 1:
newstudent();
break;
case 2:
buyfood();
break;
case 3:
recharge();
break;
case 4:
find();
break;
case 5:
de