| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 269 人关注过本帖
标题:新手不知道做程序框图 求人教教我! 程序在下面!
取消只看楼主 加入收藏
blue_kill
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
新手不知道做程序框图 求人教教我! 程序在下面!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>

struct student
{ char num[10];
  char name[12];
  int age;
  int grade[3];
  }stu[20];
int k=0;

void input();
void outputgrade();
void change();
void del();
void allgrade();
void paixu();
void main()
{
int a;  
   do
   {
 printf("\t\t\t\t\n");
 printf("\t\t\t\t学生成绩管理系统\n");
 printf("\n");
 printf("\t\t\t作者:梁天江 班级:072084-31 学号:20081004528\n");  
 printf("\t\t\t-------------------------------------------\n\n");
   
       printf("\t  1.插入新的学生记录\n");        
       printf("\t  2.修改学生记录\n");               
       printf("\t  3.删除学生记录\n");            
       printf("\t  4.显示学生成绩和总分\n");         
       printf("\t  5.浏览全班成绩\n");               
       printf("\t  6.退出\n\n");               
   
    printf(" 输入你要操作的序号 : ");
    scanf("%d",&a);
   
    switch(a)
    {
   
     case 1:printf("\n");input();break;
     case 2:printf("\n");change();break;
     case 3:printf("\n");del();break;
     case 4:printf("\n");allgrade();break;
     case 5:printf("\n");paixu();break;
     case 6:printf("\n");exit(0);break;
    default:printf("\nThe choice is between 1 to 6.\n");
    }
   }while(a!=0);
   
}

 void input()
{  int j;
 char ch[20];
printf("\n输入学生信息:\n");
do
{   printf("\n学号: ");
    scanf("%s",stu[k].num);
    printf("\n姓名: ");
    scanf("%s",stu[k].name);
    printf("\n年龄: ");
    scanf("%d",&stu[k].age);
    for(j=0;j<3;j++)
    { printf("\n成绩%d: ",j+1);
      scanf("%d",&stu[k].grade[j]);  }
     k++;
    printf("\n如要继续,请输入学生信息(y/n): ");
    scanf("%s",ch);
   }while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);
   outputgrade();
}

void outputgrade()
{  int i;
   printf(" 学生信息是:\n");
   for(i=0;i<k;i++)
  {  printf("\t%s \t%s \t%d \t%d \t%d \t%d",stu[i].num,stu[i].name,stu[i].age,stu[i].grade[0],stu[i].grade[1],stu[i].grade[2]);
    printf("\n");  }
   }

void change()

{
int i,j;
char a[20],ch[10];
   printf("\n输入你要修改的学生学号:");
   scanf("%s",a);
   for(i=0;i<k;i++)
   {
    if(strcmp(stu[i].num,a)==0)
    {  printf("\n你确定要修改学号吗?(y/n): ");
       scanf("%s",ch);
       if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)   { printf("\nnum:"); scanf("%s",stu[i].num);}
       printf("\n你确定要修改学生姓名吗?(y/n): ");
       scanf("%s",ch);
       if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)   { printf("\nname"); scanf("%s",stu[i].name);}
       printf("\n你确定要修改学生成绩吗?(y/n): ");
       scanf("%s",ch);
       printf("\n");
       if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)
for(j=0;j<3;j++)
       {   printf("grade%d:",j+1); scanf("%d",&stu[i].grade[j]);  printf("\n"); }
     }
   }
   outputgrade();
}

void del()
{
int i,j;
char c[20];
  printf("\n输入你要删除的学生学号 :\n");
   printf("num:");
   scanf("%s",&c);
   for(i=0;i<3;i++)
   if(strcmp(c,stu[i].num)==0)  break;
    for(j=i;j<=2;j++)
    stu[j]=stu[j+1];
    printf("\t\t\t你已经删除 %s的信息\n",c);
    k--;
  outputgrade();
}

void allgrade()
{   int i;  float sum=0;
     for(i=0;i<k;i++)
     {  printf("\t%d \t%d \t%d\n",stu[i].grade[0],stu[i].grade[1],stu[i].grade[2]);
        sum=sum+stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2] ;  }
  printf("总成绩是 %f",sum);
}

void paixu()
{ struct student temp;
  int i,j;
for(i=0;i<k-1;i++)
{
   for(j=i+1;j<k;j++)
   {
    if(stu[i].num<stu[j].num)
    {
     temp=stu[i];
     stu[i]=stu[j];
     stu[j]=temp;
    }
   } }
 outputgrade();
}
搜索更多相关主题的帖子: void include change 
2012-12-18 22:40
blue_kill
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-18
收藏
得分:0 
新人求教啊!
2012-12-18 22:40
blue_kill
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-18
收藏
得分:0 
求大神教教 !!
2012-12-18 22:42
快速回复:新手不知道做程序框图 求人教教我! 程序在下面!
数据加载中...
 
   



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

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