| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖, 1 人收藏
标题:各位大神,这个程序录入成绩时怎样把录入一科成绩改成五科啊
只看楼主 加入收藏
寂卒号
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-20
结帖率:0
收藏(1)
 问题点数:0 回复次数:7 
各位大神,这个程序录入成绩时怎样把录入一科成绩改成五科啊
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int INDEX[32];
struct STUDENT
{
 int id,age,chinese,math,english;
 char name[21];
}students[32];
void page_title(char *menu_item)
{
 clrscr();
 printf(">>> 学 生 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);
}
void return_confirm(void)
 {
 printf("\n按任意键返回……\n");
 getch();
 }

void student_new(void)
 {
 int n;
 page_title("录入学生基本信息");
 for(n=0;n<32;n++)
  if(students[n].id==0) break;
 printf("学号:");
 scanf("%d",&students[n].id);
 printf("姓名:");
 scanf("%s",&students[n].name);
 printf("年龄:");
 scanf("%d",&students[n].age);
 return_confirm();
 }

int search_id(void)
 {
 int n,i;
 printf("请输入学生学号:");
 scanf("%d",&i);
 for(n=0;n<32;n++)
  {
  if(students[n].id==i&&students[n].id!=0)
   {
   printf("学号:%d\n",students[n].id);
   printf("姓名:%s\n",students[n].name);
   printf("年龄:%d\n",students[n].age);
   return n;
   }
  }
 printf("\n输入错误或学号不存在.\n");
 return -1;
 }

void student_del(void)
 {
 int n;
 page_title("注销学生基本信息");
 if((n=search_id())!=-1) students[n].id=0;
 printf("\n!该学生已注销.\n");
 return_confirm();
 }

void student_edit(void)
 {
 int n;
 page_title("编辑学生基本信息");
 if((n=search_id())!=-1)
  {
  printf("\n请重新输入新信息:\n学号:");
  scanf("%d",&students[n].id);
  printf("姓名:");
  scanf("%s",&students[n].name);
  printf("年龄:");
  scanf("%d",&students[n].age);
  }
 return_confirm();
 }

void score_input(void)
 {
 int s,n,t;
 page_title("录入成绩");
 printf("\n请用数字键选择科目\n1-语文 2-数学 3-英语\n");
 scanf("%d",&s);
 for(n=0;n<32;n++)
  {
  if(students[n].id!=0)
   {
   printf("学号:%d 姓名:%s 成绩:",students[n].id,students[n].name);
   scanf("%d",&t);
   switch(s)
    {
    case 1 : students[n].chinese=t;break;
    case 2 : students[n].math=t;break;
    case 3 : students[n].english=t;break;
    }   
   }  
  }
 return_confirm();
 }

void score_edit(void)
 {
 int n;
 page_title("修改成绩");
 if((n=search_id())!=-1)
  {
  printf("语文:%d 数学:%d 英语:%d\n",students[n].chinese,students[n].math,students[n].english);
  printf("\n请重新输入成绩:\n语文:");
  scanf("%d",&students[n].chinese);
  printf("数学:");
  scanf("%s",&students[n].math);
  printf("英语:");
  scanf("%d",&students[n].english);
  }
 return_confirm();
 }

void sort_it(char nn)
 {
 int n,m,p,x,t[32];
 for(n=0;n<32;n++)
  {
  switch(nn)
   {
   case '1' : t[n]=students[n].id;break;
   case '2' : t[n]=students[n].chinese;break;
   case '3' : t[n]=students[n].math;break;
   case '4' : t[n]=students[n].english;break;
   case '5' : t[n]=students[n].chinese+students[n].math+students[n].english;break;
   }
  }
 for(n=0;n<32;n++)
  {
  x=0;
  p=-1;
  for(m=0;m<32;m++)
   {
   if(t[m]>x)
    {
    x=t[m];
    p=m;
    }
   }
  t[p]=-1;
  INDEX[n]=p;
  }
 }

void browser(void)
 {
 int n,x;
 char k;
 sort_it('1');
 while(1)
 {
 page_title("浏览");
 printf("按数字键选择排序方式或按 0 返回\n");
 printf("学号-1\t姓名\t\t年龄\t语文-2\t数学-3\t英语-4\t总分-5\n");
 for(n=0;n<32;n++)
  {
  if(INDEX[n]!=-1)
   {
   x=INDEX[n];
   printf("%d\t%s\t",students[x].id,students[x].name);
   printf("%d\t%d\t",students[x].age,students[x].chinese);
   printf("%d\t%d\t",students[x].math,students[x].english);
   printf("%d\n",students[x].chinese+students[x].math+students[x].english);
   }
  }
 k=getch();
 if(k<'6'&&k>'0') sort_it(k);
 else if(k=='0') break;
 else continue;
 }
 }
void main(void)
{
menu: page_title("操作选单");
 printf("请用数字键选择操作\n\n");
 printf("1 录入学生基本信息\n2 修改学生基本信息\n");
 printf("3 注销学生基本信息\n\n4 录入成绩\n5 修改成绩\n\n");
 printf("6 浏览...\n \n0 退出\n");
 switch(getch())
  {
  case '1' : student_new();break;
  case '2' : student_edit();break;
  case '3' : student_del();break;
  case '4' : score_input();break;
  case '5' : score_edit();break;
  case '6' : browser();break;
  case '0' : exit(0);
  }
 goto menu;
 }


[ 本帖最后由 寂卒号 于 2013-11-25 23:25 编辑 ]
搜索更多相关主题的帖子: english include 信息 
2013-11-25 01:20
黄江海
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:16
专家分:22
注 册:2013-11-24
收藏
得分:0 
诶呀!有点晕,让我在缕缕
2013-11-25 15:55
randychang
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:7
专家分:15
注 册:2013-11-25
收藏
得分:0 
问题没描述清楚啊。一科改为五科?在哪里一科改为五科?是在录入的时候五科一起录入吗?

衣带渐宽终不悔,为伊消得人憔悴!
2013-11-25 16:41
寂卒号
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-20
收藏
得分:0 
就是在成绩录入时把录入一科改成五科,谢谢!
2013-11-25 23:20
寂卒号
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-20
收藏
得分:0 
回复 2楼 黄江海
尽快撸啊,急着用呢
2013-11-25 23:22
寂卒号
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-20
收藏
得分:0 
回复 3楼 randychang
是的
2013-11-25 23:23
randychang
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:7
专家分:15
注 册:2013-11-25
收藏
得分:0 
void score_input(void)
{
     int s,n,t1,t2,t3;
     page_title("录入成绩");
     for(n=0;n<32;n++)
    {
       if(students[n].id!=0)
       {
           printf("学号:%d 姓名:%s 成绩(输入顺序为语文,数学,英语):",students[n].id,students[n].name);
           scanf("%d%d%d",&t1,&t2,&t3);
           students[n].chinese=t1;
           students[n].math=t2;
           students[n].english=t3;
        }  
    }
    return_confirm();&t&t
}
这是你上面所有的三科的,五科的话再定义个t4,t5,将scanf("%d%d%d",&t1,&t2,&t3);改为scanf("%d%d%d%d%d",&t1,&t2,&t3,&t4,&t5);这样加,多少科都没有问题
收到的鲜花
  • 寂卒号2013-11-27 23:40 送鲜花  3朵   附言:我很赞同

衣带渐宽终不悔,为伊消得人憔悴!
2013-11-26 10:13
寂卒号
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-11-20
收藏
得分:0 
回复 7楼 randychang
好样的,谢谢哈
2013-11-27 23:41
快速回复:各位大神,这个程序录入成绩时怎样把录入一科成绩改成五科啊
数据加载中...
 
   



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

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