读书人

这个程序到底那里出错了啊大哥大姐们帮

发布时间: 2012-08-02 11:35:26 作者: rapoo

这个程序到底那里出错了啊???大哥大姐们帮帮忙吧!!!怎么会错了呢。。。
输入功能:输入上机学生的学号、班级、姓名、上机起始时间。
计算功能:计算每个学生的上机费用。每小时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);} 

读书人网 >C++

热点推荐