C语言学生信息管理系统

        大一上学期学习了C,学的不好,对C的理解仅限于编写一些简单的小程序,下学期刚开学,老师就要求我们用C编写一个学生信息管理系统,当时就蒙了,后来讲到需要文件操作,更傻了,当时就没怎么学,后来到处查找资料,向同学,老师请教,慢慢的从能够编写简单的文件写入,然后一步步将每一个函数实现,实现对其的写入,浏览,查询,计算,修改,最后完成删除。后面不断的对代码进行完善,到现在还有很多不足之处,需要和大家一同学习。

上图:







代码:

#include
#include
#include
typedef struct person                               //定义结构体
{
	char num[10];   //学号
	char name[15]; //姓名
	int age;      //年龄
	int en;      //英语成绩
	int ji;      //专业成绩
}person;
person per[100];  //定义100
char filename[20];                                      //定义全局变量
  logon()                                            //登陆函数 使系统更显完善
{
 printf("\n\n\n\t\t\t  学生信息管理系统\n\n");
 printf("\t\t\t     版本号:2.0\n\n");
 printf("\n\n\n\n\t\t\t    2012年3月10日\n\n");
 printf("\t\t\t   C区**栋514寝\n");
 printf("\n\n\t\t\t     Ace_cm_liu\n");
 printf("\n\n\t\t\t    导演兼制作\n");
 system("pause");
}
int menu_filename()
   {
	  system("cls");
	  printf("请输入你要操作的文件名:");
	  scanf("\t%s",filename);
    }
    //*********************************************************************//
	//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
int menu_select()                              //菜单选择系统函数
{
	 char c;
	  do{
		system("cls");
		printf("\t\t ╭═════════■□■□═══╮\n");
		printf("\t\t│         学生信息管理系统         │\n");
        printf("\t\t╰═══■□■□══════════╯\n");
		printf("\t\t   ┌─────────────—┐\n");
		printf("\t\t   │ 1. 添加记录    2. 显示记录 │\n");
		printf("\t\t   │                            │\n");
		printf("\t\t   │ 3. 信息查询    4. 数据计算 │\n");
		printf("\t\t   │                            │\n");
		printf("\t\t   │ 5. 修改记录    6. 删除记录 │\n");
		printf("\t\t   │                            │\n");
		printf("\t\t   │ 0. 退出程序                │\n");
		printf("\t\t   └─────────────—┘\n");
		printf("\t\t请您选择(0-6):");
		c=getchar();
	 }while(c<'0'||c>'6');
		return (c-'0');                                      //字符减去’0‘得到的是数字整型//
}

	//*********************************************************************//
	//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

void add()                                      //成绩的录入与添加函数
  {
	FILE *fp;
	int i=0,n=0;
	char sign='y';                              //首先定义sing='y'
	system("cls");                                //清屏函数  系统中调用
	while(sign!='n'&&sign!='N')                    //其实只有当输入N或n时才跳出循环
      {
	    printf("             ----学生纪录添加----\n");
	    printf("学号:\n");
	    scanf("\t%s",per[i].num);
	    printf("姓名:\n");
	    scanf("\t%s",per[i].name);
	    printf("年龄:\n");
	    scanf("\t%d",&per[i].age);
	    printf("英语:\n");
	    scanf("\t%d",&per[i].en);
	    printf("专业:\n");
	    scanf("\t%d",&per[i].ji);
        printf("是否继续添加?(y/n)");
	    scanf("\t%c",&sign);
	    i++;
	    n=n+1;
	    system( "cls ");
   }system("pause");                                     //等待命令

   if((fp=fopen(filename,"a"))==NULL)                    //以2进制形式进行文件尾追加//
	  {
		 printf("cannot open the files\n");
		 system("pause");
         return;                                         //如果文件出现错误 就返回
	   }
		for(i=0;iper[k].en)                              //排序//比较大小//
	    k=j;
		temp=per[k];per[k]=per[i];per[i]=temp;                  //当符合条件时进行数据交换//
		}
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
            printf("        学号            姓名           年龄    英语    专业\n");
	        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
				for(i=0;iper[k].ji)
			  k=j;
		    temp=per[k];per[k]=per[i];per[i]=temp;
		  }
			printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
            printf("        学号            姓名           年龄    英语    专业\n");
	        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
	    for(i=0;is[k])
					k=j;
		        t=s[k];s[k]=s[i];s[i]=t;                          //按照总分大小进行排序//
		        temp=per[k];per[k]=per[i];per[i]=temp;            //随之使其数组相应顺序随总分大小一起排序//
		        }
				  printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
                  printf("        学号            姓名           年龄    英语    专业    总分   \n");
	              printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
				for(i=0;i


你可能感兴趣的:(学生信息管理系统,C语言,c,语言,system,fp,null,file)