| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2042 人关注过本帖, 1 人收藏
标题:求纯用C语言做一个学生管理系统,不能用指针!
只看楼主 加入收藏
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
结帖率:50%
收藏(1)
已结贴  问题点数:15 回复次数:17 
求纯用C语言做一个学生管理系统,不能用指针!
1,输入:函数input把20名学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入、然后计算出平均分和总成绩放在结构体对应域中。
2、插入、insert函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。
3、排序:sort函数对所有学生按平均分排序,并输出。
4、查找:find函数输入一个学生的学号火姓名,找到该生并输出该生的全部内容。要求能查询多次。
5、删除:delete函数输入一个学生的学号或姓名,找到该生并删除该生的全部内容。
6、输出:函数output输出全部学生的记录。
7、main函数调用所有函数,实现全部函数功能。
如下:
#include "stdio.h"
#include "string.h"
#include "windows.h"
struct node
{
    int code;                          //学号
    char name[20];                     //姓名
    char type;                        //性别
    int age;                        //年龄
    int chinese;                        //语文成绩
    int english;                    //英语成绩
    int computer;                    //计算机成绩
    int math;                        //数学成绩
    int total;                        //总成绩
    int average;                    //平均成绩   
}stu[100];
struct node temp;
void menu()
{
   
    printf("\15t学生成绩管理系统");
    printf("\20t***************************");
    printf("\20t*                *  ");
    printf("\20t* 【1】 输 入 数 据       *");
    printf("\20t* 【2】 查 找 数 据       *");
    printf("\20t* 【3】 插 入 数 据       *");
    printf("\20t* 【4】 删 除 数 据       *");
    printf("\20t* 【5】 打 印 数 据       *");
    printf("\20t* 【6】 排 序 数 据       *");
    printf("\20t* 【7】 退 出             *");
    printf("\20t*                 *");
    printf("\20t*                 *");
    printf("\20t***************************");
    printf("\21请输入你的选项<1-7>:");
}。。。。。。。。。。。。
搜索更多相关主题的帖子: C语言 指针 管理 学生 系统 
2010-09-10 17:03
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:1 
明显又是课程设计...................

什么时候交?

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-09-10 17:48
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:1 
无语,留下QQ

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-10 19:38
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
收藏
得分:0 
QQ 511537087

9月13日交!12号晚必须赶出
2010-09-10 20:55
cacker
该用户已被删除
收藏
得分:1 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-10 21:06
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
收藏
得分:0 
回复 4楼 青涩苹果
恩、我自己也再编写着。想看看大家和我做的有什么不同。
2010-09-10 23:42
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
收藏
得分:0 
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "windows.h"
#include "string.h"
 
void menu();
void error();
void insert();
void input();
void find();
void output();
void sort();
void del();

struct node
{
     int code;
     char name[20];
     char type;
     int age;
     int chinese;
     int english;
     int computer;
     int math;
     int total;
     int average;
}stud[5];
struct node temp;

void menu()
{
    int n;
    system("cls");
    printf("        学员信息管理系统       \n");
    printf("*******************************\n");
    printf("        【1】输入数据       \n");
    printf("        【2】查找数据       \n");
    printf("        【3】插入数据       \n");
    printf("        【4】删除数据       \n");
    printf("        【5】输出数据       \n");
    printf("        【6】排序数据       \n");
    printf("        【7】退出           \n");
    printf("*******************************\n");
    printf("请输入你的选择(1-7)\n");
   
    scanf("%d",&n);
   
    switch(n)
    {
        case 1:input();break;
        case 2:find();break;
        case 3:insert();break;
        case 4:del();break;
        case 5:output();break;
        case 6:sort();break;
        case 7:exit(0);break;
        default:error();
        }

}

void error()
{
    printf("输入错误,请输入(1-7):\n");
    printf("按任意键结束....\n");
    fflush(stdin);
    getchar();
    system("cls");
    menu();

    }

void main()
{
    menu();
   
}

void input()
{
    int i;
    system("cls");
    printf("*********输入数据***********\n");
    for(i=0;i<5;i++)
    {
        printf("**************************\n");
        printf("请输入第%d个学员的信息:\n",i+1);
        printf("学号: ");
        scanf("%d",&stud[i].code);
        printf("姓名: ");
        fflush(stdin);
        scanf("%s",stud[i].name);
        printf("性别: ");
        fflush(stdin);
        scanf("%c",&stud[i].type);
        printf("年龄: ");
        fflush(stdin);
        scanf("%d",&stud[i].age);
        printf("语文成绩: ");
        fflush(stdin);
        scanf("%d",&stud[i].chinese);
        printf("数学成绩: ");
        fflush(stdin);
        scanf("%d",&stud[i].math);
        printf("英语成绩: ");
        fflush(stdin);
        scanf("%d",&stud[i].english);
        printf("计算机成绩: ");
        fflush(stdin);
        scanf("%d",&stud[i].computer);
        
        stud[i].total=stud[i].computer+stud[i].math+stud[i].english+stud[i].chinese;
        
        stud[i].average=stud[i].total/4;
        }
        menu();
   
}

void find()
{
    int n,m,i,j;
    char k[20];
    system("cls");
    printf("按学号查找按【1】:\n");
    printf("按姓名查找按【2】:\n");
    printf("请选择:");
    scanf("%d",&n);
   
    if(n==1)
    {
        printf("请输入学号:");
        scanf("%d",&m);
        
        for(i=0;i<5;i++)
        {
            if(m==stud[i].code)
            {
                printf("******************\n");
                printf("学号: %d\n",stud[i].code);
                printf("姓名: %s\n",stud[i].name);
                printf("性别: %c\n",stud[i].type);
                printf("语文: %d\n",stud[i].chinese);
                printf("数学: %d\n",stud[i].math);
                printf("英语: %d\n",stud[i].english);
                printf("计算机: %d\n",stud[i].computer);
                printf("平均分: %d\n",stud[i].average);
               
                }
        }
        
        
    }
    else if(n==2)
    {
        printf("请输入姓名:");
        fflush(stdin);
        gets(k);
        
        for(i=0;i<5;i++)
        {
            if(strcmp(k,stud[i].name)==0)
            {
                printf("******************\n");
                printf("学号: %d\n",stud[i].code);
                printf("姓名: %s\n",stud[i].name);
                printf("性别: %c\n",stud[i].type);
                printf("语文: %d\n",stud[i].chinese);
                printf("数学: %d\n",stud[i].math);
                printf("英语: %d\n",stud[i].english);
                printf("计算机: %d\n",stud[i].computer);
                printf("平均分: %d\n",stud[i].average);
               
                }
        }
   
    }
    else
    {
        printf("输入错误,请重新查找...按任意键继续\n");
        fflush(stdin);
        getchar();
        find();
   
    }
   
    printf("查找完毕,按任意键返回\n");
    fflush(stdin);
    getchar();
    menu();

}

void output()
{
    int i;
    system("cls");
    for(i=0;i<5;i++)
    {
                   printf("******************\n");
                printf("学号: %d\n",stud[i].code);
                printf("姓名: %s\n",stud[i].name);
                printf("性别: %c\n",stud[i].type);
                printf("语文: %d\n",stud[i].chinese);
                printf("数学: %d\n",stud[i].math);
                printf("英语: %d\n",stud[i].english);
                printf("计算机: %d\n",stud[i].computer);
                printf("平均分: %d\n",stud[i].average);
      
    }
   
    printf("****************************\n");
    printf("输出完毕,按任意键返回.....");
    fflush(stdin);
    getchar();
    menu();

}

void sort()
{
     int i,j;
     
     for(i=0;i<5;i++)
     {
          for(j=0;j<5;j++)
          {
               if(stud[i].average>stud[j].average)
                {
                      temp=stud[i];
                      stud[i]=stud[j];
                      stud[j]=temp;
                }
          }
         
     }
    printf("排序完毕,按任意键返回.....");
    fflush(stdin);
    getchar();
    menu();
}

/*void insert()
{
    int i,j,n;
    printf("请输入你要插入的学号:");
    scanf("%d",&n);
   
    for(i=0;i<5;i++)
    {
        if(stud[i]==n)
        {
            for(j=i;j<5;j++)
            {
                stud[i]=stud[j-1];
            }
        }
    }
   
    printf("插入完毕,按任意键返回......");
    fflush(stdin);
    getchar();
    menu();*/
void del()
{  
       int i,j,n;
       printf("请输入要删除的学员学号:");
       scanf("%d",&n);
      
       for(i=0;i<5;i++)
       {
               if(stud[i].code==n)
               {
                     for(j=i;j<5;j++)
                     {
                            stud[j]=stud[j+1];
                     
                         }
                  
                   }
           
       }
      
    printf("删除完毕,按任意键返回.....");
    fflush(stdin);
    getchar();
    menu();
   
   
   
   
    }


大家帮忙看看那里出错了!!!!
2010-09-11 10:56
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:1 
有好处没有啊!
2010-09-11 11:10
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
收藏
得分:0 
回复 7楼 青涩苹果
无语。。。。
2010-09-11 14:50
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
收藏
得分:0 
回复 4楼 青涩苹果
谢谢哦!
2010-09-12 14:05
快速回复:求纯用C语言做一个学生管理系统,不能用指针!
数据加载中...
 
   



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

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