董甲课程设计

2016-7-10 admin 2015级指导老师

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
struct student
{
 char no[10];
 char Class[6];
 char name[10];
 char sex[4];
 int score[10];
 double aver;     
};

int sr(struct student a[],int *p)
{
 int i,sra,n;
 printf("请输入该年级有多少人");
 scanf("%d",&n);
 *p=n;
    printf("请输入学生一下信息:\n学号     班级     姓名     性别\n");
 for(i=0;i<n;i++)
  scanf("%s%s%s%s",a[i].no,a[i].Class,a[i].name,a[i].sex);
 printf("信息储存成功!");
 printf("是否要回到主菜单界面?(1:回到   0:不回到)");
 scanf("%d",&sra);
 system("cls");
 return sra;
}

int cj(struct student a[],int n)
{
 int i,cjtimes,cja;
 struct student w;
 printf("请输入班:");
 scanf("%s",w.Class);
 printf("请输入这是几次作业成绩");
 scanf("%d",&cjtimes);
 printf("学号      姓名      第%d次成绩\n",cjtimes);
 for(i=0;i<n;i++)
 {
  if(strcmp(a[i].Class,w.Class)==0)
  {
   printf("%s      %s       ",a[i].no,a[i].name);
   scanf("%d",&a[i].score[cjtimes-1]);
  }
 }
 printf("输入成功!是否要回到菜单界面?(1:回到   0:不回到)");
 scanf("%d",&cja);
 system("cls");
 return cja;
}

int search1(struct student a[],int n)
{
 int i,search1i,j;
 struct student x;
 printf("请输入这个学生所在班级的");
 scanf("%s",x.Class);
 printf("请输入你要查找的学生学号:");
 scanf("%s",x.no);
 for(i=0;i<n;i++)
  if(strcmp(a[i].Class,x.Class)==0&&strcmp(a[i].no,x.no)==0)
    break;
  j=i;
  if(j==n)
   printf("无此学生学号!");
  else
   printf("该学生信息为:\n学号  姓名 性别  成绩1 成绩2 成绩3 成绩4 成绩5 成绩6 成绩7 成绩8 成绩9  成绩10\n%s  %s  %s    %d    %d    %d    %d    %d    %d    %d    %d    %d      %d \n",a[j].no,a[j].name,a[j].sex,a[j].score[0],a[j].score[1],a[j].score[2],a[j].score[3],a[j].score[4],a[j].score[5],a[j].score[6],a[j].score[7],a[j].score[8],a[j].score[9]);
  printf("是否要回到主菜单界面(1:回到    0:不回到)");
  scanf("%d",&search1i);
  system("cls");
  return search1i;
}
int search2(struct student a[],int n)
{
 int i,search2i;
 struct student x;
 printf("请输入班级");
 scanf("%s",x.Class);
 printf("该班信息为:\n学号  姓名 性别  成绩1 成绩2 成绩3 成绩4 成绩5 成绩6 成绩7 成绩8 成绩9  成绩10\n");
 for(i=0;i<n;i++)
  if(strcmp(a[i].Class,x.Class)==0)
   printf("%s  %s  %s    %d    %d    %d    %d    %d    %d    %d    %d    %d      %d \n",a[i].no,a[i].name,a[i].sex,a[i].score[0],a[i].score[1],a[i].score[2],a[i].score[3],a[i].score[4],a[i].score[5],a[i].score[6],a[i].score[7],a[i].score[8],a[i].score[9]);
 printf("\n是否要回到主菜单界面(1:回到    0:不回到)");
 scanf("%d",&search2i);
 system("cls");
 return search2i;
}

int xg(struct student a[],int n)
{
 int i,j,xg1,t,temp,k;
 struct student w;
 printf("\n请输入要修改学生的学号:");
 scanf("%s",&w.no);
 printf("\n请输入要修改学生的班级:");
 scanf("%s",&w.Class);
 for(i=0;i<n;i++)
 {
  if(strcmp(a[i].no,w.no)==0&&strcmp(a[i].Class,w.Class)==0)
  break;
 }
 if(i<n)//找到的话
 { printf("姓名:%s   学号:%s   班级:%s\n ",a[i].name,a[i].no,a[i].Class);
 printf("10次成绩为:\n");
     for(j=0;j<10;j++)
   printf("%d  ",a[i].score[j]);
 
 
  printf("\n请输入要修改的信息序号\n1:姓名\t2:学号\t3:班级\t4:成绩:");
  scanf("%d",&k);
  switch(k)
  {
  case 1:
   {
    printf("\n请输入要修改的姓名");
       scanf("%s",a[i].name);
 
   }break;
  case 2:
   {
                printf("\n请输入要修改的学号");
    scanf("%s",a[i].no);
   }break;
  case 3:
   {
                printf("\n请输入要修改的班级");
    scanf("%s",&a[i].Class);
    
   }break;
  case 4:
   {
    printf("\n请输入要修改第几次的成绩:\n");
    scanf("%d",&t);
    j=t-1;
    printf("\n修改前的成绩为:%d",a[i].score[j]);
    printf("\n你想把成绩修改为:");
    scanf("%d",&temp);
    a[i].score[j]=temp;
    printf("\n修改后的成绩为:%d",a[i].score[j]);
   }break;
  }
  printf("是否要回到主菜单界面?(1:回到   0:不回到)");
  scanf("%d",&xg1);
  system("cls");
  return xg1;
 } 
 else//没有找到
 {
  printf("输入的学号有误!");
  printf("是否要回到主菜单界面?(1:回到   0:不回到)");
  scanf("%d",&xg1);
  system("cls");
  return xg1;
 }
}

int del(struct student a[],int n)
{
 int i,j,del1;
 struct student w;
 printf("请输入你要删除学生学生号:\n");
 scanf("%s",w.no);
 printf("请输入你要删除学生所在的班级:\n");
 scanf("%s",w.Class);
 for(i=0;i<n;i++)
  if(strcmp(a[i].no,w.no)==0&&strcmp(a[i].Class,w.Class)==0)
   break;//查找x
  if(i<n)
   for(j=i;j<n;j++)
   {
    a[j]=a[j+1];
    printf("查找到并删除成功!");
    break;
   
   }
   else
   {
    printf("没有此学生信息");
   
   }
   printf("您是否要回到主菜单界面?\n输入“1”:回到\n输入“2”:不回到");
   scanf("%d",&del1);
   system("cls");
   return del1;
}

int analyze1(struct student a[],int n)
{
 int i,analyze3,j;
 struct student w;
 double max,min;
 printf("请输入学生所在班级:\n");
 scanf("%s",w.Class);
 printf("请输入学生学号:\n");
 scanf("%s",w.no);
 for(i=0;i<n;i++)
 {
  if(strcmp(a[i].no,w.no)==0&&strcmp(a[i].Class,w.Class))
  {
   a[i].aver=(a[i].score[0]+a[i].score[1]+a[i].score[2]+a[i].score[3]+a[i].score[4]+a[i].score[5]+a[i].score[6]+a[i].score[7]+a[i].score[8]+a[i].score[9])*1.0/10;
   min=max=a[i].score[0];
   for(j=0;j<10;j++)
   {
    if(max<a[i].score[j])
     max=a[i].score[j];
    if(min>a[i].score[j])
     min=a[i].score[j];
   }
   printf("该学生的分析情况为:\n平均分      %lf\n最高分      %lf\n最低分      %lf",a[i].aver,max,min);
   break;
  }
 }
  if(i==n)
   printf("没有此学生信息!");
  printf("\n您是否要回到主菜单界面?\n输入“1”:回到\n输入“2”:不回到");
     scanf("%d",&analyze3);
  system("cls");
  return analyze3;
}

int analyze2(struct student a[],int n)
{
int i,c=0,analyze2,m=0;
double max,min,yrate,s=0,aver;
struct student x;
struct student b[100];
for(i=0;i<n;i++)
a[i].aver=(a[i].score[0]+a[i].score[1]+a[i].score[2]+a[i].score[3]+a[i].score[4]+a[i].score[5]+a[i].score[6]+a[i].score[7]+a[i].score[8]+a[i].score[9])*1.0/10;
printf("请输入你要分析的班级:");
scanf("%s",x.Class);
for(i=0;i<n;i++)
if(strcmp(a[i].Class,x.Class)==0)
b[m++]=a[i];
max=min=b[0].aver;
for(i=1;i<m;i++)
{
if(b[i].aver>max)
max=b[i].aver;
if(b[i].aver<min)
min=b[i].aver;
}
for(i=0;i<m;i++)
s=s+b[i].aver;
aver=s*1.0/m;
   for(i=0;i<m;i++)
    if(b[i].aver>80)
     c=c+1;
yrate=c*1.0/m*100;
printf("该班的成绩分析为:\n");
printf("%s     成绩\n平均分     %lf\n最高分     %lf\n最低分     %lf\n优秀率      %lf%%",x.Class,aver,max,min,yrate);
printf("您是否要回到主菜单界面?\n输入“1”:回到\n输入“2”:不回到");
scanf("%d",&analyze2);
 system("cls");
return analyze2;
}

int insert(struct student a[],int *p)
{
 int n,i,x,j,insert1;
 n=*p;
 struct student w[10];
 while(1)
 {
  printf("请输入你要添加的人数(添加人数不得超过十人):");
  scanf("%d",&x);
  if(x>=0&&x<=10)
   break;
  else
   printf("对不起!输入错误请重新输入!");
 }
 printf("请输入相应学生的基本信息:\n学号   班级    姓名   性别\n");
 for(i=0;i<x;i++)
  scanf("%s%s%s%s",w[i].no,w[i].Class,w[i].name,w[i].sex);
 for(i=0;i<x;i++)
  for(j=0;j<10;j++)
   w[i].score[j]=0;
  j=0;
 for(i=n;i<(n+x);i++)
  for(;j<10;)
  {
   a[i]=w[j];
   j++;
   break;
  }

  *p=n+x;
  printf("您是否要回到主菜单界面?\n输入“1”:回到\n输入“2”:不回到");
 scanf("%d",&insert1);
 system("cls");
 return insert1;
}

 

void main()
{
 int a,sri,cji,searchb,searchi,xgi,deli,analyzei,i,j,feedbacki,anaylzeb,y=12,inserti;
 /*struct student stu[100];*/
 struct student stu[100]={

{"1001","151班","小花","女",86,84,87,89,99,86,84,85,88,90},
{"1002","151班","小华","女",99,86,84,89,87,88,86,84,85,90},
{"1003","151班","小苗","女",89,99,86,84,86,84,87,88,85,90},
{"1004","151班","小凡","男",89,99,86,86,84,85,90,84,87,88},
{"1005","151班","老五","男",89,99,86,84,87,88,86,84,85,90},
{"1006","151班","小川","男",88,86,84,85,90,89,99,86,84,87},
{"1001","152班","日天","女",89,99,86,84,87,88,86,84,85,90},
{"1002","152班","鱼人","男",89,99,86,84,87,88,86,84,85,90},
{"1003","152班","欧娜","女",86,84,89,87,88,99,86,84,85,90},
{"1004","152班","娜美","女",89,86,84,99,86,87,88,85,84,90},
{"1005","152班","瑞兹","男",89,99,86,84,87,88,86,84,85,90},
{"1006","152班","德玛","男",87,99,86,90,84,86,88,89,84,85}};
 printf("****************************************\n*                                      *\n*         欢迎来到学生信息系统         *\n*                                      *\n****************************************\n┌-------------------------------------┐\n│                                     │\n│    制                               │\n│    作                               │\n│    人                               │\n│    ..                               │\n│    董 李 王 刘                      │\n│    甲 晓 鑫 骄                      │\n│       明 羽                         │\n│                                     │\n│ 所在学院:                          │\n│           信息与网络工程学院        │\n│                                     │\n│                                     │\n│ 制作时间:                          │\n│            2016年6月                │\n│                                     │\n│                                     │\n┗-------------------------------------┛");
 printf("\n是否要进入菜单界面(1:进入  0:不进入)");
 scanf("%d",&a);
 system("cls");
 /*for(i=0;i<100;i++)
  for(j=0;j<10;j++)
   stu[i].score[j]=0;*/
 if(a==1)
 {
  start:printf("\n\n\n****************************************************\n*                                                  *\n*                 欢迎来到菜单界面                 *\n*                                                  *\n****************************************************\n1. 输入学生信息             2. 输入学生成绩\n3. 查找成绩                 4. 修改信息\n5. 删除学生信息             6. 信息分析\n7. 增加学生信息             8. 对我们的意见");
  printf("\n请输入前面的数字,然后进入相应界面\n");
  scanf("%d",&a);
  system("cls");
  switch(a)
  {
  case 1:sri=sr(stu,&y);
   if(sri==1)
    goto start;
   else
    goto start1;
   break;
  case 2:cji=cj(stu,y);
   if(cji==1)
    goto start;
   else
    goto start1;
   break;
  case 3:printf("请问您是查找班级信息还是学生个人信息?(1:查找班级信息  2:查找个人信息)");
   scanf("%d",&searchb);
   if(searchb==1)
   {
    searchi=search2(stu,y);
    if(searchi==1)
     goto start;
    else
    goto start1;
   }
   else
   {
    searchi=search1(stu,y);
    if(searchi==1)
     goto start;
    else
    goto start1;
   }
    break;
  case 4:xgi=xg(stu,y);
   if(xgi==1)
    goto start;
   else
    goto start1;
   break;
  case 5:deli=del(stu,y);
   if(deli==1)
    goto start;
   else
    goto start1;
   break;
  case 6:printf("你要分析班级成绩还是个人成绩?(1:分析班级成绩   2:分析学生个人成绩)");
   scanf("%d",&anaylzeb);
   if(anaylzeb==1)
    analyzei=analyze2(stu,y);
   else
    analyzei=analyze1(stu,y);
   if(analyzei==1)
    goto start;
   else
    goto start1;
   break;
  case 8:char feedback[250];
   printf("请输入您的意见(字数请在100以内):\n");
   scanf("%s",feedback);
   printf("谢谢您的反馈!\n");
   printf("是否要回到菜单界面(1:回到    0:不回到)");
   scanf("%d",&feedbacki);
   system("cls");
   if(feedbacki==1)
    goto start;
   else
    goto start1;
   break;
   case 7:inserti=insert(stu,&y);
    if(inserti==1)
     goto start;
    else
     goto start1;
    break;
  }
 }
 else
start1:printf("\n\n\n\n∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷\n∷                                                ∷\n∷               欢迎您下次再来使用               ∷\n∷                                                ∷\n∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷∷\n\n\n\n");
}

标签: 课程设计

发表评论:


好优扒博客 皖ICP备14016797号-2