溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言如何實現(xiàn)學生選修課程系統(tǒng)設計

發(fā)布時間:2021-05-28 12:34:29 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關C語言如何實現(xiàn)學生選修課程系統(tǒng)設計,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

本文實例為大家分享了C語言學生選修課程系統(tǒng)的具體代碼,供大家參考,具體內容如下

代碼:

/* 
* Verson:2.0(basic) 
* 
* History: 完成課程信息的錄入,查詢等操作;完成選課功能(2017-05-05 20:30:00-01:20:00) 
*
* Author:universes 
*
*
*********************************/
/* 
* Verson:1.9
* 
* History:完成了學生信息的查詢操作 (2017-05-04 22:00:32-01:11:00) 
*
* Author:universes 
*
*
********************************/
/* 
* Verson:1.5
* 
* HIstory2:添加查重功能 (2017-05-02 23:39:19-01:06:05) 
* History1:完成了用戶對課程和學生信息的添加操作(沒有查重功能)(2017-05-02 22:06:13-23:39:19) 
*
* Author:universes
*
*
********************************/
/* 
* Verson:1.0 
*
* History:完成了用戶的選擇功能框架(2017-04-19 22:06:13-22:40:47) 
*
* Author:universes 
*
*
********************************/
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>

#define SIZE_STU 10
#define SIZE_COU 10
#define SIZE_SEL 10
//////////////函數(shù)聲明部分 
void home(void);
void stu_operate(void);
void cou_operate(void);
void statistic(void);
void choose(void);
void delete_sel(int);
//--學生信息部分: 
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;//存放學生信息的數(shù)組下標 
 int c;//存放課程信息的數(shù)組下標 
}sel[SIZE_SEL]; 

//全局變量i,j,x分別是學生,課程,選課信息數(shù)組下標
int i = -1;
int j = -1;
int x = -1;

int main(void){
 //進入歡迎界面 
 home();
 return 0;
}

//歡迎界面 
void home(void) {
 printf("\n-------------------------歡迎進入選課系統(tǒng)!----------------------"); 
 int h;
 printf("\n\n      請選擇你要進行的操作:");
 printf("\n\n        1.學生操作");
 printf("\n        2.課程操作");
 printf("\n        3.開始選課");
 printf("\n        4.選課統(tǒng)計");
 printf("\n        5.退出系統(tǒng)");
 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 choose(void){
 char stu_id[10],cou_id[10];
 printf("\n-------------------------歡迎進入選課系統(tǒng)!----------------------"); 
 //輸入選課學生信息 
 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條記錄 
/*注意!本函數(shù)沒有將x減1,請在函數(shù)外手動減1(考慮外層函數(shù)循環(huán)的需要)*/ 
 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-------------------------歡迎進入選課系統(tǒng)!----------------------"); 
 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-------------------------歡迎進入選課系統(tǒng)!----------------------"); 
 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; 
 }
}
//選課信息統(tǒng)計記錄
void statistic(void){
 printf("\n-------------------------歡迎進入選課系統(tǒng)!----------------------"); 
 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聯(lián)系方式\n");
 }
 fclose(fp);
 //-- 
 fp = fopen("student.txt","a+");
 if(fp == NULL){
  printf("打開文件失??!");
  system("cls");
  stu_operate();
 }
 printf("學號\t姓名\t性別\t年齡\t系別\t班級\t聯(lián)系方式\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);
  //--數(shù)據(jù)查重
  int h; 
  for(h = 0;h < i;h++){
   if(i == 0) break;//第一條數(shù)據(jù)不需要查重 
   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錄入成功,繼續(xù)錄入輸入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聯(lián)系方式");
   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聯(lián)系方式");
   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聯(lián)系方式");
 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聯(lián)系方式");
   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這是修改前的數(shù)據(jù),請依次輸入修改值:\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,以及選課數(shù)組減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++){//將數(shù)組直接向前移動 
    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選修人數(shù)\n");
 }
 fclose(fp);
 //-- 
 fp = fopen("course.txt","a+");
 if(fp == NULL){
  printf("打開文件失?。?quot;);
  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);
  //--數(shù)據(jù)查重
  int h; 
  for(h = 0;h < j;h++){
   if(j == 0) break;//第一條數(shù)據(jù)不需要查重 
   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錄入成功,繼續(xù)錄入輸入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選修人數(shù)");
   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選修人數(shù)");
   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選修人數(shù)");
 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這是修改前的數(shù)據(jù),請依次輸入修改值:\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++){//將數(shù)組直接向前移動 
    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();
}

//--功能函數(shù)
/*更新系統(tǒng)數(shù)據(jù)至文件*/
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聯(lián)系方式\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選修人數(shù)\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);
 
}

關于“C語言如何實現(xiàn)學生選修課程系統(tǒng)設計”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI