C语言课程设计(机房管理系统)

  • 格式:doc
  • 大小:931.50 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言课程设计》报告

题目:机房收费管理系统

专业年级:通信三班

学号:

姓名:

指导教师:***

20 12 年 6 月

[问题定义]

选定的题目内容:

选题十二:机房收费管理系统

(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。

(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))

(3)修改功能:修改学生上机的个人档案(如:增添)

(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。

实际完成的软件功能:

(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。

(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))

(3)修改功能:修改学生上机的个人档案(如:增添)

(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案

(5)显示功能:显示全部机器的使用信息

[开发工具] Visual C++ 6.0

[数据结构]见代码注释

//(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。

//(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))

//(3)修改功能:修改学生上机的个人档案(如:增添)

//(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。

#include

#include

#include

#include

struct time------------------------------------/*时间*/ {int hour;

int minute;

int second;};

typedef struct-----------------------------/*学生信息*/ {char num[20];-------------------------------/*学号*/ char banji; -------------------------------/*班级*/ int flag; --------------------/*用来标注学生是否上机*/ char name[20]; -------------------------------/*姓名*/ struct time kaishi,jiesu;-------------/*上机起始时间*/ }Student;

Student stu[50]; --------------------------/*信息库*/ struct computer---------------------------/*机器信息*/ {int f; ------------------/*用来标注这台机器是否使用*/ Student stut; -----------------/*使用这台机器的学生*/ }com[30]; --------------------------/*30台机器*/

int k;

int main_menu()-----------------------------/*主菜单*/

{char c;

do

{system("cls");-----------------------/*清屏*/

printf("\t╭━━━机房收费管理系统━━━╮\n");

printf("\t┃ 1.输入学生信息┃\n");

printf("\t┃ 2.上机时间┃\n");

printf("\t┃ 3.下机时间┃\n");

printf("\t┃ 4.查询上机时间及费用┃\n");

printf("\t┃ 5.电脑使用情况显示┃\n");

printf("\t┃ 0.退出系统┃\n");

printf("\t╰━━━━━━━━━━━━━━╯\n");

printf("\t请选择菜单序号(0-5): ");

c=getchar();

}while(c<'0'||c>'5'); -----------/*判断输入是否合法*/

return(c-'0');}

int input(Student stu[],int n) ---------/*输入学生信息*/

{int i=0;

char sign='0';

while(sign!='n'&&sign!='N') -----/*判断是否继续输入学

生信息*/

{getchar();-----------------------/*吃掉回车*/ printf("\n\t\t 学号:");

gets(stu[n+i].num);

printf("\t\t 班级:");

scanf("%s",&stu[n+i].banji);

getchar();

printf("\t\t 姓名:");

gets(stu[n+i].name);

printf("\t\t 继续输入? 是请按Y,否请按N:");

scanf("%c",&sign);

stu[n+i].flag=0; ---------------/*初始化为未上机*/ i++;

}

return(n+i);

}

void shangji(Student stu[],int n) -------------/*上机*/ {char num_t[20],name_t[20];

int i,s;

do

{printf("\n\t\t 使用姓名输入1\n\t\t 使用学号输入2\n\t\t 请输入序号:");

scanf("%d",&s);