C语言,课程管理系统
生活随笔
收集整理的這篇文章主要介紹了
C语言,课程管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>typedef struct student
{char num[20];//課程編號 char name[20];//課程名稱 char teacher[10];//老師姓名char nature[10];//課程性質 char data[20];//當前學分 char datatime[20];//開課學期 char classtime[50];//上課時間 char placetime[20];//上課地點int sore;//上課地點 }student;student soredata[200];//存蓄數據
int snum;//成績個數void SorePrintf(student p)
{printf("*__________________________________________________________________________________________________________________*\n");printf("%-10s%-18s%-15s%-10s%-10s%-10s%-10s%-10s%\n","課程編號","課程名稱","授課教師","課程性質","課程學分","開課學期","上課時間","上課地點");printf("*__________________________________________________________________________________________________________________*\n");printf("%-10s%-18s%-15s%-10s%-10s%-10s%-10s%-10s%\n",p.num,p.name,p.teacher,p.nature,p.data,p.datatime,p.classtime,p.placetime);printf("課程添加完成!\n");printf("\n");
}void read()//讀文件數據
{//文件FILE *fp;//以讀的方式打開文件fp=fopen("score.txt","r"); if(fp==NULL){printf("打開文件失敗!\n");return; }snum =0;while(!feof(fp)) { //讀文件數據到數組fscanf(fp,"%s%s%s%s",soredata[snum].num,soredata[snum].name,soredata[snum].teacher,soredata[snum].nature); fscanf(fp,"%s%s%s",soredata[snum].data,soredata[snum].datatime,soredata[snum].classtime); fscanf(fp,"%s",&soredata[snum].placetime);snum++;//個數加1}//關閉文件fclose(fp);}void SaveScore()//保存數據
{//文件FILE *fp;int i;//以讀的方式打開文件fp=fopen("score.txt","w"); if(fp==NULL){printf("打開文件失敗!\n");exit(0); }for(i=0;i<snum-1;i++){fprintf(fp,"%s %s %s %s ",soredata[i].num,soredata[i].name,soredata[i].teacher,soredata[i].nature); fprintf(fp,"%s %s %s ",soredata[i].data,soredata[i].datatime,soredata[i].classtime); fprintf(fp,"%s\n",soredata[i].placetime);}fprintf(fp,"%s %s %s %s ",soredata[i].num,soredata[i].name,soredata[i].teacher,soredata[i].nature); fprintf(fp,"%s %s %s ",soredata[i].data,soredata[i].datatime,soredata[i].classtime); fprintf(fp,"%s",soredata[i].placetime);//關閉文件fclose(fp);}void AddScore()
{printf("請輸入課程編號:");scanf("%s",soredata[snum].num);printf("請輸入課程名稱:");scanf("%s",soredata[snum].name);printf("請輸入老師姓名:");scanf("%s",soredata[snum].teacher);printf("請輸入課程性質 :");scanf("%s",soredata[snum].nature);printf("請輸入當前學分:");scanf("%s",soredata[snum].data);printf("請輸入開課學期:");scanf("%s",soredata[snum].datatime);printf("請輸入上課時間:");scanf("%s",soredata[snum].classtime);printf("請輸入上課地點:");scanf("%s",&soredata[snum].placetime);snum++;//加1SaveScore();printf("添加成功\n");printf("任意鍵回到菜單....\n");getch();
}void FindScore()//查詢
{int i;char num[20];printf("請輸入需要查詢的課程編號:\n");scanf("%s",num);for(i =0;i<snum;i++){if(strcmp(soredata[i].num,num) == 0){printf("查找到的信息如下:\n");SorePrintf(soredata[i]);printf("任意鍵回到菜單....\n");getch();return;}}printf("信息不存在\n");printf("任意鍵回到菜單....\n");getch();}
void selectScore()//查詢
{int i;int total=0;for(i =0;i<snum;i++){SorePrintf(soredata[i]);total = total + soredata[i].sore;//計算總成績}printf("任意鍵回到菜單....\n");getch();}void FixScore()//修改
{int i;char num[20];//課程編號 char name[20];//課程名稱 char teacher[10];//老師姓名char nature[10];//課程性質 char data[20];//當前學分 char datatime[20];//開課學期 char classtime[50];//上課時間 char placetime[20];//上課地點 printf("請輸入需要修改的課程編號:\n");scanf("%s",num);for(i =0;i<snum;i++){if(strcmp(soredata[i].num,num) == 0){printf("修改前信息如下:\n");SorePrintf(soredata[i]);printf("請輸入修改后的課程編號 :\n");scanf("%s",&soredata[i].num);printf("請輸入修改后的課程名稱:\n");scanf("%s",&soredata[i].name);printf("請輸入修改后的老師姓名:\n");scanf("%s",&soredata[i].teacher);printf("請輸入修改后的課程性質:\n");scanf("%s",&soredata[i].nature);printf("請輸入修改后的當前學分 :\n");scanf("%s",&soredata[i].data);printf("請輸入修改后的開課學期:\n");scanf("%s",&soredata[i].datatime);printf("請輸入修改后的上課時間:\n");scanf("%s",&soredata[i].classtime);printf("請輸入修改后的上課地點:\n");scanf("%s",&soredata[i].placetime);SaveScore();//保存printf("修改成功");printf("任意鍵回到菜單....\n");getch();return;}}printf("信息不存在\n");printf("任意鍵回到菜單....\n");getch();}void DeleScore()//刪除
{int i;char num[20];printf("請輸入需要刪除的課程編號:\n");scanf("%s",num);for(i =0;i<snum;i++){if(strcmp(soredata[i].num,num) == 0){printf("刪除前信息如下:\n");SorePrintf(soredata[i]);for(;i<snum;i++){soredata[i] = soredata[i+1];}snum--;SaveScore();printf("刪除成功\n");printf("任意鍵回到菜單....\n");getch();return;}}printf("信息不存在\n");printf("任意鍵回到菜單....\n");getch();
}void ShowScore()
{int i;int total=0;for(i =0;i<snum;i++){SorePrintf(soredata[i]);total = total + soredata[i].sore;//計算總成績}printf("任意鍵回到菜單....\n");getch();}void Menu()
{char ch;system("cls");printf("*__________________________________________*\n");printf("|___________課程信息管理系統_______________|\n");printf("*__________________________________________*\n");printf("*__________________________________________*\n");printf("| 1 創建課程信息 |\n");printf("| 2 瀏覽課程信息 |\n");printf("| 3 修改課程信息 |\n");printf("| 4 刪除課程信息 |\n");printf("| 5 查詢課程信息 |\n");printf("| 6 課程信息 |\n");printf("*__________________________________________*\n");printf("請輸入序號: ");//輸入選擇scanf("%c",&ch);switch(ch){case '1':AddScore();break;case '2':selectScore();break;case '3':FixScore(); break;case '4':DeleScore();break;case '5':FindScore();break;case '6':ShowScore();break;case '7':return;break;case '8':exit(0);break;default:break;}Menu();
}
int main()
{ read();Menu();while(1);
}
代碼效果:
?
總結
以上是生活随笔為你收集整理的C语言,课程管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解公司企业Advance Meteri
- 下一篇: 程序员如何自我学习?