c语言程序设计(学生成绩管理系统)————提供给计算机系c语言初学者参考

#include <stdio.h>
#include<stdlib.h>
#include <string.h>
void manu();
struct student
{	     
	int num;
	char name[20];
	int cl;
	int ch;
	int math;
	int sum;
	int aver;
	
}stu[200]={{200,"张三",1,89,98},{201,"李四",2,67,100},{202,"王五",1,78,99}};
struct student stu1[20];
int N=0;
int n=3;
void add()
{   
	char a,b;
	int i,j;
	int k;
	int count=0;
	int count1=0;
	system("cls");
	do
	{   
	  printf("添加第%d学生的信息
",n+1);
	  printf("输入学生的学号");
	  scanf("%d",&k);
	  for(i=0;i<n;i++)
	  {
		  if(stu[i].num==k)
		  {
            printf("学号重复");
			count1++;
			system("pause");
			system("cls");
			manu();
		  }
		  		  
	  }
	  if(count1==0)
	  {
       stu[n].num=k;
	  }
	  fflush(stdin);
	  printf("输入学生的姓名");
	  gets(stu[n].name);
	  fflush(stdin);
	  printf("输入学生的班级");	
	  scanf("%d",&stu[n].cl);
	  printf("输入学生的语文成绩");
	  fflush(stdin);
	  scanf("%d",&stu[n].ch);
	  printf("输入学生的数学成绩");
	  fflush(stdin);
	  scanf("%d",&stu[n].math);	  
	  n++;
	  fflush(stdin);
	  printf("输入q停止输入
");
	  scanf("%c",&a);
		
	}
	while(a!='q');
	

	printf("是否要实现插入操作输入y进入");
	fflush(stdin);
	scanf("%c",&b);
	printf("%c",b);
	if(b=='y'||b=='Y')
	{ 
      system("cls");
	  printf("插入哪个学号之前");
	  scanf("%d",&j);
	  k=1;
      for(i=0;i<n;i++)
	  {
         if(stu[i].num==j)
		 {
           j=i;
		   printf("此学号存在");
           k--;
		   break;
		 }
		 
		 
	  }
	  if(k==1)
		 {
			 printf("学号不存在");
			 system("pause");
			 system("cls");
			 manu();			 
		 }
	  for(i=n;i>=j;i--)
	  {
        stu[i+1]=stu[i];
	  }
	  n++;
	  printf("登陆学生信息
");
	  printf("输入学生的学号
");
	  scanf("%d",&k);
	  for(i=0;i<n;i++)
	  {
		  if(stu[i].num==k)
		  {
            printf("学号重复");
			count++;
			system("pause");
			system("cls");
			manu();
		  }
		  
		  
	  }
	  if(count==0)
	  {
       stu[j].num=k;
	  }

	  
	  fflush(stdin);
	  printf("输入学生的姓名");
	  fflush(stdin);
	  gets(stu[j].name);
	  fflush(stdin);
	  printf("输入学生的班级");	
	  scanf("%d",&stu[j].cl);
	  printf("输入学生的语文成绩");
	  fflush(stdin);
	  scanf("%d",&stu[j].ch);
	  printf("输入学生的数学成绩");
	  fflush(stdin);
	  scanf("%d",&stu[j].math);	 
	}
	else
	{ 
		printf("输入有误
");	  
		system("pause");			
		system("cls");	   
		manu();
	}
	system("cls");
	manu();


}
void display()
{   int j;
	system("cls");
    printf("	学号	姓名	班级	语文成绩   数学成绩
");
	for(j=0;j<n;j++)
	{
    printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
	}
    system("pause");
	system("cls");
    manu();

}
void Delete()
{   int  nm;
    int count;
    int j,m=0;
	char k;
	
	system("cls");
	printf("	******************欢迎进入删除界面*****************************	
");
	//display();
	printf("		选择按学号查找
");
	fflush(stdin);
	scanf("%d",&nm);
	for(j=0;j<n;j++)
	{
		if(stu[j].num==nm)
		{  
            printf("找到了
");
			count=j;
		   	m++;
			
			break;
		}	
		
       
	}
	if(m==0) 
		{
			printf("没找到
");
			printf("按y重新输入
");
			fflush(stdin);
			system("pause");
	        scanf("%c",&k);
			if(k=='y'||k=='Y')
			{
		      Delete();

			}

		}
	

	
	for(j=count;j<n;j++)
	{
      stu[j]=stu[j+1];
	}
	n--;
    system("pause");
	display();
	 system("pause");
	 manu();

    
	


 }
void Class()
{   	
	int i,j;
	int k=0;
	char a;
	system("cls");
	printf("输入班级号
");
	scanf("%d",&i);
	printf("	学号	姓名	班级	语文成绩	数学成绩
");
	for(j=0;j<n;j++)
	{      
        if(stu[j].cl==i)
		{
         printf("	%d	%s	%d	%d	%d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
		 k=1;
		 continue;
		}
		
	}

	if(k==0)
	{
       printf("很抱歉 没找到
");
	   printf("输入y继续");
	   scanf("%c",&a);
	   if(a=='y'||a=='Y')
	   {
		   system("pause");
		  system("cls");
        manu();
	   }
	   else
	   {
		  printf("输入有误");
		  system("pause");
		  system("cls");
		 manu();
		   
	   }

	}

   system("pause");
   	system("cls");
   manu();

}
void num()
{
    int i,j;
	int k=0;
	char a;
	system("cls");
	printf("输入学号
");
	scanf("%d",&i);
	printf("	学号	姓名	班级	语文成绩	数学成绩
");
	for(j=0;j<n;j++)
	{      
        if(stu[j].num==i)
		{
         printf("	%d	%s	%d	%d	%d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
		 k=1;
		 continue;
		}
		
	}

	if(k==0)
	{  
       printf("很抱歉 没找到
");
	    system("pause");
	   printf("输入y继续");
	   
	   scanf("%c",&a);
	   if(a=='y'||a=='Y')
	   { 
		  system("pause");
		  system("cls");
           manu();
	   }
	   else
	   {
		  printf("输入有误");
         system("pause");
		  system("cls");
		 manu();
		   
	   }

	}
   system("pause");
   system("cls");
   manu();
}
void tiaojian( int score)
{ int i;
 int k=0;
  for(i=0;i<n;i++)
			{
              if(stu[i].ch>=score&&stu[i].math>=score)
			  {
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[i].num,stu[i].name,stu[i].cl,stu[i].ch,stu[i].math);
				  k++;
				  system("pause");
				  system("cls");
				  manu();
			  }
			  
			}
		 if(k==0)
		 {
			    printf("不存在满足条件的学生");
			 	system("pause");
				system("cls");
				manu();

		 }
}
 void lookfor()
 {   int i,j;
 int k=0;
      system("cls");
	printf("	=======================欢迎进入查找界面=========================	
");
	
	
	 printf("             1,按班级查找
");
	 printf("             2,按学号查找
");
	 printf("             3,单科在90分以上
");
	 printf("             4,单科在80分以上
");
	 printf("             5,单科在60分以上
");
	 printf("             6,单科在60分以下
");
	 fflush(stdin);
     scanf("%d",&i);
	 switch(i)
	 {
	 case 1:Class();
		    break;
	 case 2:num();
		    break;
	 case 3:
		 tiaojian(90);
		 break;
	 case 4:
		 tiaojian(80);
		 break;
	 case 5:
		 tiaojian(60);
		 break;
	 case 6:
		 
        for(i=0;i<n;i++)
			{
              if(stu[i].ch<60&&stu[i].math<60)
			  {
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[i].num,stu[i].name,stu[i].cl,stu[i].ch,stu[i].math);
				  k++;
				  	system("pause");
				system("cls");
				manu();
			  }
			  
			}
	   if(k==0)
		 {
			    printf("不存在满足条件的学生");
			 	system("pause");
				system("cls");
				manu();

		 }
		 break;
		
	 


	 }
 }
 void xiugai()
 {  int i;
    int j;//循环序号
	char a[20];
    int k=0;//标志点	
    int m;//选择点
	int h;//循环序号
	int count=0;//标志点
	int g;
	system("cls");
	printf("	******************欢迎进入修改界面*****************************	
");  
	printf("                      按学号查找
");    
    printf("输入学号
");
	fflush(stdin);
    scanf("%d",&g);
    for(j=0;j<n;j++)
		  {
			if(stu[j].num==g)
			{   k++;
				printf("找到了
");
				printf("	学号	姓名	班级	语文成绩   数学成绩
");
				printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
	           
	           
	            printf("                1,修改该生的学号
");
				printf("                2,修改该生的姓名
");
				printf("                3,修改该生的班级
");
				printf("                4,修改该生的语文成绩
");
				printf("                5,修改该生的英语成绩
");
				scanf("%d",&m);
				if(m==1)
				{
                   printf("学号修改成:
");
				   scanf("%d",&i);
				   for(h=0;h<n;h++)
				   {
                      if(stu[h].num==i)
					  { printf("学号重复");
					    k++;
                        system("pause");
				        system("cls");
				         manu();
					  }
					  

					  
				   }
				   	if(k!=0)
					  {
						  stu[j].num=i;
					  }					
				   printf("	学号	姓名	班级	语文成绩   数学成绩
");
				   printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
				   system("pause");
				   system("cls");
				    manu();
			        break;
				}
				if(m==2)
				{
                  printf("姓名修改成:
");
				  scanf("%s",&stu[j].name);
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
			      system("pause");
				  system("cls");
				  manu();
				}
				if(m==3)
				{
                  printf("班级修改成:
");
				  scanf("%d",&stu[j].cl);
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
			      system("pause");
				  system("cls");
				  manu();
				}
				if(m==4)
				{
                  printf("语文成绩修改成:
");
				  scanf("%d",&stu[j].ch);
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
			      system("pause");
				  system("cls");
				  manu();
				}
					if(m==5)
				{
                  printf("数学成绩修改成:
");
				  scanf("%d",&stu[j].math);
                  printf("	学号	姓名	班级	语文成绩   数学成绩
");
				  printf("	%d	%s	 %d	  %d  	     %d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math);
			      system("pause");
				  system("cls");
				  manu();
				}

				
			}
			
		  }
		  if(k==0)
			{
				printf("没找到
");
				system("pause");
				system("cls");
				xiugai();
			}
	
 }
 void clear()
 {
	 n=0;
	 printf("恭喜你 信息已经清空");
	 system("pause");
	 display();
	 manu();

 }
 void Exit()
 {
    system("exit");
 }
 void sort()
 {   int i;
     int j,k;
	 system("cls");
	 printf("	===============欢迎进入排序界面===============	
");
	 printf("
");
	 printf("
");
	 printf("
");
	  printf("		     1,按姓名排序
");
	   printf("		     2,按班级排序
");
	    printf("		     3,按语文成绩排序
");
		 printf("		     4,按数学排序
");
		  printf("		     5,按总分排序
");
		  scanf("%d",&i);
		  switch (i)
		  {
		  case 1:
			 
			  for(j=0;j<n;j++)
			  { 
				  for(k=0;k<n;k++)
				  {
                     if(stu[k].name>stu[k+1].name)
					 {
                         stu[199]=stu[k];
						 stu[k]=stu[k+1];
						 stu[k+1]=stu[199];
						  
					 }
				  }
				 
              
			  }
			  display();
			  break;
		  case 2:
			   for(j=0;j<n;j++)
			  { 
				  for(k=0;k<n-1;k++)
				  {
                     if(stu[k].cl>stu[k+1].cl)
					 {
                         stu[199]=stu[k];
						 stu[k]=stu[k+1];
						 stu[k+1]=stu[199];
						  
					 }
				  }
				  
              
			  }
			  display();
			  break;			  
			  case 3:
			   for(j=0;j<n;j++)
			  { 
				  for(k=0;k<n-1;k++)
				  {
                     if(stu[k].ch>stu[k+1].ch)
					 {
                         stu[100]=stu[k];
						 stu[k]=stu[k+1];
						 stu[k+1]=stu[100];
						  
					 }
				  }
				
			  }
			  display();
			  break;
			   case 4:
			   for(j=0;j<n;j++)
			  { 
				  for(k=0;k<n-1;k++)
				  {
                     if(stu[k].math>stu[k+1].math)
					 {
                         stu[199]=stu[k];
						 stu[k]=stu[k+1];
						 stu[k+1]=stu[199];
						  
					 }
				  }
				
              
			  }
			  display();
			  break;
			   case 5:
				  for(j=0;j<n;j++)
				   {
					  stu[j].sum=stu[j].math+stu[j].ch;
					  stu[j].aver=stu[j].sum/2;

				   }
			   for(j=0;j<n;j++)
			  { 
				  for(k=0;k<n-1;k++)
				  {
                     if(stu[k].sum>stu[k+1].sum)
					 {
                         stu[199]=stu[k];
						 stu[k]=stu[k+1];
						 stu[k+1]=stu[199];
						  
					 }
				  }
				
              
			  }
			  display();
			  break;
			  
			  



	}		     
		  }
 
 void tongji()
 {   int i,j,k=0;
     int summath=0;
			int avermath;
			int sumch=0;
			int averch;
		    char a;
	system("cls");
	 printf("		==========1,每个学生的总分平均分============
");	
	 printf("		==========2,统计各个科目的平均分============
");
	 printf("		==========3,统计班级的单科平均分============
");
	 printf("		==========4,统计班级的总平均分==============
");
	 
	 scanf("%d",&i);
     switch(i)
	 {
	 case 1:for(j=0;j<n;j++)
			{
					  stu[j].sum=stu[j].math+stu[j].ch;
					  stu[j].aver=stu[j].sum/2;

			}
	    	printf("	学号	姓名	班级	语文	数学	总分	平均分
");
	        for(j=0;j<n;j++)
			{
             printf("	%d	%s	%d	%d	%d	%d	%d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math,stu[j].sum,stu[j].aver);
			}
			 system("pause");
			system("cls");
           manu();
 	       break;
	 case 2:
		    
		 for(j=0;j<n;j++)
		{
					  summath+=stu[j].math;
					  avermath=summath/n;
					  sumch+=stu[j].ch;
					  averch=sumch/n;
		 }
		 printf("	学号	姓名	班级	语文	数学	语文均分	数学均分
");
	        for(j=0;j<n;j++)
			{
             printf("	%d	%s	%d	%d	%d  	%d  	%d
",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math,averch,avermath);
			}
			 system("pause");
			system("cls");
        	 manu();
			 
 	        break;
	 case 3:                          //统计班级的单科平均分
	      printf("输入班级号");
		  scanf("%d",&i);
		  for(j=0;j<n;j++)
		  {
             if(stu[j].cl==i)
			 {
                summath+=stu[j].math;
				sumch+=stu[j].ch;
				k++;
			 }
			 else 
			 {
				 printf("您输入的班级号不存在
");
				 system("pause");
		         system("cls");
				 tongji();
				 
			 }
		  }
          avermath=summath/k;
		  averch=sumch/k;
		  printf("	班级	语文均分	数学均分
");
		  printf("	%d	%d	%d
",i,averch,avermath);
		   system("pause");
		  system("cls");
		  manu();
 	      break;
	 case 4:                                 //统计班级的总平均分
		     printf("输入班级号");
		     scanf("%d",&i);
			 for(j=0;j<n;j++)
		  {
             if(stu[j].cl==i)
			 {
                summath+=stu[j].math+stu[j].ch;
			
				k++;
			 }
			  else 
			 {
				 printf("您输入的班级号不存在
");
				 system("pause");
		         system("cls");
				 tongji();
				 
			 }

		  }
		  avermath=summath/k;
		  printf("	班级	总均分
");
		  printf("	%d	%d
",i,avermath);
		  system("pause");
		  system("cls");
		  manu();
 	      break;
	 }
	
 }

void  manu()//登录界面函数
{   
	int i;
	system("cls");
   printf("	************************************************************
");
   printf("	                      管理员登陆界面                        
");
   printf("	************************************************************
");
   printf("	                      欢迎进如学生管理系统                  
");
   printf("	请选择业务:
");
   printf("	1,查看所有记录显示
");
   printf("	2,添加学生成绩
");
   printf("	3,修改学生成绩
");
   printf("	4,删除学生成绩
");
   printf("	5,清空记录
");
   printf("	6,按要求查询学生成绩
");
   printf("	7,按要求排序
");
   printf("	8,按要求统计成绩
");
   printf("	9,退出
"); 
   printf("	请选择");
   scanf("%d",&i);
   switch(i)
  {
      case 1:
		  display();
		  break;
	  case 2:
		  add();
		  break;
	  case 3:
		 xiugai();
		  break;
	  case 4:
		  Delete();
		  break;
	  case 5:
		  clear();
		  break;
	  case 6 :
		  lookfor();
		  break;
	  case 7:
		  sort();
		  break;
	  case 8:
		  tongji();
		  break;
	  case 9:
		  Exit();
		  break;
	  default: printf("输入有误");
   }
}
void Ymanu()
{
   int i;
   system("cls");
    printf("	************************************************************	
");
   printf("	                  用户登陆界面                                  
");
   printf("	************************************************************	
");
   printf(" 	               欢迎进入学生管理系统                       	
");
   printf("	请选择业务:
");
   printf("	1,查看所有记录显示
");
 //  printf("	2,添加学生成绩
");
 //  printf("	3,修改学生成绩
");
 //  printf("	4,删除学生成绩
");
  // printf("	5,清空记录
");
   printf("	2,按要求查询学生成绩
");
   printf("	3,按要求排序
");
   printf("	4,按要求统计成绩
");
   printf("	5,退出
");
   
   printf("	************************************************************	
");
   printf("	请选择");
   scanf("%d",&i);
   switch(i)
  {
      case 1:
		  display();
		  break;
	/*  case 2:
		  add();
		  break;
	  case 3:
		 xiugai();
		  break;
	  case 4:
		  Delete();
		  break;
	  case 5:
		  clear();
		  break;*/
	  case 2 :
		  lookfor();
		  break;
	  case 3:
		  sort();
		  break;
	  case 4:
		  tongji();
		  break;
	  case 5:
		  Exit();
		  break;
	  default: printf("输入有误");
   }
}
void main()
{  int i;
   char a[20]={'l','i','u'};
   int j=123;
   char b[20];
   int k;
   printf("
");
   printf("
");
   printf("
");
    printf("
");
	 printf("
");
	  printf("
");
	   printf("
");
   printf("			  1,普通用户登陆
");
   printf("			  2,管理员账户登陆
");
   printf("			  选择输入");
   scanf("%d",&i);
   if(i==1)
   {
     Ymanu(); 
   }
   if(i==2)
   {   
	  
	   printf("输入用户名和密码
");
	   printf("用户名
");
	   fflush(stdin);
	   gets(b);
	   //fflush(stdin);
	   printf("密码
");
	   scanf("%d",&k);
	   
	  if(strcmp(a,b)==0&&j==k)
	   {
         manu();
	   }
       else 
	{ 
	   printf("输入错误");
	     system("exit");
   }
	 
  }
   else 
	{ 
	   printf("输入错误");
	     system("exit");
   }
}

  

     很久没更新博客了(其实也就是两天哈哈哈~_~),最近在写思创的c语言程序设计刚刚完成答辩。程序基本功能全部实现,还附带了一个回收站的功能,也算是自己的一个特色了。现在迫切想写下自己这几天的感受。

   说实话人与人在学习计算机方面的差别还是有的,有的人学习的快,有的人学习的慢,可能我就是学习慢的人。但是我并不气馁,我喜欢计算机,我也一直会坚持着去学习他,坚持着做自己吧。

  一旦迷恋上什么事,就不会感觉累,就像爱觉不累,真是这样。在课程设计中,有时候因为一个debug而调试到深夜,当真正的去实现他的时候,你会有无比的喜悦。

  优点:能持之以恒的完成课设,并在此基础上添加了些附加功能,使之看起来优于其他人。很遗憾没能看陈俊杰的代码

  不足:应用能力不够,学习过的东西不能很快的再需要的时候实现,导致中间走了许多弯路,效率也大打折扣。

 接下来就是操作系统考试,数据结构,数据库,还有私房菜的学习。

相信你能在这个学期表现的不错

原文地址:https://www.cnblogs.com/switch-and-for/p/3403936.html