黑马程序员技术交流社区

标题: 经典入学基础题--学生管理系统2--仅供参考 [打印本页]

作者: Micro    时间: 2015-2-6 22:02
标题: 经典入学基础题--学生管理系统2--仅供参考
由于字数限制,接上文
经典入学基础题--学生管理系统1--仅供参考


给需要的朋友。回复可见,谢谢支持。


void shanchu()  //(struct student stu[N])
{
    int i,s,l,k=1;/*k判断是否有要删除的学生*/
    printf("请输入要删除学生的学号:");
    scanf("%d",&s);
    for(i=0;i<N;i++)
    {
        if(s==stu.number)
        {
            k=0;/*若有该学号k赋值为0*/
            printf("您要删除的学生信息为:\n");
            printf("   姓 名  年龄  性别  学号  分数\n");
            printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
            printf("\n");
            printf("确认请按:1\n按任意键返回\n");
            scanf("%d",&k);
            if(k==1)
            {
                leve--; /*删除后已录入学生个数减一*/
               

                printf("   姓 名  年龄  性别  学号  分数\n");
                for(i=0;i<=N && stu.number!=0;i++)
                {
                    printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                    printf("\n");
                }
            }

            caidan();
        }
    }
    if(k)/*k若未被赋值0,则说明没有需要删除的学生*/
        printf("没有您要查询的学生不需要删除!");
}



作者: Micro    时间: 2015-2-6 22:03
void chaxun()
{
    int y,z,i,word=1,nianling,geshu=0;/*y为查询菜单中的变量,z为要查询的学号,geshu记录查询结果中年龄相同或性别相同的学生个数,word用来判断是否有要查询的学生信息*/
    char xingming[20],xingbie[10];
    printf("\t\t*******************************\n");
    printf("\t\t1.按学号查询\n");
    printf("\t\t2.按姓名查询\n");
    printf("\t\t3.按性别查询");
    printf("\t\t4.按年龄查询\n");
    printf("\t\t5.查询所有\n");
    printf("\t\t*******************************\n");
    printf("请输入功能序号:");
    scanf("%d",&y);
    switch(y)
    {
        case 1:printf("请输入要查询的学号:");
            scanf("%d",&z);

            printf("   姓 名  年龄  性别  学号  分数\n");
            for(i=0;i<N;i++)
            {
                if(z==stu.number)//由学号来寻找目标学生
                {
                    printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                    printf("\n");
                    word=0;/*若有要查询的学生则word赋值0   下同*/
                };
            }
            if(word)/*判断word的值  下同*/
                printf("没有您查询的学生信息!\n");
            ;break;
        case 2:printf("请输入要查询的姓名:");
            scanf("%s",xingming);
            printf("   姓 名  年龄  性别  学号  分数\n");
            for(i=0;i<N;i++)
            {
                if(strcmp(xingming,stu.name)==0)//姓名字符比较
                {
                    printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                    printf("\n");
                    word=0;
                };
            }
            if(word)
                printf("没有您查询的学生信息!\n");
            break;
        case 3:printf("请输入要查询的性别:");
            scanf("%s",xingbie);
            printf("   姓 名  年龄  性别  学号  分数\n");
            for(i=0;i<N;i++)/*将结构体中信息逐一比较*/
            {
                if(strcmp(xingbie,stu.sex)==0)
                {
                    printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                    printf("\n");
                    word=0;
                    geshu++;/*若相等个数自增  下同*/
                };
            }
            if(word==0)
                printf("%s生的个数为:%d",xingbie,geshu);/*输出查询性别的学生个数  下同*/
            if(word)
                printf("没有您查询的学生信息!\n");
            geshu=0;
            break;
        case 4:printf("请输入要查询的年龄:");
            scanf("%d",&nianling);
            printf("   姓 名  年龄  性别  学号  分数\n");
            for(i=0;i<N;i++)
            {
                if(nianling==stu.age)
                {
                    printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                    printf("\n");
                    word=0;
                    geshu++;
                };
            }
            if(word==0)
                printf("%d岁的学生个数为:%d",nianling,geshu);//输出所查询学生的个数
            if(word)
                printf("没有您查询的学生信息!\n");
            geshu=0;
            break;
        case 5:
            printf("   姓 名  年龄  性别  学号  分数\n");/*顶行输出属性*/
            printf("\n");
            for(i=0;i<=N && stu.number!=0;i++)
            {
                printf("%6s%4d%4s%4d%4d",stu.name,stu.age,stu.sex,stu.number,stu.score);
                printf("\n");
            }
            break;
        default :printf("请输入正确的序号!\n");
    }
}
  //  全文-----------完结;


作者: lumingfu    时间: 2015-2-7 15:53
:lol:lol:lol
作者: MacxChina    时间: 2015-2-7 17:49
mark!!!!;P
作者: Micro    时间: 2015-2-7 17:52

混多久了。这么多黑马币
作者: MacxChina    时间: 2015-2-7 19:42
Micro 发表于 2015-2-7 17:52
混多久了。这么多黑马币

看注册时间!我都没怎么来论坛。也是最近。
作者: hypoyan    时间: 2015-2-7 21:23
多谢分享...
作者: ttwkxk    时间: 2015-2-7 21:47
在学习中,看看

作者: ljymm    时间: 2015-2-7 21:54
感谢楼主
作者: Melody丶Zhy    时间: 2015-2-7 22:29
Mark学习一下
作者: 昨夜雨轻栏    时间: 2015-2-7 22:39
mark,回头看看
作者: 仰望的繁华    时间: 2015-2-7 23:15
如果抽到这个题目要写好多啊
作者: 562632346    时间: 2015-2-7 23:19
学习一下
作者: 挑战    时间: 2015-2-9 13:08
好啊、、、、、、、、
作者: lanyu2014sc    时间: 2015-2-9 16:45
继续看看
作者: lanyu2014sc    时间: 2015-2-9 16:48
继续看看如何做
作者: 谢囧    时间: 2015-2-9 17:10
谢谢分享:P
作者: superdite    时间: 2015-2-17 21:21
mark,参考学习
作者: 不爱不诺    时间: 2015-4-14 17:15
为面试做准备了...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2