C语言课程设计(机房管理系统)
- 格式:doc
- 大小:931.50 KB
- 文档页数:18
《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);