标题:求助:实训室管理系统出现好几个相同的错误
只看楼主
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
结帖率:83.33%
 问题点数:0 回复次数:11 
求助:实训室管理系统出现好几个相同的错误
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int STUDENT();
int Struct1();
int CK();

char CK_course();
char CK_course_data_number();
char CK_course_circuit_number();
char CK_name();
char CK_name_data_teacher();
char CK_name_circuit_teacher();


int TEACHER();


int ADMINISTRATOR();

int SHOW()
{

    printf("***********************************************\n");
    printf("学生    请按1\n");
    printf("老师    请按 2\n");
    printf("管理员    请按3\n");
    printf("退出    请按4\n");
    printf("***********************************************\n");
        printf("\n");
 }
 
 
 
int STUDENT()
{
    int a,b,c;int flag=0;//标志0为真,1为假
    int xuehao=1,mima=22;
    printf("请输入你的学号:");
    scanf("%d",&a);printf("\n");
    printf("请输入你的密码:");
    scanf("%d",&b);printf("\n");
     if(a==xuehao&&b==mima)
    {
        printf("***************STUDENT*************************\n");
        printf("查询课程        请按1\n");
        printf("修改课程表        请按2\n");
        printf("添加课程        请按3\n");
        printf("返回上一界面    请按4\n");
        printf("退出            请按5\n");
        printf("***********************************************\n");
        printf("\n");
    }
    scanf("%d",&c);
    switch(c)
    {
        case 1:CK();break;
        case 4:SHOW();break;
        default:printf("输入错误,已退出!\n");flag=1;
    }

}

int Struct1()
{
    typedef struct ke
    {
        char week[10];
        char course[20];//课程名称
        char name[10];//老师名字
    }KE;
    KE k[10]={
                {"Monday","Data structure","Liuyang"},
                {"Tuesday","Circuit basis","Liulei"},
                {"Wednesday","Data structure","Liuyang"}
            };
}

int CK()//查询课程
{
    int a;char w[20];
    printf("***************STUDENT*************************\n");
    printf("按照星期几查询        请按1\n");//周几有没有课
    printf("按照课程名称查询    请按2\n");//什么课一共有几节
    printf("按照上课老师查询    请按3\n");//哪位老师一共上几节课
    printf("返回上一界面        请按4\n");
    printf("退出                请按5\n");
    printf("***********************************************\n");
    printf("\n");
    scanf("%d",&a);
    switch(a)
    {
        case 2:CK_course();break;
        case 3:CK_name();break;
        case 4:SHOW();break;
        default:printf("输入错误!已退出!");
    }
}

char CK_course()//按课程名称查找
{
    int a;
    printf("***********************************************\n");
    printf("Data structure  请按1\n");
    printf("Circuit basis   请按2\n");
    printf("返回上一界面    请按3\n");
    printf("退出            请按4\n");
    printf("***********************************************\n");
    scanf("%d",&a);printf("\n");
    switch(a)
    {
        case 1:CK_course_data_number();break;
        case 2:CK_course_circuit_number();break;
        case 3:CK();break;
        default:printf("已退出!\n");
    }
}

char CK_course_data_number()//查找某一课程的节数
{
    Struct1();
    int i=0;
    if(strcmp("Data structure",KE.course)==0)//通过比较字符串是否相同,计算个数
    i++;
    printf("Data structure 共有%d节\n",i);
}

char CK_course_circuit_number()//查找某一课程的节数
{
    Struct1();
    int i=0;
    if(strcmp("Circuit basis",KE.course)==0)//通过比较字符串是否相同,计算个数
    i++;
    printf("Circuit basis 共有%d节\n",i);
}

char CK_name()//按老师名字查找,
{
    int a;
    printf("***********************************************\n");
    printf("Liuyang teacher  请按1\n");
    printf("Liulei teacher   请按2\n");
    printf("返回上一界面     请按3\n");
    printf("退出             请按4\n");
    printf("***********************************************\n");
    scanf("%d",&a);printf("\n");
    switch(a)
    {
        case 1:CK_name_data_teacher();break;
        case 2:CK_name_circuit_teacher();break;
        case 3:CK();break;
        default:printf("已退出!\n");
    }
}

char CK_name_data_teacher()//查找某一老师的课程
{
    Struct1();
    int i=0;
    if(strcmp("Liuyang",KE.name)==0)//通过比较字符串是否相同,计算个数
    i++;
    printf("Liuyang 共上%d节课\n",i);
}

char CK_name_circuit_teacher()//查找某一位老师的课
{
    Struct1();
    int i=0;
    if(strcmp("Liulei",KE.name)==0)//通过比较字符串是否相同,计算个数
    i++;
    printf("Liulei 共上%d节ke\n",i);
}



typedef struct computer
{
    char lx[20];//电脑类型
    char pr[6];//电脑价格
    char ys[10];//电脑颜色
    char cpu[3];//cpu类型
}DN;
DN dn[50];
 int TEACHER()
{
    printf("***************TEACHER*************************\n");
    printf("查询电脑信息    请按1\n");
    printf("修改电脑信息    请按2\n");
    printf("返回上一菜单    请按3\n");
    printf("退出            请按4\n");
    printf("***********************************************\n");
        printf("\n");

}



int ADMINISTRATOR()
{
    printf("***************ADMINISTRATOR*******************\n");
    printf("查询实训室信息        请按1\n");
    printf("修改实训室信息        请按2\n");
    printf("添加实训室信息      请按3\n");
    printf("退出                请按4\n");
    printf("***********************************************\n");
        printf("\n");
    int a;
    scanf("%d",&a);
    if(a==1)
    printf("输入错误,已退出!\n");
}
int main()
{
    int a;int flag=0;
    while(1)
    {
        SHOW();
        scanf("%d",&a);
        switch(a)
        {
            case 1:STUDENT();break;
            case 2:TEACHER();break;
            case 3:ADMINISTRATOR();break;
            default:printf("输入错误,已退出!\n");flag=1;
        }
        break;
    }
   
    return 0;
}


以char CK 开头的几个小函数里出现的错误
搜索更多相关主题的帖子: int char printf case break 
2017-06-29 19:24
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
你这些函数大都没有返回值  这是不被允许的  
还有 你应该知道你想干什么 你大部分设置的都是返回char 类型  这个单独返回char 的函数实在是太少见了

DO IT YOURSELF !
2017-06-30 09:04
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
得分:0 
回复 2楼 wp231957
我把char改成int,void都不行啊,最后还是原来那样
2017-07-01 16:30
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用Jessica_Rong在2017-7-1 16:30:11的发言:

我把char改成int,void都不行啊,最后还是原来那样


我楼上都说了  你自己得知道你自己在干什么  那函数返回值是随便填个啥就行吗

DO IT YOURSELF !
2017-07-02 09:04
wyy12300
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-7-1
得分:0 
现在解决没,没有来410
2017-07-02 20:23
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
得分:0 
回复 5楼 wyy12300
还没,我后来又写了一些,出现的错误大部分都是相同的
2017-07-02 22:34
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 6楼 Jessica_Rong
你到现在都没发现你的所有函数都缺少返回值?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-02 22:40
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
得分:0 
回复 4楼 wp231957
410 是什么??
2017-07-02 23:04
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
得分:0 
回复 6楼 Jessica_Rong
但是我认为我写的这个程序不需要返回什么啊,我在调用的时候也没有用它返回什么啊
2017-07-02 23:19
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
除前面各楼没有返回值外,  KE没有声明, 结构体的变量定义成全局
你要明白KE是什么东西,是一个代号,
if (strcmp("Liulei", k[i].name) == 0)//通过比较字符串是否相同,计算个数


[此贴子已经被作者于2017-7-2 23:50编辑过]


早知做人那么辛苦!  当初不应该下凡
2017-07-02 23:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479064-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.383525 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved