这个程序到底那里出错了啊???大哥大姐们帮帮忙吧!!!怎么会错了呢。。。
输入功能:输入上机学生的学号、班级、姓名、上机起始时间。
计算功能:计算每个学生的上机费用。每小时1元。
上机费用=上机时间*1元/h,不足1小时按1小时计算
查询功能:查找学生上机信息并显示(班级、学号、姓名)
显示机器使用情况信息
要求编写多个函数分别实现上述功能,而后在main函数中进行调用。
#include<iostream.h>
#include<time.h>
const int N=5;
//结构体声明
struct stu
{
int num[10];/*学号*/
char name[20];/*姓名*/
char banji;/*班级*/
int flag;/*上机标志,标记学生是否上机*/
char ontime;/*上机起始时间*/
}stu[50];
struct time
{
int hour;
int minute;
int second;
};
struct comp
{
int f;/*标记机器是否使用*/
struct student stus;/*使用机器的学生*/
}comp[30];
//函数声明
void menu();/*机房管理系统菜单*/
void input();/*输入若干学生学号,班级,姓名,上机起始时间*/
void calculate();/*计算每个学生的上机费用*/
void search();/*查询学生上机信息并显示*/
void information();/*机器使用情况*/
void exit();/*退出系统*/
//主函数
void main()
{
char a;
menu();
switch(a)
{
case 1:input();
case 2:calculate();
case 3:search();
case y:
}
}
void menu()
{
cout<<"*******************欢迎进入机房收费管理系统*********************"<<endl;
cout<<"\t* 1.录入功能 *2.计算功能 *3.查询功能\n";
cout<<"**************************************************************\n";
cout<<"\n\t 请输入您的选择:";
}
void input()
{
student stu[N];
cout<<"请输入学生的信息:";
cout<<"学号 姓名 班级 上机起始时间";
for(i=0;i<N;i++)
{
cin>>stu[i].num>>stu[i].name>>stu[i].banji>>stu[i].ontime;
cout<<"您已成功录入"<<i<<"条信息";
}
}
void calculate()
{
int hours;
}
void search()
{
cout<<"\n请选择查询方式:1,根据学号查询;2,根据班级查询;3,根据姓名查询";
int a,b;
char c,d;
switch(a)
{
case 1:cout<<"请输入学生的学号";
cin>>b;
for(i=0;i<N;i++)
{
if(b==stu[i].num)
break;
if(i==N)
cout<<"该生不存在:";
else
cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl;
}break;
case 2:cout<<"请输入学生的班级";
cin>>c;
for(i=0;i<N;i++)
{
if(c==stu[i].banji)
break;
if(i==N)
cout<<"该生不存在:";
else
cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl;
}break;
case 3:cout<<"请输入学生的姓名";
cin>>d;
for(i=0;i<N;i++)
{
if(d==stu[i].banji)
break;
if(i==N)
cout<<"该生不存在:";
else
cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl;
}break;
void information()
{
int count=0;
for(int i=0;i<N;i++)
if(stu[i].ontime)
count++;
cout<<"共有"<<count<<"台机器在使用";
void exit()
{
[解决办法]
这个代码是可以使用的:
- C/C++ code
#include<iostream>using namespace std;#include<time.h>const int N=5;//结构体声明struct student //结构体的名字需要修改下的{ int num;/*学号*/ char name[20];/*姓名*/ char banji;/*班级*/ int flag;/*上机标志,标记学生是否上机*/ char ontime[20];/*上机起始时间*/};struct time{ int hour; int minute; int second;};struct comp{ int f;/*标记机器是否使用*/ struct student stus;/*使用机器的学生*/}comp[30];//函数声明void menu();/*机房管理系统菜单*/void input();/*输入若干学生学号,班级,姓名,上机起始时间*/void calculate();/*计算每个学生的上机费用*/void search();/*查询学生上机信息并显示*/void information();/*机器使用情况*/void exit();/*退出系统*/student stu[N];//主函数void main(){ int a; menu(); cin>>a; switch(a) { case 1:input(); case 2:calculate(); case 3:search(); case 4:information(); case 5:exit(); }}void menu(){ cout<<"*******************欢迎进入机房收费管理系统*********************"<<endl; cout<<"\t* 1.录入功能 *2.计算功能 *3.查询功能\n"; cout<<"**************************************************************\n"; cout<<"\n\t 请输入您的选择:";}void input(){ int i; cout<<"请输入学生的信息:"<<endl; cout<<"学号 姓名 班级 上机起始时间"<<endl; for(i=0;i<N;i++) { cin>>stu[i].num>>stu[i].name>>stu[i].banji>>stu[i].ontime; cout<<"您已成功录入"<<i+1<<"条信息"<<endl; }}void calculate(){ int hours; int i , j; bool flag; for(i=0;i<N;i++) { hours=0; flag = false; for(j=0 ; stu[i].ontime[j]!=':' ; ++j) //小时、分钟之间的分隔符 hours = hours*10+stu[i].ontime[j]-'0'; for(; stu[i].ontime[j]!='\0' ; ++j) { if(stu[i].ontime[j] > '0') //有不足一小时按一小时计算 { flag = true; break; } } if(flag) hours += 1; cout<<"第"<<i+1<<"个学生的上机费用:"<<hours<<endl; }}void search(){ cout<<"\n请选择查询方式:1,根据学号查询;2,根据班级查询;3,根据姓名查询"; int a,b,i; char c,name[20]; cin>>a; switch(a) { case 1: cout<<"请输入学生的学号"; cin>>b; for(i=0;i<N;i++) { if(b==stu[i].num) break; } if(i<N && b==stu[i].num) cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl; else cout<<"该生不存在:"<<endl; break; case 2: cout<<"请输入学生的班级"; cin>>c; for(i=0;i<N;i++) { if(c==stu[i].banji) break; } if(i<N && c==stu[i].banji) cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl; else cout<<"该生不存在:"<<endl; break; case 3: cout<<"请输入学生的姓名"; cin>>name; for(i=0;i<N;i++) { if(strcmp(name,stu[i].name) == 0) break; } if(i<N && strcmp(name,stu[i].name) == 0) cout<<"学号\t"<<stu[i].num<<"姓名\t"<<stu[i].name<<"班级\t"<<stu[i].banji<<"上机时间\t"<<stu[i].ontime<<endl; else break; }}void information(){ int i , count=0; for(i=0;i<N;i++) { if(stu[i].ontime) count++; } cout<<"共有"<<count<<"台机器在使用";}void exit(){ exit(0);}