Advertisement

C语言课设:学生选修课程系统设计

阅读量:

根据代码和描述的问题,“不能删除已选课程”通常是由于以下原因导致的:
删除操作中的计数问题:

  • 系统中使用count变量来记录学生数量,并根据这个值进行操作。但在实际操作中发现count并不能准确反映当前可删除课程的数量。
  • 在delete()函数中修改数据后未正确更新count变量。
    文件操作的安全性:
  • 在保存和读取文件的操作中没有严格的错误检查机制。
  • 如果文件读写失败(如文件不存在),程序不会报错并可能导致死机。
    输入输出处理不规范:
  • 在某些情况下(如从控制台读取输入时),如果用户按了其他键(如回车键),会导致程序崩溃。
  • 没有对用户的输入进行有效性检查。
    以下改进建议:
    增加对计数器的正确更新:
    c void delete() // 删除课程 { int i,j; char del_name[10]; printf("请输入需要删除的课程名称:\n"); scanf("%s",del_name); printf("\n\n"); // 先统计当前学生数 int current_count = count; for(i=0;i<count;i++) { if((strcmp(stu[i].name,del_name)==0)) { for(j=i;j<count;j++) { stu[j]=stu[j+1]; } count--; // 更新计数器 printf("删除成功!\n"); break; } } if(i >= current_count) { printf("对不起!您的学号不在范围内。\n"); goto _endProgram; } printf("请按任意键返回"); }
    增加文件操作的安全性:
    c void save() // 文件保存 { FILE * fp; fp = fopen("Stu_list","wb"); if(fp == NULL) { printf("不能打开文件\n"); goto _endProgram; } for(i=0;i<count;i++) { if(fwrite(&stu[i],sizeof(struct Student),1,fp)!=1) printf("保存出错\n"); } fclose(fp); printf("\n\n"); printf(">><< 保存成功!!! \n\n"); fflush(stdin); printf("\请按任意键返回"); _getch(); }
    增加输入输出验证:
    c int k; printf("\n\t确认退出吗?\n\n"); printf("\t1,确定\n"); printf("\t2,取消\n\n"); scanf("%d",&k); if(k==1) { exit(0); }
    修改main函数中的调用方式:
    `c
    int main()
    {
    int k=0;
    while(1)
    {
    ClearConsolation();
    printf("\["+chr(473)<<"your system's character set<<chr(473)][+chr(577)<<" your language choice <<chr(577)[+chr(473)]"\n"
    +""86)\n"
    +"*}\n"
    +"Menu: \n"

"*}\n"
+
printf("+Press '+' to add a student.\n")

代码部分有误请自行修改

    • 学生选修课程系统设计
      • 参考代码1
      • 参考代码2
      • 参考代码3

学生选修课程系统设计

假设有n门课程

参考代码1

权限密码功能有错

复制代码
    #include <stdio.h>
    #include <malloc.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h> 
    #define SIZE_STU 10
    #define SIZE_COU 10
    #define SIZE_SEL 10
    //函数声明部分 
    void home(void);
    void stu_operate(void);
    void cou_operate(void);
    void statistic(void);
    void choose(void);
    void delete_sel(int);
    char menu1();
    char zhuce();
    char stuu();
    char teaa();
    void house();
    //--学生信息部分: 
    void input_stu(void);
    void search_stu(void);
    void search_stu_id(void);
    void search_stu_name(void);
    void show_stu(void);
    void edit_stu(void);
    void renew_stu(void); 
    void delete_stu(void);
    //--课程信息部分: 
    void input_cou(void);
    void search_cou(void);
    void search_cou_id(void);
    void search_cou_name(void);
    void show_cou(void);
    void edit_cou(void);
    void renew_cou(void); 
    void delete_cou(void);
     
    /*学生信息结构体*/
    struct student_info {
     char stu_ID[9];
     char stu_name[5];
     char sex[9];
     char age[9];
     char collage[9];
     char grade[9];
     char contact[9];
    }stu[SIZE_STU];
     
    /*课程信息结构体*/
    struct course_info {
     char course_ID[9];
     char course_name[9];
     char property[9];
     char period[9];
     char credit[9];
     char time[9];
     int people;
    }cou[SIZE_COU];
     
    /*选课记录结构体*/
    struct select {
     int s;//存放学生信息的数组下标 
     int c;//存放课程信息的数组下标 
    }sel[SIZE_SEL]; 
     
    //全局变量i,j,x分别是学生,课程,选课信息数组下标
    int i = -1;
    int j = -1;
    int x = -1;
    
     struct Code				//权限 
    {
    	char stu[10];
    	int tea; 
    };
    
    struct Code code[40];
    
    char count1=0;
    char count2=0;
    char one=1;
    char two=2;
    
    int main(void){
     //进入欢迎界面 
     menu1();
     if(one>1)
     {
     	one = 1;
     	system("cls"); 
     	house();
     	
     }
     else if(two>2)
     {
     	two=2;
     	system("cls"); 
     	home();
     }
     return 0;
    }
    
    char menu1()
    {
    
    	system("cls");
    	int num;
    	while(1)
    	{
    		system("cls");
    		printf("\t\t--------------------------\n\n");
    		printf("\t\t1.学生登陆\t2.管理员登陆\n\n");
    		printf("\t\t3.注册      4.退出系统\n\n");
    		printf("\t\t--------------------------\n\n");
    		scanf("%d",&num);
    		char c,d;
    		switch(num)
    		{
    			case 1:
    				stuu();
    				c=stuu();
    				if(c==0)
    				{
    					c=2;
    					one++;
    					return -1;
    				}
    			
    				break;
    			case 2:
    				teaa();
    				d=teaa();
    				if(d==0)
    				{
    					d=2;
    					two++;
    					return -1;
    				}
    			
    				break;
    			case 3:
    				zhuce();
    				break;
    			case 4:
    				exit(0);
    				break;
    		}	
    	}
    }
    
    char stuu()//学生登陆
    {
    	char num[32];
    	int i;
    	printf("请输入您的密码\n"); 
    	scanf("%s",num);
    	if(strlen(num)<=10)
    	{
    		for(i=0;i<40;i++)
    		{
    			if(strcmp(code[i].stu,num)==0)
    			{
    				printf("登陆成功\n"); 
    				_getch();
    				return 0; 
    			}
    		}
    	}
    	printf("输入错误,请重新输入\n"); 
    	return -1; 
    } 
    
    char teaa()//管理员登陆
    {
    	char m;
    	int cod = 123456;
    	for(m=0;m<40;m++)
    	{
    		code[m].tea=cod;	//设置唯一管理员密码 
    	}	 
    	int num;
    	int i;
    	printf("请输入您的密码\n"); 
    	scanf("%d",&num);	
    	for(i=0;i<40;i++)
    	{
    		if(code[i].tea==num)
    		{
    			printf("登陆成功\n"); 
    			_getch();
    			return 0; 
    		}
    	}
    	printf("输入错误,请重新输入\n"); 
    	return -1;
    } 
    
    char zhuce() //注册 
    {	
    	int i;
    	char num[32];
    	printf("请输入数字,不可超出10位\n");
    	scanf("%s",num);
    	if(strlen(num)<=10)
    	{
    		for(i=0;i<40;i++)
    		{
    			if(strcmp(code[i].stu,num)==0)
    			{
    				printf("数字已存在,请重新输入\n"); 
    				getch();
    				return -1; 
    			}
    		}
    		printf("注册成功\n");
    		strcpy(code[count2].stu,num);
    		count2++; 
    		_getch();
    		return -1; 
    	}
    	printf("输入错误,请重新输入\n"); 
    	_getch();	
    	return -1; 
    }
    
    //欢迎界面 
    void home(void) {
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     int h;
     printf("\n\n      请选择你要进行的操作:");
     printf("\n\n        1.学生操作");
     printf("\n        2.课程操作");
     printf("\n        3.开始选课");
     printf("\n        4.选课统计");
     printf("\n        5.退出系统");
     printf("\n              ");
     printf("\n      请输入:");
     scanf("%d",&h);
     system("cls");
     switch(h){
      case 1:
       stu_operate();
       break;
      case 2:
       cou_operate(); 
       break;
      case 3:
       choose();
       break;
      case 4:
       statistic();
       break;
      default:
       system("cls");
       printf("BYE!");
       break;
     }
    }
    void house(void) {
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     int h;
     printf("\n\n      请选择你要进行的操作:");
     printf("\n\n        1.学生操作");
     printf("\n        2.开始选课");
     printf("\n        3.选课统计");
     printf("\n        4.退出系统");
     printf("\n              ");
     printf("\n      请输入:");
     scanf("%d",&h);
     system("cls");
     switch(h){
      case 1:
       stu_operate();
       break;
       break;
      case 2:
       choose();
       break;
      case 3:
       statistic();
       break;
      default:
       system("cls");
       printf("BYE!");
       break;
     }
    }
    
    /*开始选课*/
    void choose(void){
     char stu_id[10],cou_id[10];
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     //输入选课学生信息 
     printf("\n\n     请输入选课人学号:");
     fflush(stdin);
     scanf("%s",stu_id);
     int h,flag = 0;
     for(h = 0;h <= i;h++){
      if(strcmp(stu[h].stu_ID,stu_id)==0){
       flag = 0;
       break;
      } else {
       flag = 1;
      }
     }
     if(flag||i==-1){
      printf("\n     不存在此学号\n");
      system("pause");
      system("cls");
      home();
     }
     //录入姓名信息 
     x++;
     sel[x].s = h; 
     //输入课程信息 
     printf("\n\n     请输入选修课程号:");
     fflush(stdin);
     scanf("%s",cou_id);
     flag = 0;
     for(h = 0;h <= j;h++){
      if(strcmp(cou[h].course_ID,cou_id)==0){
       flag = 0;
       break;
      } else {
       flag = 1;
      }
     }
     if(flag||j==-1){
      printf("\n     不存在此课程号\n");
      x--;
      system("pause");
      system("cls");
      home();
     }
     //录入课程信息
     sel[x].c = h;
     cou[h].people++; 
     printf("\n     录入成功!\n");
     system("pause");
     system("cls");
     home();
    }
    /*删除选课记录*/
    void delete_sel(int q){//删除第q+1条记录 
    /*注意!本函数没有将x减1,请在函数外手动减1(考虑外层函数循环的需要)*/
     int h;
     cou[sel[q].c].people--;
     for(h = q;q < x;h++){
      q++;
      sel[h].c = sel[q].c;
      sel[h].s = sel[q].s;
     }
      
    }
    //对学生记录进行操作
    void stu_operate(void) {
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     printf("\n\n     请选择你要对学生记录进行的操作:");
     printf("\n\n        1.添加");
     printf("\n        2.查询");
     printf("\n        3.显示");
     printf("\n        4.返回主页面");
     printf("\n              ");
     printf("\n      请输入:");
     int i;
     scanf("%d",&i);
     system("cls");
     switch(i){
      case 1://添加学生信息 
       input_stu();
       break;
      case 2://查询学生信息 
       search_stu(); 
       break;
      case 3://显示所有学生信息
       show_stu(); 
       break;
      case 4:
       home();
       break; 
     }
    }
    //对课程记录进行操作 
    void cou_operate(void) {
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     printf("\n\n     请选择你要对课程记录进行的操作:");
     printf("\n\n        1.添加");
     printf("\n        2.查询");
     printf("\n        3.显示");
     printf("\n        4.返回主页面");
     printf("\n              ");
     printf("\n      请输入:");
     int i;
     scanf("%d",&i);
     system("cls");
     switch(i){
      case 1:
       input_cou();
       break;
      case 2:
       search_cou();
       break;
      case 3:
       show_cou();
      case 4:
       home();
       break; 
     }
    }
    //选课信息统计记录
    void statistic(void){
     printf("\n-------------------------欢迎进入选课系统!----------------------"); 
     printf("\n\n      共有学生信息:%d 条",i+1); 
     printf("\n      共有课程信息:%d 条",j+1);
     if(x == -1){
      printf("\n      选课记录:0 条");
      printf("\n\n      "); 
      system("pause");
      system("cls");
      home();
     } else {
      printf("\n\n      选课记录 %d 条:",x+1);
      int m;
      for(m = 0;m <= x;m++){
       printf("\n      ================");
       printf("\n      第%d条",m+1);
       printf("\n      学生学号:%s",stu[sel[m].s].stu_ID);
       printf("\n      学生姓名:%s",stu[sel[m].s].stu_name);
       printf("\n      课程号:%s",cou[sel[m].c].course_ID);
       printf("\n      课程名:%s",cou[sel[m].c].course_name); 
      }
      printf("\n\n   "); 
      system("pause");
      system("cls");
      home();
     }
      
    }
     
     
    //--------------------------------------学生信息插入--------------------------------------
    void input_stu(void){
     char flag;
     FILE * fp;
     //--判断文件是否为空 
     fp = fopen("student.txt","r+");
     flag = fgetc(fp);
     if(flag==EOF){
      fprintf(fp,"学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式\n");
     }
     fclose(fp);
     //-- 
     fp = fopen("student.txt","a+");
     if(fp == NULL){
      printf("打开文件失败!");
      system("cls");
      stu_operate();
     }
     printf("学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式\n");
     while(1){
      i++;
      scanf("%s %s %s %s %s %s %s",&stu[i].stu_ID,&stu[i].stu_name,&stu[i].sex,&stu[i].age,&stu[i].collage,&stu[i].grade,&stu[i].contact);
      //--数据查重
      int h; 
      for(h = 0;h < i;h++){
       if(i == 0) break;//第一条数据不需要查重 
       if (strcmp(stu[h].stu_ID,stu[i].stu_ID)==0) {
    printf("该学号已存在,请重新输入!\n");
    scanf("\n%s %s %s %s %s %s %s",&stu[i].stu_ID,&stu[i].stu_name,&stu[i].sex,&stu[i].age,&stu[i].collage,&stu[i].grade,&stu[i].contact);
    h = -1;
       }
      }
      //-- 
      fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[i].stu_ID,stu[i].stu_name,stu[i].sex,stu[i].age,stu[i].collage,stu[i].grade,stu[i].contact);
      printf("\n录入成功,继续录入输入y,返回上一级请按任意键:");
      fflush(stdin); 
      scanf("%c",&flag); 
      fclose(fp);
      if(flag!='y'&&'Y') break;
      fp = fopen("student.txt","a");
     }
     renew_stu();
     system("cls");
     stu_operate();
    } 
    /*查询学生信息*/
    void search_stu(void){
     system("cls");
     printf("\n请选择查询方式:");
     printf("\n 1.学号查询");
     printf("\n 2.姓名查询");
     printf("\n请选择:");
     int h;
     scanf(" %d",&h);
     switch(h){
      case 1:
       search_stu_id();
       break;
      case 2:
       search_stu_name();
       break;
    
     } 
    }
    /*学号查询*/
    void search_stu_id(void){
     system("cls");
     char id[9];
     printf("\n输入学生的学号:");
     fflush(stdin); 
     scanf("%s",id);
     int h;
     for(h = 0;h <= i;h++){
      if(strcmp(stu[h].stu_ID,id)==0){
       system("cls");
       printf("查找成功!"); 
       printf("\n\n\t学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式");
       printf("\n\t-----------------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[h].stu_ID,stu[h].stu_name,stu[h].sex,stu[h].age,stu[h].collage,stu[h].grade,stu[h].contact);
       system("pause");
       system("cls");
       stu_operate();
      }
     }
     system("cls");
     printf("没有此学号!\n");
     system("pause");
     system("cls");
     stu_operate();
    } 
    /*姓名查询*/
    void search_stu_name(void){
     system("cls");
     char name[9];
     printf("\n输入学生的姓名:");
     fflush(stdin); 
     scanf("%s",name);
     int h;
     for(h = 0;h <= i;h++){
      if(strcmp(stu[h].stu_name,name)==0){
       system("cls");
       printf("查找成功!"); 
       printf("\n\n\t学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式");
       printf("\n\t---------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[h].stu_ID,stu[h].stu_name,stu[h].sex,stu[h].age,stu[h].collage,stu[h].grade,stu[h].contact);
       system("pause");
       system("cls");
       stu_operate();
      }
     }
     system("cls");
     printf("没有此姓名!");
     system("pause");
     system("cls");
     stu_operate();
    } 
    /*显示所有学生信息*/
    void show_stu(void){
     int h;
     if(i == -1){
      printf("\n还没有录入信息!\n");
      system("pause");
      system("cls");
      stu_operate();
     }
     system("cls");
     printf("\n\n\t学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式");
     printf("\n\t---------------------------------------------------------"); 
     for(h = 0;h <= i;h++){
      printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[h].stu_ID,stu[h].stu_name,stu[h].sex,stu[h].age,stu[h].collage,stu[h].grade,stu[h].contact);
     }
     //
     fflush(stdin);
     printf("\n\t1.修改");
     printf("\n\t2.删除"); 
     printf("\n\t3.返回");
     printf("\n\n 选择要进行的操作:");
     int flag;
     fflush(stdin);
     scanf("%d",&flag);
     switch(flag){
      case 1:
       edit_stu();
       break; 
      case 2:
       delete_stu();
       break;
      default:
       system("cls");
       stu_operate();
       break;
    
     } 
    }
    /*编辑学生信息*/
    void edit_stu(void){
     printf("\n输入需要编辑的学生的学号:");
     char id[10];
     getchar();
     scanf("%s",id);
     int h;
     for(h = 0;h <= i;h++){
      if(strcmp(stu[h].stu_ID,id)==0){//找到需要编辑的行 
       system("cls");
       printf("\n\n\t学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式");
       printf("\n\t---------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[h].stu_ID,stu[h].stu_name,stu[h].sex,stu[h].age,stu[h].collage,stu[h].grade,stu[h].contact);
       printf("\n这是修改前的数据,请依次输入修改值:\n\t");
       fflush(stdin);
       scanf("%s %s %s %s %s %s %s",&stu[h].stu_ID,&stu[h].stu_name,&stu[h].sex,&stu[h].age,&stu[h].collage,&stu[h].grade,&stu[h].contact);
       int k;
       for(k = 0;k <= i;k++){
    if(strcmp(stu[k].stu_ID,stu[h].stu_ID)==0){
     if(k==h){
      continue;
     } else {//学号不唯一 
      printf("\n此学号已存在!重新输入学号:");
      fflush(stdin);
      scanf("%s",&stu[h].stu_ID);
      k = -1;
     }
    }
       }
       /*将修改信息写入文件*/
       //思想:将原文件重新写入一遍
       renew_stu();
       system("cls");
       printf("修改成功!\n");
       system("pause"); 
       system("cls");
       stu_operate();
      }
     }
     printf("\n此学号不存在!\n");
     system("pause");
     system("cls");
     stu_operate();
    }
    /*删除学生信息*/
    void delete_stu(void){
     printf("\n输入需要编辑的学生的学号:");
     char id[10];
     getchar();
     scanf("%s",id);
     int h;
     for(h = 0;h <= i;h++){
      if(strcmp(stu[h].stu_ID,id)==0){//找到需要编辑的行 
       system("cls");
       //检查他/她是否选课了
       int a;
       for(a = 0;a <= x;a++){
    if(h==sel[a].s){//选课了则将对应课程记录减1,以及选课数组减1 
     delete_sel(a);
     a = -1;
     x--;
     continue;
    }
       } 
       //如果只有一条记录
       if(i==0){
    i = -1;
    renew_stu();
    printf("修改成功!\n");
    system("pause"); 
    system("cls");
    stu_operate();
       } 
    
       int k;
       for(k = h+1;k <= i;k++,h++){//将数组直接向前移动 
    strcpy(stu[h].stu_ID,stu[k].stu_ID); 
    strcpy(stu[h].stu_name,stu[k].stu_name); 
    strcpy(stu[h].sex,stu[k].sex); 
    strcpy(stu[h].grade,stu[k].grade); 
    strcpy(stu[h].contact,stu[k].contact); 
    strcpy(stu[h].collage,stu[k].collage); 
    strcpy(stu[h].age,stu[k].age); 
       }
       /*将修改信息写入文件*/
       //思想:将原文件重新写入一遍
       renew_stu();
       i--;
       system("cls");
       printf("修改成功!\n");
       system("pause"); 
       system("cls");
       stu_operate();
      }
     }
     printf("\n此学号不存在!\n");
     system("pause");
     system("cls");
     stu_operate();
    }
    //--------------------------------------课程信息插入--------------------------------------
    void input_cou(void){
     char flag;
     FILE * fp;
     //--判断文件是否为空 
     fp = fopen("course.txt","r+");
     flag = fgetc(fp);
     if(flag==EOF){
      fprintf(fp,"代码\t名称\t性质\t总学时\t学分\t开课学期\t选修人数\n");
     }
     fclose(fp);
     //-- 
     fp = fopen("course.txt","a+");
     if(fp == NULL){
      printf("打开文件失败!");
      system("cls");
      cou_operate();
     }
     printf("代码\t名称\t性质\t总学时\t学分\t开课学期\n");
     while(1){
      j++;
      scanf("%s %s %s %s %s %s",&cou[j].course_ID,&cou[j].course_name,&cou[j].property,&cou[j].period,&cou[j].credit,&cou[j].time);
      //--数据查重
      int h; 
      for(h = 0;h < j;h++){
       if(j == 0) break;//第一条数据不需要查重 
       if (strcmp(cou[h].course_ID,cou[j].course_ID)==0) {
    printf("该课程号已存在,请重新输入!\n");
    scanf("\n%s %s %s %s %s %s",&cou[j].course_ID,&cou[j].course_name,&cou[j].property,&cou[j].period,&cou[j].credit,&cou[j].time);
    h = -1;
       }
      }
      //-- 
      fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t\t%d\n",cou[j].course_ID,cou[j].course_name,cou[j].property,cou[j].period,cou[j].credit,cou[j].time,cou[j].people);
      printf("\n录入成功,继续录入输入y,返回上一级请按任意键:");
      fflush(stdin); 
      scanf("%c",&flag); 
      fclose(fp);
      if(flag!='y'&&'Y') break;
      fp = fopen("course.txt","a");
     }
     renew_cou();
     system("cls");
     cou_operate();
    } 
    /*查询课程信息*/
    void search_cou(void){
     system("cls");
     printf("\n请选择查询方式:");
     printf("\n 1.课程号查询");
     printf("\n 2.课程名查询");
     printf("\n请选择:");
     int h;
     scanf(" %d",&h);
     switch(h){
      case 1:
       search_cou_id();
       break;
      case 2:
       search_cou_name();
       break;
    
     } 
    }
    /*课程号查询*/
    void search_cou_id(void){
     system("cls");
     char id[9];
     printf("\n输入课程号:");
     fflush(stdin); 
     scanf("%s",id);
     int h;
     for(h = 0;h <= j;h++){
      if(strcmp(cou[h].course_ID,id)==0){
       system("cls");
       printf("查找成功!"); 
       printf("\n\n\t代码\t名称\t性质\t总学时\t学分\t开课学期\t选修人数");
       printf("\n\t-----------------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t\t%d\n",cou[h].course_ID,cou[h].course_name,cou[h].property,cou[h].period,cou[h].credit,cou[h].time,cou[h].people);
       system("pause");
       system("cls");
       cou_operate();
      }
     }
     system("cls");
     printf("没有此课程号!\n");
     system("pause");
     system("cls");
     cou_operate();
    } 
    /*课程名查询*/
    void search_cou_name(void){
     system("cls");
     char name[9];
     printf("\n输入课程名:");
     fflush(stdin); 
     scanf("%s",name);
     int h;
     for(h = 0;h <= j;h++){
      if(strcmp(cou[h].course_name,name)==0){
       system("cls");
       printf("查找成功!"); 
       printf("\n\n\t代码\t名称\t性质\t总学时\t学分\t开课学期\t选修人数");
       printf("\n\t---------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t\t%d\n",cou[h].course_ID,cou[h].course_name,cou[h].property,cou[h].period,cou[h].credit,cou[h].time,cou[h].people);
       system("pause");
       system("cls");
       cou_operate();
      }
     }
     system("cls");
     printf("没有此课程名!");
     system("pause");
     system("cls");
     cou_operate();
    } 
    /*显示所有课程信息*/
    void show_cou(void){
     int h;
     if(j == -1){
      printf("\n还没有录入信息!\n");
      system("pause");
      system("cls");
      cou_operate();
     }
     system("cls");
     printf("\n\n\t代码\t名称\t性质\t总学时\t学分\t开课学期\t选修人数");
     printf("\n\t-------------------------------------------------------------"); 
     for(h = 0;h <= j;h++){
      printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\t\t%d\n",cou[h].course_ID,cou[h].course_name,cou[h].property,cou[h].period,cou[h].credit,cou[h].time,cou[h].people);
     }
     //
     fflush(stdin);
     printf("\n\t1.修改");
     printf("\n\t2.删除"); 
     printf("\n\t3.返回");
     printf("\n\n 选择要进行的操作:");
     int flag;
     fflush(stdin);
     scanf("%d",&flag);
     switch(flag){
      case 1:
       edit_cou();
       break; 
      case 2:
       delete_cou();
       break;
      default:
       system("cls");
       cou_operate();
       break;
    
     } 
    }
    /*编辑课程信息*/
    void edit_cou(void){
     printf("\n输入需要编辑的课程号:");
     char id[10];
     getchar();
     scanf("%s",id);
     int h;
     for(h = 0;h <= j;h++){
      if(strcmp(cou[h].course_ID,id)==0){//找到需要编辑的行 
       system("cls");
       printf("\n\n\t代码\t名称\t性质\t总学时\t学分\t开课学期");
       printf("\n\t-------------------------------------------------------------"); 
       printf("\n\t%s\t%s\t%s\t%s\t%s\t%s\n",cou[h].course_ID,cou[h].course_name,cou[h].property,cou[h].period,cou[h].credit,cou[h].time);
       printf("\n这是修改前的数据,请依次输入修改值:\n\t");
       fflush(stdin);
       scanf("%s %s %s %s %s %s",&cou[h].course_ID,&cou[h].course_name,&cou[h].property,&cou[h].period,&cou[h].credit,&cou[h].time);
       int k;
       for(k = 0;k <= j;k++){
    if(strcmp(cou[k].course_ID,cou[h].course_ID)==0){
     if(k==h){
      continue;
     } else {//课程号不唯一 
      printf("\n此课程号已存在,重新输入:");
      fflush(stdin);
      scanf("%s",&cou[h].course_ID);
      k = -1;
     }
    }
       }
       /*将修改信息写入文件*/
       //思想:将原文件重新写入一遍
       renew_cou();
       system("cls");
       printf("修改成功!\n");
       system("pause"); 
       system("cls");
       cou_operate();
      }
     }
     printf("\n此课程号不存在!\n");
     system("pause");
     system("cls");
     cou_operate();
    }
    /*删除课程信息*/
    void delete_cou(void){
     printf("\n输入需要编辑的课程号:");
     char id[10];
     getchar();
     scanf("%s",id);
     int h;
     for(h = 0;h <= j;h++){
      if(strcmp(cou[h].course_ID,id)==0){//找到需要编辑的行 
       system("cls");
       //如果只有一条记录
       if(j==0){
    j = -1;
    renew_cou();
    printf("修改成功!\n");
    system("pause"); 
    system("cls");
    cou_operate();
       }
       //查看是否有人选课
       if(cou[h].people!=0){//有人选课时
    int a;
    for(a = 0;a <= x;a++){
     if(sel[a].c == h){
      delete_sel(a);
      a = -1;
      x--;
      continue;
     }
    }
       }
       int k;
       for(k = h+1;k <= j;k++,h++){//将数组直接向前移动 
    strcpy(cou[h].course_ID,cou[k].course_ID); 
    strcpy(cou[h].course_name,cou[k].course_name); 
    strcpy(cou[h].property,cou[k].property); 
    strcpy(cou[h].period,cou[k].period); 
    strcpy(cou[h].credit,cou[k].credit); 
    strcpy(cou[h].time,cou[k].time); 
       }
       /*将修改信息写入文件*/
       //思想:将原文件重新写入一遍
       renew_cou();
       j--;
       system("cls");
       printf("修改成功!\n");
       system("pause"); 
       system("cls");
       cou_operate();
      }
     }
     printf("\n此课程号不存在!\n");
     system("pause");
     system("cls");
     cou_operate();
    }
     
    //--功能函数
    /*更新系统数据至文件*/
    void renew_stu(void){
     FILE * fp;
     fp = fopen("student.txt","w+");
     if(fp == NULL){
      printf("\n打开文件失败,无法保存至文件。\n");
      fclose(fp);
      return ;
     }
     fprintf(fp,"学号\t姓名\t性别\t年龄\t系别\t班级\t联系方式\n");
     if(i == -1){
      fclose(fp);
      return;
     }
     int h;
     for(h = 0;h <= i;h++){
      fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",stu[h].stu_ID,stu[h].stu_name,stu[h].sex,stu[h].age,stu[h].collage,stu[h].grade,stu[h].contact);
     }
     fclose(fp);
      
    } 
    void renew_cou(void){
     FILE * fp;
     fp = fopen("course.txt","w+");
     if(fp == NULL){
      printf("\n打开文件失败,无法保存至文件。\n");
      fclose(fp);
      return ;
     }
     fprintf(fp,"代码\t名称\t性质\t总学时\t学分\t开课学期\t选修人数\n");
     if(j == -1){
      fclose(fp);
      return;
     }
     int h;
     for(h = 0;h <= j;h++){
      fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t\t%s\n",cou[h].course_ID,cou[h].course_name,cou[h].property,cou[h].period,cou[h].credit,cou[h].time,cou[h].people); }
     fclose(fp);
      
    }

参考代码2

权限密码有错,选课功能没有完善

复制代码
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    
    struct Student
    {
    	int num;		//课程编号 
    	char name[32];	//名称 
    	char nat[32];	//性质 
    	int time1;		//总学时 
    	int time2;		//授课学时 
    	int time3;		//实验学时 
    	int fen;		//学分 
    	int cho;		//选课人数 
    };
    struct Student wor[40];
    
    int count=0,i=0;				//全局变量,当读取时,i,count已有值,可再次进行录入功能时继续添加信息,且原有信息不被覆盖
    struct Code				//权限 
    {
    	char stu[10];
    	char tea[10];
    };
    
    struct Code code[40];
    
    char count1=0;
    char count2=0;
    char one=1;
    char two=2;
    
    char stuu()//学生登陆
    {
    	char num[32];
    	int i;
    	printf("请输入您的密码\n"); 
    	scanf("%s",num);
    	if(strlen(num)<=10)
    	{
    		for(i=0;i<40;i++)
    		{
    			if(strcmp(code[i].stu,num)==0)
    			{
    				printf("登陆成功\n"); 
    				_getch();
    				return 0; 
    			}
    		}
    	}
    	printf("输入错误,请重新输入\n"); 
    	return -1; 
    } 
    
    char teaa()//管理员登陆
    {
    	char num[32];
    	int i;
    	printf("请输入您的密码\n"); 
    	scanf("%s",num);
    	if(strlen(num)<=10)
    	{
    		for(i=0;i<40;i++)
    		{
    			if(strcmp(code[i].tea,num)==0)
    			{
    				printf("登陆成功\n"); 
    				_getch();
    				return 0; 
    			}
    		}
    	}
    	printf("输入错误,请重新输入\n"); 
    	return -1;
    } 
    
    char zhuce() //注册 
    {	
    	int i,j;
    	printf("管理员注册请按1,学生注册请按2!\n");
    	scanf("%d",&j);
    	if(j==1)
    	{
    		char num[32];
    		printf("请输入数字,不可超出10位\n");
    		scanf("%s",num);
    		if(strlen(num)<=10)
    		{
    			for(i=0;i<40;i++)
    			{
    				if(strcmp(code[i].tea,num)==0)
    				{
    					printf("数字已存在,请重新输入\n"); 
    					_getch();
    					return -1; 
    				}
    				printf("注册成功\n");
    				strcpy(code[count1].tea,num);
    				count1++; 
    				_getch();
    				return -1; 
    			}
    		}
    		printf("输入错误,请重新输入\n"); 
    		_getch();
    	 	return -1;
    	}
    	else if(j==2)
    	{
    		char num[32];
    		printf("请输入数字,不可超出10位\n");
    		scanf("%s",num);
    		if(strlen(num)<=10)
    		{
    			for(i=0;i<40;i++)
    			{
    				if(strcmp(code[i].stu,num)==0)
    				{
    					printf("数字已存在,请重新输入\n"); 
    					_getch();
    					return -1; 
    				}
    			}
    			printf("注册成功\n");
    			strcpy(code[count2].stu,num);
    			count2++; 
    			_getch();
    			return -1; 
    		}
    		printf("输入错误,请重新输入\n"); 
    		_getch();	
    		return -1; 
    	}
    	printf("输入错误,请重新输入\n"); 
    	_getch();
    	return -1; 	
    }
    char menu1()
    {
    
    	system("cls");
    	int num;
    	while(1)
    	{
    		system("cls");
    		printf("\t\t--------------------------\n\n");
    		printf("\t\t1.学生登陆\t2.管理员登陆\n\n");
    		printf("\t\t3.注册      4.退出系统\n\n");
    		printf("\t\t--------------------------\n\n");
    		scanf("%d",&num);
    		char c,d;
    		switch(num)
    		{
    			case 1:
    				stuu();
    				c=stuu();
    				if(c==0)
    				{
    					c=2;
    					one++;
    					return -1;
    				}
    			
    				break;
    			case 2:
    				teaa();
    				d=teaa();
    				if(d==0)
    				{
    					d=2;
    					two++;
    					return -1;
    				}
    			
    				break;
    			case 3:
    				zhuce();
    				break;
    			case 4:
    				exit(0);
    				break;
    		}	
    	}
    }
    
    void input()					
    {
    	for(;i<40;i++)
    	{
    		printf("\n");
    		printf("****************      数据录入      ***********\n");
    		printf("\n\n");
    		printf("请输入课程编号:");
    	    scanf("%d",&wor[i].num);
    		fflush(stdin);
    	    if(wor[i].num==0) break;          //当输入的课程编号为“0”时,录入结束
    		printf("请输入课程名称:");
    	    scanf("%s",&wor[i].name);
    		printf("请输入课程性质:");
    	    scanf("%s",&wor[i].nat);
    		printf("请输入总学时:");
    	    scanf("%d",&wor[i].time1);
    		printf("请输入授课学时:");
    	    scanf("%d",&wor[i].time2);
    		printf("请输入实验学时:");
    	    scanf("%d",&wor[i].time3);
    		printf("请输入课程学分:");
    	    scanf("%d",&wor[i].fen);
    	
    		count++;	    //记录录入信息的个数
    		system("cls");	//清屏
    	}
    }
    void brouse()//浏览课程 
    {
    	int i;
    	printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    	printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分 选课人数 \n");
    	printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    	for(i=0;i<count;i++)
    	{
    		printf(" %d    %s     %s    %d    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen,wor[i].cho);
    	    printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    	}
    	
    	
    	printf("请按任意键返回");
    	_getch();
    }
    void search()//信息查询
    {
    	void num();
    	void name();
    	int i;
    	printf("\n\n");
    	printf("请选择查询方式:\n");
    	printf("\n");
    	printf("┏━━━━━━━━━━━━━━━━━━━━━┓\n");
    	printf("┃  1.按课程学分查询     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  2.按课程性质查询     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  4.返回系统页面       ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("\n");
    	printf("请输入您的选择,小系为您服务:\n");
    	scanf("%d",&i);
    	system("cls");
    	switch(i)
    	{
        case 1: num();break;
    		case 2: name();break;
    		case 3:break;
    	}
    }
    void num()//学分查询
    {
    	int i,num;
    	printf("请输入所查询的课程学分:\n");
    	scanf("%d",&num);
    	for(i=0;i<count;i++)
    		if(wor[i].num==num)
    		{
    			printf("查询结果如下:\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("*********    很抱歉,没有查到      *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void name()//名称查询
    {
    	int i;
    	char name[10];
    	printf("请输入所查课程名称:\n");
    	scanf("%s",name);
    	for(i=0;i<count;i++)		
    		if(strcmp(wor[i].name,name)==0)
    		{
    			printf("查询结果如下:\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    
    }
    
    char choice()	//选课 
    {
    	int i;
    	char name[10];
    	printf("请输入所选课程名称:\n");
    	scanf("%s",name);
    	for(i=0;i<count;i++)		
    		if(strcmp(wor[i].name,name)==0)
    		{
    			printf("*******************************************\n");
    			printf("*********      恭喜,选课成功     *********\n");
    			printf("*******************************************\n");
    			wor[i].cho++;
    			_getch();
    			return -1;
    		}
    	
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    
    
    }
    
    
    void revise()//课程信息修改。
    {
    	void renum();
    	void re_name();
    	void renat();
    	void retime1();
    	void retime2();
    	void retime3();
    	void refen();
    	int j;
    	printf("选择修改内容:\n");
    	printf("┏━━━━━━━━━━━━━━━━━━━━━┓\n");
    	printf("┃  1.课程编号修改     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  2.课程名称修改     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  3.课程性质修改     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  4.总学时修改       ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  5.授课学时修改     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  6.实验学时修改     ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  7.学分修改         ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("┃  8.返回管理系统页面 ┃\n");
    	printf("┗━━━━━━━━━━━━━━━━━━━━━┛\n");
    	printf("请输入您的选择,小系为您服务:\n");
    	scanf("%d",&j);
    	system("cls");
    	switch(j)
    	{
    		case 1: renum();break;
        case 2: re_name();break;
    		case 3: renat();break;
    		case 4: retime1();break;
    		case 5: retime2();break;
    		case 6: retime3();break;
    		case 7: refen();break;
    		case 8:break;
    	}
    }
    
    void renum()//课程编号修改
    {
    	char name[32];
    	int i,t;
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程初始编号是:%d\n",wor[i].num);
    	        printf("修改后的之后的编号是:");
    			scanf("%d",&t);
    	        wor[i].num=t;
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void re_name()//名称修改
    {
    	char name[32];
    	int i;
    	char t[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程初始名称是:%d\n",wor[i].name);
    	        printf("修改后的之后的名称是:");
    			scanf("%s",t);
    	        strcpy(wor[i].name,t);
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    	    printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void renat()//课程性质修改
    {
    	char name[32];
    	int i;
    	char nat[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("课程初始性质是:%d\n",wor[i].nat);
    	        printf("修改后的之后的性质是:");
    			scanf("%s",nat);
    	        strcpy(wor[i].nat,nat);
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void retime1()//总学时修改
    {
    	int t,i;
    	char name[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程初始总学时是:%d\n",wor[i].time1);
    	        printf("修改后的总学时是:");
    			scanf("%d",&t);
    	        wor[i].time1=t;
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void retime2()//授课学时修改
    {
    	int time2;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程的名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程初始授课学时是:%s\n",wor[i].time2);
    	        printf("修改后的之后的授课学时是:");
    			scanf("%d",&time2);
    	        wor[i].time2=time2;
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");	
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    
    }
    void retime3()//实验学时修改 
    {
    int  time3;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程的名称是:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程的初始实验学时是:%d\n",wor[i].time3);
    			printf("修改后的实验学时是:");
    			scanf("%d",&time3);
    			wor[i].time3=time3;		
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("****************************************************\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void refen()//课程学分修改 
    {
    	int fen;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程名称是:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(wor[i].name,name)==0)
    		{
    	        printf("本课程初始课程学分是:%s\n",wor[i].fen);
       	        printf("修改后的课程学分是:");
    			scanf("%d",&fen);
    	        wor[i].fen=fen;			
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("******       o(≧v≦)o~~好棒!!修改成功!!!     ******\n");
    			printf("\n");
    			printf("以下是修改之后的课程信息\n");
    			printf("****************************************************\n");
    			printf("┏━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┓\n");
    			printf(" 课程编号 课程名称 课程性质  总学时 授课学时 实验学时 学分  \n");
    			printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			printf(" %d    %s     %s    %d    %d    %d    %d\n",wor[i].num,wor[i].name,wor[i].nat,wor[i].time1,wor[i].time2,wor[i].time3,wor[i].fen);
    	  		printf("┗━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┃━━━━┛\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("*******************************************\n");
    		printf("********* 很抱歉,没有该课程的信息 *********\n");
    		printf("*******************************************\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    
    void dele()//课程删除 
    { 
    	
    	int i,j;
    	char del_name[10];
    	printf("请输入需要删除的课程名称:\n");
    	scanf("%s",del_name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	{
    		if((strcmp(wor[i].name,del_name)==0))
    		{
    			for(j=i;j<count;j++)
    			{
    				wor[j]=wor[j+1];
    			}
    			printf("****************************************************\n");
    	        printf("\n");
    		    printf("             o(≧v≦)o~~好棒!!删除成功!!!           \n");
    		    printf("      您可以返回菜单在浏览功能项中查看删除结果!!!   \n");
    			printf("\n");
    	        printf("****************************************************\n");			
    		    count--;
    		}
    	}
    	
    	printf("请按任意键返回");
    	_getch();
    }
    
    void save()//文件建立及保存                                                                                                        
    {
    	FILE * fp;
    	int i;	
    	if((fp=fopen("Stu_list","wb"))==NULL)
    	{
    		printf("不能打开文件\n");
    		return;
    	}
    	for(i=0;i<count;i++)
    	{
    		if(fwrite(&wor[i],sizeof(struct Student),1,fp)!=1)
    			printf("文件输出错误\n");
    	}	
    	fclose(fp);
    	printf("\n\n");
    	printf("***********************************************\n");
    	printf("\n");
    	printf("******    o(≧v≦)o~~好棒!!保存成功!!!   ******\n");
    	printf("\n");
    	printf("***********************************************\n");
    	printf("请按任意键返回");
    	_getch();
    }
    void read()//数据的读取
    {
    	FILE * fp;
    	fp=fopen("Stu_list","rb");
    	do
    	{
    		fread(&wor[i],sizeof(struct Student),1,fp);//地址  长度   条数  指针
    		count++;
    		i++;
    	}
    	while(!feof(fp));//判断不等于0
    	i--;
    	count--;
    	fclose(fp);
    	printf("\n\n");
    	printf("***********************************\n");
    	printf("\n");
    	printf("    o(≧v≦)o~~好棒!!读取成功!!!   \n");
    	printf("\n");
    	printf("***********************************\n");
    	printf("请按任意键返回");
    	_getch();
    }
    char quit()
    {
    	int q;
    	printf("***********************************\n");
    	printf("**********  确认退出吗?  **********\n");
    	printf("\n");
    	printf("*******       1,确定        *******\n");
    printf("*******       2,取消        *******\n");
    	printf("\n");
    	printf("***********************************\n");
    	printf("请输入您的选择,小系为您服务:\n");
    	scanf("%d",&q);
    	switch(q)
    	{
        case 1:exit(1);break;
    		case 2:break;
    	}
    }
    
    
     
    int main()
    {
    	int m;
    	for(m=0;m<40;m++)
    	{
    		wor[m].cho=0;
    	}
    	
    	int k;
    	menu1();
    	if(one>1) 
    	{
    		one=1;
    		system("cls"); 
    		while(1)
    		{
    			system("cls");
    			printf("\n");
    			printf("\t欢迎来到学生界面\n");
    			printf("\n");
    			printf("\t(1)   课程信息浏览                      \n");
    			printf("\t(2)   课程信息查询                      \n");
    			printf("\t(3)   课程信息读取                      \n");
    			printf("\t(4)   学生选课                      \n");
    		    printf("\t(5)   退出                              \n");
    			printf("\n\n");
    			printf("请输入您的选择,小系为您服务:\n");
    	    scanf("%d",&k);
    		    switch(k)
    			{
    			   case 1:system("cls");brouse();break;
    			   case 2:system("cls");search();break;
    			   case 3:system("cls");read();break;
    			   case 4:system("cls");choice();break;
    			   case 5:system("cls");quit();break;
    			}
    		}
    	}else if(two>2) 
    	{
    		two=2;
    		system("cls");
    		while(1)
    		{
    			system("cls");
    			printf("\n");
    			printf("\t欢迎来到管理者界面 \n");
    			printf("\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");
    			printf("\t(7)   课程信息读取                      \n");
    		    printf("\t(8)   退出                              \n");
    			printf("\n\n");
    			printf("请输入您的选择,小系为您服务:\n");
    	    scanf("%d",&k);
    		    switch(k)
    			{
    			   case 1:system("cls");input();break;
    			   case 2:system("cls");brouse();break;
    			   case 3:system("cls");search();break;
    		       case 4:system("cls");revise();break;
    			   case 5:system("cls");dele();break;
    			   case 6:system("cls");save();break;
    			   case 7:system("cls");read();break;
    			   case 8:system("cls");quit();break;
    			}
    		}
    	}
    	
    
    	return 0;
    }

参考代码3

复制代码
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    
    struct Student
    {
    	int num;		//课程编号 
    	char name[32];	//名称 
    	char nat[32];	//性质 
    	int time1;		//总学时 
    	int time2;		//授课学时 
    	int time3;		//实验学时 
    	int fen;		//学分 
    };
    
    struct Student stu[40];
    int count=0,i=0;
    
    void input()					
    {
    	printf("\n\n");
    	printf("请输入课程编号:");scanf("%d",&stu[i].num);
    	printf("请输入课程名称:");scanf("%s",&stu[i].name);
    	printf("请输入课程性质:");scanf("%s",&stu[i].nat);
    	printf("请输入总学时:");scanf("%d",&stu[i].time1);
    	printf("请输入授课学时:");scanf("%d",&stu[i].time2);
    	printf("请输入实验学时:");scanf("%d",&stu[i].time3);
    	printf("请输入课程学分:");scanf("%d",&stu[i].fen);
    	count++;	    //记录录入信息的个数
    	system("cls");	//清屏
    	printf("-------------------------------------------\n\n");
    	printf("                  修改成功                 \n\n");
    	printf("-------------------------------------------\n\n");
    	printf("\n\n请按任意键返回");
    	_getch();	
    }
    void brouse()					//浏览课程 
    {
    	int i;
    	printf("\n");
    	printf("编号  名称   性质   总学时   授课学时   实验学时   学分\n");
    	printf("\n");
    	for(i=0;i<count;i++)
    	{
    		printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].nat,stu[i].time1,stu[i].time2,stu[i].time3,stu[i].fen);
    	    printf("\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void search()					//查询课程 
    {
    	void num();
    	void name();
    	int i;
    	printf("\n\n");
    	printf("  1.按课程学分查询     \n");
    	printf("  2.按课程性质查询     \n");
    	printf("  3.返回系统页面       \n");
    	printf("\n");
    	scanf("%d",&i);
    	system("cls");
    	switch(i)
    	{
        case 1: num();break;
    		case 2: name();break;
    		case 3:break;
    	}
    }
    void num()//学分查询
    {
    	int i,num;
    	printf("请输入所查询的课程学分:\n");
    	scanf("%d",&num);
    	for(i=0;i<count;i++)
    		if(stu[i].num==num)
    		{
    			printf("查询结果如下:\n\n");
    			printf("\n编号  名称   性质   总学时   授课学时   实验学时   学分\n\n");
    			printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\n\n",stu[i].num,stu[i].name,stu[i].nat,stu[i].time1,stu[i].time2,stu[i].time3,stu[i].fen);
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void name()//名称查询
    {
    	int i;
    	char name[10];
    	printf("请输入所查课程名称:\n");
    	scanf("%s",name);
    	for(i=0;i<count;i++)		
    		if(strcmp(stu[i].name,name)==0)
    		{
    			printf("查询结果如下:\n\n");
    			printf("\n编号  名称   性质   总学时   授课学时   实验学时   学分\n\n");
    			printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\n\n",stu[i].num,stu[i].name,stu[i].nat,stu[i].time1,stu[i].time2,stu[i].time3,stu[i].fen);
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    
    }
    
    void revise()//课程信息修改。
    {
    	void renum();
    	void re_name();
    	void renat();
    	void retime1();
    	void retime2();
    	void retime3();
    	void refen();
    	int j;
    
    	printf("  1.课程编号修改     \n");
    	printf("  2.课程名称修改     \n");
    	printf("  3.课程性质修改     \n");
    	printf("  4.总学时修改       \n");
    	printf("  5.授课学时修改     \n");
    	printf("  6.实验学时修改     \n");
    	printf("  7.学分修改         \n");
    	printf("  8.返回管理系统页面 \n");
    	scanf("%d",&j);
    	system("cls");
    	switch(j)
    	{
    		case 1: renum();break;
        case 2: re_name();break;
    		case 3: renat();break;
    		case 4: retime1();break;
    		case 5: retime2();break;
    		case 6: retime3();break;
    		case 7: refen();break;
    		case 8:break;
    	}
    }
    
    void renum()//课程编号修改
    {
    	char name[32];
    	int i,t;
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程初始编号是:%d\n",stu[i].num);
    	        printf("修改后的之后的编号是:");
    			scanf("%d",&t);
    	        stu[i].num=t;
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void re_name()//名称修改
    {
    	char name[32];
    	int i;
    	char t[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程初始名称是:%d\n",stu[i].name);
    	        printf("修改后的之后的名称是:");
    			scanf("%s",t);
    	        strcpy(stu[i].name,t);
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void renat()//课程性质修改
    {
    	char name[32];
    	int i;
    	char nat[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("课程初始性质是:%d\n",stu[i].nat);
    	        printf("修改后的之后的性质是:");
    			scanf("%s",nat);
    	        strcpy(stu[i].nat,nat);
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void retime1()//总学时修改
    {
    	int t,i;
    	char name[32];
    	printf("请输入您要查询的课程名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程初始总学时是:%d\n",stu[i].time1);
    	        printf("修改后的总学时是:");
    			scanf("%d",&t);
    	        stu[i].time1=t;
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void retime2()//授课学时修改
    {
    	int time2;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程的名称:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程初始授课学时是:%s\n",stu[i].time2);
    	        printf("修改后的之后的授课学时是:");
    			scanf("%d",&time2);
    	        stu[i].time2=time2;
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    
    }
    void retime3()//实验学时修改 
    {
    int  time3;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程的名称是:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程的初始实验学时是:%d\n",stu[i].time3);
    			printf("修改后的实验学时是:");
    			scanf("%d",&time3);
    			stu[i].time3=time3;		
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    void refen()//课程学分修改 
    {
    	int fen;
    	char name[32];
    	int i;
    	printf("请输入您要修改的课程名称是:");
    	scanf("%s",name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	    if(strcmp(stu[i].name,name)==0)
    		{
    	        printf("本课程初始课程学分是:%s\n",stu[i].fen);
       	        printf("修改后的课程学分是:");
    			scanf("%d",&fen);
    	        stu[i].fen=fen;			
    			printf("-------------------------------------------\n\n");
    			printf("                  修改成功                 \n\n");
    			printf("-------------------------------------------\n\n");
    			break;
    		}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,没有查到              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	printf("请按任意键返回");
    	_getch();
    }
    
    void dele()							//删除课程 
    { 
    	
    	int i,j;
    	char del_name[10];
    	printf("请输入需要删除的课程名称:\n");
    	scanf("%s",del_name);
    	printf("\n\n");
    	for(i=0;i<count;i++)
    	{
    		if((strcmp(stu[i].name,del_name)==0))
    		{
    			for(j=i;j<count;j++)
    			{
    				stu[j]=stu[j+1];
    			}
    			printf("-------------------------------------------\n\n");
    			printf("                  删除成功                 \n\n");
    			printf("-------------------------------------------\n\n");			
    		    count--;
    		}
    	}
    	if(i>=count)
    	{
    		printf("-------------------------------------------\n\n");
    		printf("              很抱歉,删除失败              \n\n");
    		printf("-------------------------------------------\n\n");
    	}
    	
    	printf("请按任意键返回");
    	_getch();
    }
    
    void save()							//文件保存                                                                                                        
    {
    	FILE * fp;
    	int i;	
    	if((fp=fopen("Stu_list","wb"))==NULL)
    	{
    		printf("不能打开文件\n");
    		return;
    	}
    	for(i=0;i<count;i++)
    	{
    		if(fwrite(&stu[i],sizeof(struct Student),1,fp)!=1)
    			printf("文件输出错误\n");
    	}	
    	fclose(fp);
    	printf("\n\n");
    	printf("-------------------------------------------\n\n");
    	printf("                  保存成功                 \n\n");
    	printf("-------------------------------------------\n\n");
    	printf("请按任意键返回");
    	_getch();
    }
    void read()							//文件读取 
    {
    	FILE * fp;
    	fp=fopen("Stu","rb");
    	do
    	{
    		fread(&stu[i],sizeof(struct Student),1,fp);
    		count++;
    		i++;
    	}
    	while(!feof(fp));//判断不等于0
    	i--;
    	count--;
    	fclose(fp);
    	printf("\n\n");
    	printf("-------------------------------------------\n\n");
    	printf("                  读取成功                 \n\n");
    	printf("-------------------------------------------\n\n");
    	printf("请按任意键返回");
    	_getch();
    }
    void quit()
    {
    	int q;
    
    	printf("\n\t确认退出吗?\n\n");
    	printf("\t1,确定\n");
    printf("\t2,取消\n\n");
    	scanf("%d",&q);
    	switch(q)
    	{
        case 1:return;break;
    		case 2:break;
    	}
    }
    void main()
    {
    	int k;
    	while(1)
    	{
    		system("cls");
    		printf("\n");
    	    printf("1.增加课程              \n");
    		printf("2.浏览课程              \n");
    		printf("3.查询课程              \n");
    		printf("4.修改课程              \n");
    		printf("5.删除课程              \n");
    		printf("6.课程文件创建          \n");
    		printf("7.课程文件读取          \n");
    	    printf("8.退出选修课程系统      \n\n\n");
        scanf("%d",&k);
    	    switch(k)
    		{
    		   case 1:system("cls");input();break;
    		   case 2:system("cls");brouse();break;
    		   case 3:system("cls");search();break;
    	       case 4:system("cls");revise();break;
    		   case 5:system("cls");dele();break;
    		   case 6:system("cls");save();break;
    		   case 7:system("cls");read();break;
    		   case 8:system("cls");quit();break;
    		}
    	}
    }

全部评论 (0)

还没有任何评论哟~