| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:关于程序返回问题
只看楼主 加入收藏
gxyltwc
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-5-16
结帖率:0
收藏
已结贴  问题点数:1 回复次数:2 
关于程序返回问题
现在编写一个学生信息管理系统,但不知道怎么在输入完学生信息后,在返回菜单选择查询学生信息,程序代码如下#include<stdio.h>
#define N 30
int i;
struct student{
    char no[10];
    char name[10];
    char sex[3];
    int year;
    char phone[15];
    char address[50];
    float results[5];
}stu[100];
/* 录入函数*/
void setup(){
    int j;
    for(i=0;i<N;i++)
    {
        printf("请输入学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
        scanf("%s",stu[i].no);
        scanf("%s%s%d%s%s",stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
        for(j=0;j<5;j++)
            scanf("%f",&stu[i].results[j]);
    };
}
/*全部信息输出*/
void showall(){
    int j;
    for(i=0;i<N;i++)
    {
        printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
        printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
        for(j=0;j<5;++j)
            printf("%2d",stu[i].results[j]);
        
    };
};
/*求平均值*/
void average(){
    char str[10];
    float aver;
    int k;
    printf("请输入要查询平均值的学生学号\n");
    for(i=0;i<10;i++)
        scanf("%s",str[i]);
    for(i=0;i<N;i++){
        if(str==stu[i].no)
        {
            for(k=0;k<5;k++)
                aver+=stu[i].results[k];
            break;
        }
    }
    aver=aver/5;
    printf("此学生的成绩平均分为%f",aver);   
};
/*查询平均分最高的学生*/
void maxaverage(){
    float num[N];
    float ave;
    int n=0;
    int l,j;
    int p;
    for(l=0;l<N;l++)
    {
        float sum=0;
        for(p=0;p<5;p++)
            sum+=stu[l].results[p];
        ave=sum/5;
        num[l]=ave;
    };
    for(i=1;i<N;i++)
    {
        if(num[n]<num[i])
            n=i;
    };
    printf("平均分最高的学生信息为\n");
    printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
    printf("%s %s %s %d %s %s %f",stu[n].no,stu[n].name,stu[n].sex,&stu[n].year,stu[n].phone,stu[n].address);
    for(j=0;j<5;++j)
        printf("%2d",stu[i].results[j]);
}
/*通过学号查询学生的成绩*/
void findno(){
    char st[10];
    int j;
    printf("请输入要查询学生的学号");
    for(i=0;i<10;i++)
        scanf("%s",st[i]);
    for(i=0;i<N;i++)
    {
        if(st==stu[i].no){
            printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
            printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
            for(j=0;j<5;++j)
                printf("%2d",stu[i].results[j]);
        };
    };
};
/*通过名字查询学生的成绩*/
void findname(){
    char na[10];
    int b;
    printf("请输入要查询学生的姓名");
    for(i=0;i<10;i++)
        scanf("%s",na[i]);
    for(i=0;i<N;i++)
    {
        if(na==stu[i].name)
        {
            printf("学生的学号,姓名,性别,年龄,电话,家庭住址,5门成绩\n");
            printf("%s %s %s %d %s %s %f",stu[i].no,stu[i].name,stu[i].sex,&stu[i].year,stu[i].phone,stu[i].address);
            for(b=0;b<5;++b)
                printf("%2d",stu[i].results[b]);
        };
    };
};
void main(){
    int a;
    printf("**********************************************************\n");
    printf("*                                                        *\n");
    printf("*            XX中学学生管理系统                          *\n");
    printf("**********************************************************\n");
    printf("*请选择功能:                                             *\n");
    printf("*             1.输入学生信息                             *\n");
    printf("*             2.打印学生信息                             *\n");
   
    scanf("%d",&a);
    switch(a)
    {
    case 1:
        {
            setup();
            break;
        }
    case 2:
        {
            int u;
            printf("**********************************************************\n");
            printf("*                                                        *\n");
            printf("*            XX中学学生管理系统                          *\n");
            printf("**********************************************************\n");
            printf("*请选择功能:                                             *\n");
            printf("*             1.输出全部学生信息                         *\n");
            printf("*             2.查询学生的平均分                         *\n");
            printf("*             3.查询平均分最高的学生成绩                 *\n");
            printf("*             4.按姓名查询信息                           *\n");
            printf("*             5.按学号查询信息                           *\n");
            scanf("%d",&u);
            switch(u)
            {
            case 1:
                showall();
                break;
            case 2:
                average();
                break;
            case 3:
                maxaverage();
                break;
            case 4:
                findname();
                break;
            case 5:
                findno();
                break;
            }
        }
    }
}
搜索更多相关主题的帖子: 学生 信息 address include 
2013-05-23 16:13
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:1 
void main(){
     int a;
     printf("**********************************************************\n");
     printf("*                                                        *\n");
     printf("*            XX中学学生管理系统                          *\n");
     printf("**********************************************************\n");
     printf("*请选择功能:                                             *\n");
     printf("*             1.输入学生信息                             *\n");
     printf("*             2.打印学生信息                             *\n");
     
    scanf("%d",&a);
     switch(a)
     {
     case 1:
         {
             setup();
             break;
         }
     case 2:
         {
             int u;
             printf("**********************************************************\n");
             printf("*                                                        *\n");
             printf("*            XX中学学生管理系统                          *\n");
             printf("**********************************************************\n");
             printf("*请选择功能:                                             *\n");
             printf("*             1.输出全部学生信息                         *\n");
             printf("*             2.查询学生的平均分                         *\n");
             printf("*             3.查询平均分最高的学生成绩                 *\n");
             printf("*             4.按姓名查询信息                           *\n");
             printf("*             5.按学号查询信息                           *\n");
             scanf("%d",&u);
             switch(u)
             {
             case 1:
                 showall();
                 break;
             case 2:
                 average();
                 break;
             case 3:
                 maxaverage();
                 break;
             case 4:
                 findname();
                 break;
             case 5:
                 findno();
                 break;
             }
         }
     }
return main();///////////////////////////////////////////
 }
2013-05-23 16:45
h1023417614
Rank: 4
等 级:禁止访问
帖 子:211
专家分:237
注 册:2012-11-30
收藏
得分:0 
或者在mian里能个while循环啊!!!!!!
2013-05-23 16:47
快速回复:关于程序返回问题
数据加载中...
 
   



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

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