我主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中运用方便的、管理方便。它能输入学生学号、年龄、性别、出生年月、地址电话E-mail。系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。在子菜单中的各种操作都有中文说明,操作简单、易懂。只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。
对各个操作的成功,如:添加学生信息、修改学生信息、删除学
生信息,系统都输出“…….的成功”的字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在的学号和姓名系统能判断是否存在。对已存在的学号,操作者不能添加和这个学号一样的学生信息,同时系统还提示已有此学号。对于修改、删除和查询,系统遇到不存在的学生能提示没有这个信息。
❷ 编程如何用C语言编写一个学生成绩管理系统程序
我们才做了这个作业。。。
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#define LEN sizeof(struct scorenode)
#define DEBUG
#include <string.h>
struct scorenode
{
int number;/*学号*/
char name[8];/*姓名*/
float cj1;/*成绩1*/
float cj2;/*成绩2*/
float cj3;/*成绩3 */
struct scorenode *next;
};
typedef struct scorenode score;
int n,k;/*n,k为全局变量,本程序中的函数均可以使用它*/
/*==============================================================================================*/
score *creat(void)
/*函数creat,功能:创建链表,此函数带回一个指向链表头的指针*/
{
score*head;
score *p1,*p2,*p3,*max;
int i,j;
float fen;
  char t[10];
n=0;
  p1=p2=p3=(score *)malloc(LEN);head=p3; /*申请一个新单元*/
    printf("请输入学生资料,输0退出!\n");
repeat1: printf("请输入学生学号(学号应大于0):");/*输入大于0的学号*/
    scanf("%d",&p1->number);
  while(p1->number<0)
  {
    getchar();
  printf("输入错误,请重新输入学生学号:");
    scanf("%d",&p1->number);
  }     
    /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/
if(p1->number==0)
  goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/
else 
{ 
p3=head;
  if(n>0)
   { 
    for(i=0;i<n;i++)
      {
        if(p1->number!=p3->number)
  p3=p3->next;
  else 
  { 
 printf("学号重复,请重输!\n");
  goto repeat1;
  /*当输入的学号已经存在,程序报错,返回前面重新输入*/
    }
   }   
  }       
 }
    printf("请输入学生姓名:");
    scanf("%s",&p1->name);    /*输入学生姓名*/
    printf("请输入cj1(0~100):");   /*输入cj1,成绩应在0-100*/
    scanf("%f",&p1->cj1);
  while(p1->cj1<0||p1->cj1>100)
{ 
 getchar();
printf("输入错误,请重新输入cj1");    /*输入错误,重新输入成绩1*/
        scanf("%f",&p1->cj1);
}
    printf("请输入cj2(0~100):");   /*输入cj2,成绩应在0-100*/
    scanf("%f",&p1->cj2);
  while(p1->cj2<0||p1->cj2>100)
{ 
getchar();
printf("输入错误,请重新输入cj2");   /*输入错误,重新输入cj2直到正确为止*/
      scanf("%f",&p1->cj2);
}
    printf("请输入cj3(0~100):");/*输入cj3,成绩应在0-100*/
    scanf("%f",&p1->cj3);
  while(p1->cj3<0||p1->cj3>100)
{ 
getchar();
printf("输入错误,请重新输入cj3");
        scanf("%f",&p1->cj3);}   /*输入错误,重新输入cj3直到正确为止*/
  head=NULL;
while(p1->number!=0)
{
  n=n+1;
if(n==1) 
head=p1;
else
  p2->next=p1;
  p2=p1;
  p1=(score *)malloc(LEN);
  printf("请输入学生资料,输0退出!\n");
repeat2:printf("请输入学生学号(学号应大于0):");
    scanf("%d",&p1->number);    /*输入学号,学号应大于0*/
    while(p1->number<0)
  {
   getchar();
   printf("输入错误,请重新输入学生学号:");
    scanf("%d",&p1->number);
  }     
   /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/
if(p1->number==0)
  goto end;   /*当输入的学号为0时,转到末尾,结束创建链表*/
else
{
p3=head;
if(n>0)
  {
   for(i=0;i<n;i++)
    {
      if(p1->number!=p3->number)
  p3=p3->next;
  else 
  {
    printf("学号重复,请重输!\n");
  goto repeat2;
  /*当输入的学号已经存在,程序报错,返回前面重新输入*/
  }
  }   
  }       
}
printf("请输入学生姓名:");
    scanf("%s",&p1->name);/*输入学生姓名*/
  printf("请输入cj1(0~100):");
    scanf("%f",&p1->cj1);/*输入cj1,成绩应在0-100*/
  while(p1->cj1<0||p1->cj1>100)
{
 getchar();
  printf("输入错误,请重新输入cj1");
      scanf("%f",&p1->cj1);}/*输入错误,重新输入cj1直到正确为止*/
  printf("请输入cj2(0~100):");
    scanf("%f",&p1->cj2);/*输入cj2,成绩应在0-100*/
  while(p1->cj2<0||p1->cj2>100)
{ 
 getchar();
  printf("输入错误,请重新输入cj2");
      scanf("%f",&p1->cj2);
}   /*输入错误,重新输入cj2绩直到正确为止*/
    printf("请输入cj3(0~100):");
    scanf("%f",&p1->cj3);/*输入cj3,成绩应在0-100*/
  while(p1->cj3<0||p1->cj3>100)
{
 getchar();
  printf("输入错误,请重新输入cj3");
      scanf("%f",&p1->cj3);}  /*输入错误,重新输入cj3直到正确为止*/
  }
end: p1=head;
  p3=p1;
for(i=1;i<n;i++)
          {
        for(j=i+1;j<=n;j++)
          {
    max=p1;
    p1=p1->next;
      if(max->number>p1->number)
    {
    k=max->number;
    max->number=p1->number;
    p1->number=k;
      /*交换前后结点中的学号值,使得学号大者移到后面的结点中*/
    strcpy(t,max->name);
    strcpy(max->name,p1->name);
    strcpy(p1->name,t);
  /*交换前后结点中的姓名,使之与学号相匹配*/
    fen=max->cj1;
    max->cj1=p1->cj1;
    p1->cj1=fen;
          /*交换前后结点中的cj1,使之与学号相匹配*/
     fen=max->cj2;
    max->cj2=p1->cj2;
    p1->cj2=fen;
  /*交换前后结点中的cj2,使之与学号相匹配*/
      fen=max->cj3;
    max->cj3=p1->cj3;
    p1->cj3=fen;
          /*交换前后结点中的cj3,使之与学号相匹配*/
    }
       }
  max=head;p1=head;/*重新使max,p指向链表头*/
} 
p2->next=NULL;/*链表结尾*/
    printf("输入的学生数为:%d个!\n",n);
    return(head);
}
score *add(score *head,score *stu)
/*函数add,功能:追加学生资料,并且将所有学生资料按学号排序*/
{
score *p0,*p1,*p2,*p3,*max;
  int i,j;
float fen;
  char t[10];
p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/
  printf("\n输入要增加的学生的资料!");
repeat4: printf("请输入学生学号(学号应大于0):");
scanf("%d",&stu->number); 
/*输入学号,学号应大于0*/
    while(stu->number<0)
  { 
   getchar();
   printf("输入错误,请重新输入学生学号:");
    scanf("%d",&stu->number);}    /*输入错误,重新输入学号*/
  /******************************************************/
  if(stu->number==0)
  goto end2;/*当输入的学号为0时,转到末尾,结束追加*/
else 
{ 
  p3=head;
if(n>0)
  {for(i=0;i<n;i++)
      {if(stu->number!=p3->number)
  p3=p3->next;
  else 
  {
   printf("学号重复,请重输!\n");
   goto repeat4;
  /*当输入的学号已经存在,程序报错,返回前面重新输入*/
    }
  }   
  }       
}
  /******************************************************/ 
  printf("输入学生姓名:");
      scanf("%s",stu->name);         /*输入学生姓名*/
    printf("请输入cj1(0~100):");
      scanf("%f",&stu->cj1);   /*输入cj1,成绩应在0-100*/
    while(stu->cj1<0||stu->cj1>100)
  {getchar();
  printf("输入错误,请重新输入cj1");
    scanf("%f",&stu->cj1);
}   /*输入错误,重新输入cj1直到正确为止*/
    printf("请输入cj2(0~100):");
      scanf("%f",&stu->cj2);/*输入cj2,成绩应在0-100*/
    while(stu->cj2<0||stu->cj2>100)
{
getchar();
  printf("输入错误,请重新输入cj2");
      scanf("%f",&stu->cj2);}/*输入错误,重新输入cj2直到正确为止*/
    printf("请输入cj3(0~100):");
      scanf("%f",&stu->cj3);/*输入cj3,成绩应在0-100*/
    while(stu->cj3<0||stu->cj3>100)
  {
   getchar();
  printf("输入错误,请重新输入cj3");
      scanf("%f",&stu->cj3);}/*输入错误,重新输入cj3直到正确为止*/
p1=head;
p0=stu;
if(head==NULL)
{head=p0;p0->next=NULL;}/*当原来链表为空时,从首结点开始存放资料*/
else/*原来链表不为空*/
{
if(p1->next==NULL)/*找到原来链表的末尾*/
{
  p1->next=p0;
    p0->next=NULL;/*将它与新开单元相连接*/
}
  else
{
  while(p1->next!=NULL)/*还没找到末尾,继续找*/
  {
  p2=p1;p1=p1->next;
  }
    p1->next=p0;
    p0->next=NULL;
}
}
n=n+1;
p1=head;
p0=stu;
for(i=1;i<n;i++)
          {
        for(j=i+1;j<=n;j++)
          {
    max=p1;
    p1=p1->next;
     if(max->number>p1->number)
    {
    k=max->number;
    max->number=p1->number;
    p1->number=k;
      /*交换前后结点中的学号值,使得学号大者移到后面的结点中*/
     strcpy(t,max->name);
    strcpy(max->name,p1->name);
    strcpy(p1->name,t);
  /*交换前后结点中的姓名,使之与学号相匹配*/
    fen=max->cj1;
    max->cj1=p1->cj1;
    p1->cj1=fen;
          /*交换前后结点中的cj1,使之与学号相匹配*/
     fen=max->cj2;
    max->cj2=p1->cj2;
    p1->cj2=fen;
  /*交换前后结点中的cj2绩,使之与学号相匹配*/
     fen=max->cj3;
    max->cj3=p1->cj3;
    p1->cj3=fen;
          /*交换前后结点中的cj3,使之与学号相匹配*/
    }
         }
  max=head;p1=head;/*重新使max,p指向链表头*/
} end2:
printf("现在的学生数为:%d个!\n",n);
return(head);
}
/*========================================================
======================================*/
score *search(score *head)
/*函数search,功能:查询学生成绩*/
{int number;
score *p1,*p2;
printf("输入要查询的学生的学号,");
scanf("%d",&number);
while(number!=0)
{
  if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}
  printf("-----------------------------------------\n");
  printf("|学号\t|姓名\t|cj1\t|cj2\t|cj3\t|\n");
  printf("-----------------------------------------\n");/*打印表格域*/
  p1=head;
  while(number!=p1->number&&p1->next!=NULL)
{p2=p1;p1=p1->next;} 
      if(number==p1->number) 
  {printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->cj1,p1->cj2,p1->cj3);
      printf("-----------------------------------------\n");}/*打印表格域*/
      else 
      printf("%d不存在此学生!\n",number);
      printf("输入要查询的学生的学号,");
      scanf("%d",&number);
}
printf("已经退出了!\n");
return(head);
}/*=============================================
=================================================*/
score *del(score *head)/*函数del,功能:删除学生资料*/
{
score *p1,*p2;
int number;
printf("输入要删除的学生的学号(输入0时退出):");
scanf("%d",&number);
getchar();
while(number!=0)/*输入学号为0时退出*/
{
if(head==NULL)
{
  printf("\n没有任何学生资料!\n");
  return(head);
}
p1=head;
while(number!=p1->number&&p1->next!=NULL)
  /*p1指向的不是所要找的首结点,并且后面还有结点*/
{
  p2=p1;p1=p1->next;
} /*p1后移一个结点*/
  
if(number==p1->number) 
  /*找到了*/ 
{
  if(p1==head)
  head=p1->next;
  /*若p1指向的是首结点,把地二个结点地址赋予head*/
  else 
    p2->next=p1->next;
  /*否则将下一个结点地址 赋给前一结点地址*/
  printf("已经删除:%d\n",number);n=n-1;
}
else
  printf("%d不存在此学生!\n",number);
/*找不到该结点*/
printf("输入要删除的学生的学号:");
scanf("%d",&number);
getchar();
}
#ifdef DEBUG 
printf("已经退出了!\n");
#endif
printf("现在的学生数为:%d个!\n",n);
return(head);
} /*==================================================
============================================*/
score *statistics(score *head)
/*函数statistics,功能:统计学生成绩*/
{
float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min;
score *p;
int x,y=0,i=0;
    p=head;
    printf("1个人总分和平均分\t2单科平均分\t3总分最高分\t4总分最低分\n");
      scanf("%d",&x);
    getchar();
switch(x)
/*用switch语句实现功能选择*/
{
case 1: if(head==NULL)
  {printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
    else
{
  printf("---------------------------------------------------------\n");
    printf("|学号\t|姓名\t|cj1\t|cj2\t|cj3\t|总分\t|平均分\t|\n");
    printf("---------------------------------------------------------\n");/*打印表格域*/
  while(p!=NULL)
  {
    sum1=p->cj1+p->cj2+p->cj3; /*计算个人总分*/                   
          ave1=sum1/3;/*计算个人平均分*/
      
          printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|\n",p->number,p->name,p->cj1,p->cj2,p->cj3,sum1,ave1);
    /*打印结果*/
          printf("---------------------------------------------------------\n");/*打印表格域*/
      p=p->next;}
  }
return(head);   break;
case 2: if(head==NULL)
        {printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
    while(p!=NULL)
      { 
  sum1=sum1+p->cj1;
  sum2=sum2+p->cj2;
  sum3=sum3+p->cj3;/*计算总分*/
  y=y+1;
          ave1=sum1/y;
          ave2=sum2/y;
          ave3=sum3/y;/*计算平均分*/
  p=p->next;/*使p指向下一个结点*/
      }
  printf("cj1平均分是%.1f\n",ave1);
  printf("cj2平均分是%.1f\n",ave2);
  printf("cj3平均分是%.1f\n",ave3);/*打印结果*/
        return(head); break;
case 3: 
  if(head==NULL)
        {printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
    max=p->cj1+p->cj2+p->cj3;
  while(i<n)
{   
  i=i+1;
  sum1=p->cj1+p->cj2+p->cj3; /*计算个人总分*/
    if(max<sum1)
max=sum1;
p=p->next;
}
  printf("总分最高分:%.1f",max);
  printf("\n");
  return(head); break;
case 4: if(head==NULL)
  {printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
    while(p!=NULL)
  {
    min=p->cj1+p->cj2+p->cj3;
  while(p!=NULL)
  {sum2=p->cj1+p->cj2+p->cj3; 
  
  if(min>sum2)
  min=sum2;
  p=p->next;
  }
  }
    printf("总分最低分:%.1f",min);
    printf("\n");
    return(head); break;
default :printf("输入错误,请重试!\n");
}
return(head);
}
/*===========================================================
===================================*/
int save(score *p1) 
/*函数save,功能:保存学生的资料*/
{ 
FILE *fp;
char filepn[20];/*用来存放文件保存路径以及文件名*/
printf("请输入文件路径及文件名:");
scanf("%s",filepn);
if((fp=fopen(filepn,"w+"))==NULL)
{
printf("不能打开文件!\n");
return 0;
}
  fprintf(fp,"    学生成绩管理系统         \n");
  fprintf(fp,"-------------------------------------------------------\n");
fprintf(fp,"|  学号\t|  姓名\t| cj1\t|  cj2\t|  cj3\t|\n");
  fprintf(fp,"-------------------------------------------------------\n");
/*打印表格域*/
while(p1!=NULL)
{
fprintf(fp,"%d\t%s\t%.1f\t%.1f\t%.1f\t\n",p1->number,p1->name,p1->cj1,p1->cj2,p1->cj3);
p1=p1->next;/*下移一个结点*/
}
fclose(fp);
printf("文件已经保存!\n");
return 0;
}
int menu()/*函数menu,功能:菜单选择界面*/
{
int i,k;
printf("\t\t\t\t学生成绩管理系统\n");
  for(i=0;i<80;i++)
      printf("*");
printf("\t\t1创建资料\t\t\t2查询成绩\t\t\n");
printf("\t\t3删除资料\t\t\t4追加资料\t\t\n"); 
printf("\t\t5统计成绩\t\t\t6保存资料\t\t\n");
/*菜单选择界面*/ 
for(i=0;i<80;i++)
  printf("*");
printf("请选择您所要的操作(选择(0)退出):");
scanf("%d",&k);/*选择操作*/
  getchar();
return (k);}
/*==============================================================================================*/
main() /*主函数main,功能:通过调用creat,search,del,add,print,ststistics,save,taxis等函数,实现学生成绩查询系统功能*/
{ 
score *head=0,*stu=0;
while(1)
{
k=menu();
switch(k)/*用switch语句实现功能选择*/
{
case 1: head=creat();break;/*调用创建链表函数*/
case 2: head=search(head);break;/*调用查询函数*/
case 3: head=del(head); break;/*调用删除函数*/
case 4: head=add(head,stu);break;/*调用追加函数*/
case 5: statistics(head); break;/*调用统计函数*/
case 6: save(head);break;/*调用保存函数*/
case 0: exit(0);/*退出系统,返回主界面*/
default: printf("输入错误,请重试!\n");
 }
}
}
❸ 学生成绩管理系统的编程中调试过程怎么写
/*------------------1------------------*/ 
#include "stdio.h"    /*I/O函数*/ 
#include "stdlib.h"   /*其它说明*/ 
#include "string.h"   /*字符串函数*/ 
#include "conio.h"   /*屏幕操作函数*/ 
#include "mem.h"   /*内存操作函数*/ 
#include "ctype.h"   /*字符操作函数*/ 
#include "alloc.h"   /*动态地址分配函数*/ 
struct score 
{
int mingci;
char xuehao[8];
char mingzi[20];
float score[6];
char banji[10];
char xueqi[10]; 
}data,info[100]; 
int i,j,k=0; 
char temp[20],ch; 
FILE *fp,*fp1; 
/*-------------------2----------------------*/ 
void shuru() 
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n");
getch();exit(0);
}
for(i=0;i<=100;i++)
{
printf("\n请输入学号:");
gets(data.xuehao);
printf("请输入名字:");
gets(data.mingzi);
printf("请输入班级:");
gets(data.banji);
printf("请输入学期:");
gets(data.xueqi);
printf("请输入语文成绩:");
gets(temp);data.score[0]=atof(temp);
printf("请输入数学成绩:");
gets(temp);data.score[1]=atof(temp);
printf("请输入英语成绩:");
gets(temp);data.score[2]=atof(temp);
printf("请输入物理成绩:");
gets(temp);data.score[3]=atof(temp);
printf("请输入化学成绩:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data,sizeof(data),1,fp);
printf("再增加一条新纪录?y/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
} fclose(fp); 
} 
/*---------------------3---------------------*/ 
void xianshi() 
{
float s;int n;
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("Cannot reading this file.\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break;
}
printf("\nxuehao  mingzi   yuwen  shuxue   yingyu  wuli  huauxue zhongfen\n");
for(j=0,k=1;j<i;j++,k++)
{
info[j].mingci=k;
printf("%6s %8s %10s %10s %3.1f   %3.1f    %3.1f    %3.1f    %3.1f   %3.1f \n",info[j].xuehao,info[j].mingzi,info[j].banji,info[j].xueqi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5]);
}
getch();
fclose(fp); 
} 
/*-----------------------4------------------------*/ 
void xiugai() 
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("文件无法打开.\n");
exit(0);
}
printf("\n请输入修改的学号:");
scanf("%d",&i); getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi);
printf("请输入学号");
printf("请输入名字:");
gets(data.mingzi);
printf("请输入班级:");
gets(data.banji);
printf("请输入学期:");
gets(data.xueqi);
printf("请输入语文成绩:")
gets(temp);data.score[0]=atof(temp);
printf("请输入数学成绩:"); 
gets(temp);data.score[1]=atof(temp);
printf("请输入英语成绩:");
gets(temp);data.score[2]=atof(temp);
printf("请输入物理成绩:");
gets(temp);data.score[3]=atof(temp);
printf("请输入化学成绩:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4]; 
} fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
} 
fclose(fp);
fclose(fp1); 
} 
/*-----------------------5---------------------*/ 
void chazhao() 
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\n文件无法打开.\n");
exit(0);
}
printf("\nPLease shuru xuehao chakan:");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao);
if(i==j)
{
printf("xuehao:%s   mingzi:%s\nbanji:%s\n xueqi:%s\n yuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.banji,data.xueqi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
}getch();
} 
} 
/*--------------------6-------------------*/ 
void shanchu() 
{ 
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopen score.txt was failed!");
getch();
exit(0);
}
printf("\n请输入要删除的ID:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{ 
printf("Anykey will delet it.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_score.txt");
rename("temp.txt","s_score.txt");
printf("删除成功!\n");
printf("Anykey will return to main.");
getch(); 
} 
/*-----------------------7-----------------*/ 
void() 
{ int key,d;
getdate(&d);      /*读取系统日期并把它放到结构体d中*/
clrscr();      /*清除屏幕*/
printf("\n\n\n\n\n");
printf("\t\t\t****************************\n"); /*版本信息*/
printf("\t\t\t    广东交通职业技术学院---学生成绩管理系统   \n");
printf("\t\t\t****************************\n");
printf("\t\t\t    制作组:  101工作室   \n");
printf("\t\t\t    指导老师:李月     \n");
printf("\t\t\t    制作时间:2006年7月     \n");
printf("\t\t\t****************************\n");
printf("\t\t\t请按任意键继续..."); 
}  
/*-------------------------8-------------------*/ 
void HelpMessage()   
{ clrscr();
printf("\n\n\n\n\n     此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。\n    \n     使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号是小于8位。      此程序在Turbo C2.0下运行通过\n\n     由于是初学者,水平有限此系统还有许多不够完整和严密性,敬请指正!");
getch(); 
} 
/*-------------------9---------------------*/ 
main() 
{ 
while(1) 
{
clrscr();                     /*清屏幕*/
gotoxy(1,1);             /*移动光标*/
textcolor(YELLOW);   /*设置文本显示颜色为黄色*/
textbackground(BLUE);   /*设置背景颜色为蓝色*/
window(1,1,99,99);       /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr();
printf("*****************欢迎使用学生成绩管理系统*********************\n");
printf("*************************菜单********************************\n");
printf("* ========================================================= *   \n");
printf("*               1>输入         2>修改                        *   \n");
printf("*               3>删除         4>查找                        *   \n");
printf("*               5>显示         6>退出                        *   \n");
printf("*                                                           *   \n");
printf("* --------------------------------------------------------- *  \n");
printf("     请出入您的选择(1-6):");
ch=getch();
switch(ch)
{
case '1':shuru();break;
case '2':xiugai(); break;
case '3':shanchu();  break;
case '4':chazhao(); break;
case '5':xianshi();   break;
case '6':exit(0);
default: continue;
} 
} 
}
❹ C语言程序设计 请用C语言设计成绩统计程序(10人)
/*  HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
main()
{
    int i=0;
    int score=0;
    int data[101]={0};
    printf("input the scores of the students:\n");
    for(i=0;i<10;i++)
    {
     scanf("%d",&score);
     data[score]++;
    }
    for(i=0;i<101;i++)
    {
    if(data[i]!=0) printf("%d students get a score of %d\n",data[i],i);
    }
    getch();
}
wintc 测试可以运行,实现功能为:输入十个学生的成绩,输出版学生成绩货的情况权