C语言课程设计--学生成绩管理系统

合集下载

C语言课程设计学生成绩管理系统

C语言课程设计学生成绩管理系统

C语言课程设计学生成绩管理系统在当今数字化的时代,学生成绩管理系统对于学校和教育机构来说至关重要。

它不仅能够提高教学管理的效率,还能为教学决策提供有力的数据支持。

本次 C 语言课程设计的目标就是创建一个功能齐全、操作便捷的学生成绩管理系统。

一、系统需求分析首先,明确系统需要实现的基本功能。

包括学生信息的录入,如姓名、学号等;课程信息的设置,如课程名称、学分等;成绩的录入、修改和查询;以及成绩的统计分析,如计算平均分、排名等。

同时,系统应具备良好的用户界面,操作简单易懂,方便教师和管理人员使用。

对于数据的存储和管理,要保证数据的安全性和完整性,防止数据丢失或被篡改。

二、系统设计(一)数据结构设计选择合适的数据结构来存储学生、课程和成绩信息。

可以使用结构体来定义学生和课程的数据类型,使用数组或链表来存储多个学生和课程的信息。

例如,定义学生结构体如下:```ctypedef struct student {int id;char name50;float scores10; //假设最多 10 门课程} Student;```(二)功能模块设计将系统划分为多个功能模块,如录入模块、查询模块、修改模块、统计模块等。

每个模块负责完成特定的功能,模块之间相互独立,便于代码的维护和扩展。

录入模块负责接收用户输入的学生、课程和成绩信息,并进行合法性检查。

查询模块可以根据用户输入的条件,如学号、姓名、课程名称等,查询相应的学生成绩信息。

修改模块允许用户对已录入的成绩进行修改,但需要进行权限验证。

统计模块用于计算学生的平均分、总分,并进行排名。

(三)界面设计设计简洁明了的用户界面,使用菜单选项让用户选择不同的功能。

可以使用控制台输入输出的方式,也可以考虑使用图形界面库来实现更友好的界面。

三、系统实现(一)数据输入与存储使用文件来存储学生成绩数据,便于数据的持久化。

在程序启动时,读取文件中的数据;在程序结束时,将修改后的数据保存回文件。

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计一、教学目标本课程旨在通过成绩管理系统的课程设计,让学生掌握C语言编程的基本语法,理解结构化程序设计的基本思想,并能够运用C语言实现简单的系统程序。

在知识目标方面,学生需要掌握C语言的基本数据类型、控制结构、函数等语法知识。

在技能目标方面,学生需要能够独立编写并调试C语言程序,具备一定的程序设计能力。

在情感态度价值观目标方面,学生应该培养对计算机科学的兴趣,增强解决实际问题的信心和勇气。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、控制结构、函数等知识,通过成绩管理系统的实例,让学生了解并掌握结构化程序设计的方法。

具体的教学大纲安排如下:1.第1-2课时:C语言概述,基本数据类型和输入输出语句。

2.第3-4课时:控制结构,包括条件语句和循环语句。

3.第5-6课时:函数的定义和调用,掌握函数的参数传递和返回值。

4.第7-8课时:数组和字符串的处理,实现成绩管理系统的数据存储。

5.第9-10课时:指针的概念和应用,优化成绩管理系统的数据处理。

6.第11-12课时:结构体和文件操作,完善成绩管理系统的功能。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

1.讲授法:用于讲解C语言的基本语法和概念。

2.讨论法:通过分组讨论,让学生深入理解程序设计中的问题。

3.案例分析法:分析成绩管理系统的实现过程,让学生了解实际应用。

4.实验法:让学生动手编写和调试程序,提高编程能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。

1.教材:选用《C程序设计语言》作为主要教材,辅以《C语言编程实例教程》进行实践指导。

2.参考书:提供《C语言程序设计》等参考书,供学生深入研究。

3.多媒体资料:制作课件和教学视频,方便学生复习和自学。

4.实验设备:提供计算机实验室,让学生进行编程实践。

五、教学评估本课程的教学评估将采用多元化评价方式,全面客观地评价学生的学习成果。

c课程设计成绩管理系统

c课程设计成绩管理系统

c 课程设计成绩管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握成绩管理系统的核心概念和基本原理,了解成绩管理系统的组成部分及其相互作用。

技能目标要求学生能够运用所学知识设计和实现一个简单的成绩管理系统,培养学生的实际操作能力和问题解决能力。

情感态度价值观目标要求学生树立正确的成绩观,认识到成绩管理的重要性,培养学生的责任感和使命感。

通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

本课程的教学内容主要包括成绩管理系统的概念、成绩管理系统的组成部分、成绩管理系统的实现方法等。

制定详细的教学大纲,明确教学内容的安排和进度。

教材的章节安排如下:1.成绩管理系统的概念:介绍成绩管理系统的定义、功能和作用。

2.成绩管理系统的组成部分:介绍成绩管理系统的主要模块,如成绩录入、成绩查询、成绩统计等。

3.成绩管理系统的实现方法:介绍成绩管理系统的开发方法和技术,如数据库设计、界面设计等。

三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。

结合本课程的特点和教学目标,采用以下教学方法:1.讲授法:用于讲解成绩管理系统的概念、原理和关键技术。

2.讨论法:用于引导学生探讨成绩管理系统的实现方法和问题解决策略。

3.案例分析法:用于分析实际成绩管理系统的应用案例,提高学生的实际操作能力。

4.实验法:用于让学生动手实践,设计和实现一个简单的成绩管理系统。

四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。

1.教材:选用权威、实用的成绩管理系统教材,为学生提供系统的知识体系。

2.参考书:提供相关领域的参考书籍,拓展学生的知识视野。

C语言课程设计-学生成绩管理系统

C语言课程设计-学生成绩管理系统

C语言课程设计-学生成绩管理系统#include<stdio.h>#include<string.h>/* strcmp函数原型包含*/#define N 100/*定义最大学生人数为100*/struct student /*学生结构体定义*/{char no[11]; /*学号,10位*/char name[10];/*姓名,3个汉字*/float score[5];/*储存5门功课的成绩*/float ave;/*储存平均分*/int year;/*入学年*/}stu[N];int num;int panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/void output(); /*输出学生成绩函数(公共函数)*/void init(); /*系统初始化函数*/void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/void weihu(); /*维护界面函数*/void new1(); /*新增一个学生成绩函数*/void xiugai(); /*修改学生成绩*/int xgcj(int); /*修改成绩*/void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/void paino(); /*按学号排序*/void paiave(); /*按平均分排序*/void paidkcj(); /*按单科成绩排序*/void change(int,int); /*交换结构体数组中的两个记录*/void outputx(int); /*选择输出单科成绩徐修楼编*/void find1(); /*查找界面函数*/int find(char sno[]); /*按学号查找*/int findname(char cname[]);/*按姓名查找*/void findyear(int cyear); /*按入学年查找*/void save(); /*保存文件*/void stop(); /*停顿函数*/void stop() /*停顿函数(公共函数)*/{printf("Press Any Key To Continue...\n");getch();}void output() /*输出学生成绩函数(公共函数)*/ {int i,j;printf("==================================== ===============================\n");printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDian\n");printf("==================================== ===============================\n");for(i=0;i<num;i++){printf("%-11s%-10s%-11d",stu[i].no,stu[i].name,stu[i].year);for(j=0;j<5;j++)printf("% -7.1f",stu[i].score[j]);printf("\n");}stop();}void init() /*系统初始化函数*/{if(access("stu.dat",0)) /*判断文件是否存在*/newfile(); /*若不存在,新建数据文件*/elseread1(); /*若存在,读取数据*/}void newfile() /*建立新的数据文件*/{int i;FILE *fp;if((fp=fopen("stu.dat","wb"))==NULL) /*创建二进制文件*/{printf("Chuang Jian Shi Bai! Qing Chong Xin YunXing Cheng Xu.\n"); /*显示“创建文件失败,请重新运行程序”*/exit(0); /*终止程序*/}printf(" Chu Ci Yun Xing, Jin Xing Shu Ju Chu Shi Hua...\n");/*显示“初次运行,进行数据初始化...”*/ stop();clrscr();printf(" Qing Shu Ru Xue Sheng Ren Shu:");/*显示“请输入学生人数:”*/scanf("%d",&num);for(i=0;i<num;i++){printf("Qing Shu Ru Di %d Ge Xue Sheng De Xue Hao:",i+1); /*显示“请输入第i+1个学生的学号:”*/ getchar(); /*吃回车*/gets(stu[i].no);printf("Xing Ming:"); /*显示“姓名:”*/gets(stu[i].name);printf("Ru Xue Nian:");/*显示“入学年”*/scanf("%d",&stu[i].year);printf("C-YuYan Cheng Ji:");/*显示“C语言成绩”*/scanf("%f",&stu[i].score[0]);printf("GaoShu Cheng Ji:");/*显示“高数成绩”*/ scanf("%f",&stu[i].score[1]);printf("DaWu Cheng Ji:");/*显示“大物成绩”*/ scanf("%f",&stu[i].score[2]);printf("DianLu Cheng Ji:");/*显示“电路成绩”*/ scanf("%f",&stu[i].score[3]);printf("MoDian Cheng Ji:");/*显示“模电成绩”*/ scanf("%f",&stu[i].score[4]);fwrite(&stu[i],1,sizeof(struct student),fp); /*把第i+1名学生成绩写入文件*/}fclose(fp);clrscr();printf("==================================== ==\n");printf(" Gung Cai Shu Ru De %d Ge Shu Ju Wei:\n",num); /*显示“刚才输入的num 个数据为:”*/printf("==================================== ==\n\n");output();}void read1() /*从数据文件中读取数据*/{FILE *fp;num=0; /*num为数据文件中实际存储的学生人数*/fp=fopen("stu.dat","r");if(fp==NULL) /*数据文件不存在*/{printf("Wen Jian Da Kai Shi Bai! Chong Xin Yun Xing Cheng Xu\n"); /*显示“文件打开失败!重新运行程序”*/exit(0);}while(!feof(fp)){fread(&stu[num],1,sizeof(struct student),fp);num++;}num--;fclose(fp);printf("==================================== ===\n");printf(" Xian You %d Ge Xue Sheng De Cheng Ji:\n",num); /*显示“现有NUM个学生的成绩:”*/printf("==================================== ===\n\n");output();}void weihu() /*维护界面函数*/{char c1;while(1){clrscr();printf("\n\n\n\t\t\t*****************************\n") ;printf("\t\t\t* Wei Hu *\n"); printf("\t\t\t* 1. Xin Zeng *\n"); /*新增*/printf("\t\t\t* 2. Shan Chu *\n"); /*删除(按学号)*/printf("\t\t\t* 3. Xiu Gai *\n"); /*修改*/printf("\t\t\t* ESC. Fan Hui *\n"); /*返回*/printf("\t\t\t*****************************\n"); printf("\t\t\tQing Xuan Ze:\n");/*请选择:*/c1=getch();if(c1==27)break;switch(c1){case '1':new1();break;case '2':delete1();case '3':xiugai();break;default:printf("Xuan Zen You Wu,Qing Chong Xuan!\n");/*“选择有误,请重选!”*/}}}void new1() /*新增一个学生成绩函数*/{printf("Qing Shu Ru Xue Hao:"); /*显示“请输入学号:”*/getchar(); /*吃回车*/gets(stu[num].no);printf("Xing Ming:"); /*显示“姓名:”*/gets(stu[num].name);printf("Ru Xue Nian:");/*显示“入学年”*/scanf("%d",&stu[num].year);printf("C-YuYan Cheng Ji:");/*显示“C语言成绩”*/scanf("%f",&stu[num].score[0]);printf("GaoShu Cheng Ji:");/*显示“高数成绩”*/ scanf("%f",&stu[num].score[1]);printf("DaWu Cheng Ji:");/*显示“大物成绩”*/ scanf("%f",&stu[num].score[2]);printf("DianLu Cheng Ji:");/*显示“电路成绩”*/ scanf("%f",&stu[num].score[3]);printf("MoDian Cheng Ji:");/*显示“模电成绩”*/ scanf("%f",&stu[num].score[4]);num++;printf("\n================================== ====\n");printf(" Xian You %d Ge Xue Sheng De Cheng Ji:\n",num); /*显示“现有NUM个学生的成绩:”*/printf("==================================== ==\n\n");output();}void xiugai() /*修改学生成绩*/{char xg[11];int i;printf("\nQing shu ru yao xiu gai xue sheng de xue hao:\n\n");gets(xg);for(i=0;i<num;i++)if(strcmp(stu[i].no,xg)==0)break;if(i==num){printf("\nShu ju wen jian wu gai sheng xi xi!\n\nQing chong xin shu ru xue hao.\n\n");stop();return;}xgcj(i);}int xgcj(int x) /*修改成绩*/{char xueke[5][10]={"Cyuyan"," Gaoshu","Wuli","Dianlu","Modian"};char (*p)[10],c;int j,k;p=xueke;for(;;){clrscr();printf("\n");printf("\t\t\t************************************\n\n");printf("\t\t\t Cheng Ji \n");printf("\t\t\t 1.C Yu Yan \n"); /*C语言*/printf("\t\t\t 2.Gao Shu \n"); /*高数*/printf("\t\t\t 3.Wu Li \n"); /*大学物理*/printf("\t\t\t 4.Dian Lu \n"); /*电路*/printf("\t\t\t 5.Mo Dian \n"); /*模电*/printf("\t\t\t Esc.Fan Hui \n\n"); /*返回上级*/printf("\t\t\t************************************\n \n");printf("\tQing xuan ze yao xiu gai de cheng ji(press 1.2.3.4.5.Esc):\n");c=getch();if(c==27)break;else if (c>='1'&&c<='5'){k=c-49;printf("\nQing shu ru %s cheng ji:\n",p+k);scanf("%f",&stu[x].score[k]);printf("\nXiu gai hou gai xue sheng xin xi wei:\n");printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDian\n");printf("==================================== ===============================\n");printf("%-11s%-10s%-11d",stu[x].no,stu[x].name,stu[x ].year);for(j=0;j<5;j++)printf("% -7.1f",stu[x].score[j]);printf("\n");}else printf("\nXuan Zen You Wu,Qing Chong Xuan!\n\n");stop();}}int find(char sno[]) /*按学号查找*/{int i;for(i=0;i<num;i++)if(strcmp(stu[i].no,sno)==0) /*判断两个字符串相等*/return i;/*查找成功*/return -1;/*查找失败*/}void delete1() /*删除学生信息函数*/{char cno[11];int i,j;printf("Qing Shu Ru Yao Shan Chu De Xue Sheng Xue Hao:"); /*“请输入要删除的学生学号”*/gets(cno);i=find(cno);if(i!=-1){for(j=i;j<num;j++)stu[j]=stu[j+1];num--;printf("Xian You %d Ge Xue Sheng De Cheng Ji:\n",num); /*显示“现有NUM个学生的成绩:”*/ output();}else {printf("qing shu ru zheng que de xue hao. \n");stop();}}void tongji() /*统计界面函数*/{int i;char c2;while(1){clrscr();printf("\n\n\n\t\t\t******************************** ****\n");printf("\t\t\t* Tong Ji *\n");printf("\t\t\t* 1. Xue Sheng Ping Jun Fen*\n"); /*计算学生平均分*/printf("\t\t\t* 2. Ke Cheng Ping Jun Fen *\n"); /*计算每门课程平均分*/printf("\t\t\t* ESC. Fan Hui *\n"); /*返回*/printf("\t\t\t************************************\n ");printf("\t\t\tQing Xuan Ze:\n");/*请选择:*/c2=getch();if(c2==27) break;switch(c2){case '1':tongji1();printf("\n\nXue Sheng Ping Jun Fen Wei:\n");printf("==================================== =======\n");printf("XueHao XingMing RuXueNian PingJunFen\n");printf("===========================================\n");for(i=0;i<num;i++)printf("%-11s%-10s%-11d%-10.2f\n",stu[i].no,stu[i].name,stu[i].year,st u[i].ave);stop();break;case '2':tongji2();break;default:printf("Xuan Zen You Wu,Qing Chong Xuan!\n");/*“选择有误,请重选!”*/}}}void tongji1() /*计算每个学生平均分*/{int i,j;for(i=0;i<num;i++){stu[i].ave=0;for(j=0;j<5;j++)stu[i].ave+=stu[i].score[j];stu[i].ave=stu[i].ave/5;}}void tongji2() /*计算每门课程的平均分*/ {int i,j;float sum;float avec[5]; /*储存每门课的平均分*/for(j=0;j<5;j++){sum=0;for(i=0;i<num;i++)sum+=stu[i].score[j];avec[j]=sum/num;}printf("\n\nGe Ke Ping Jun Fen Wei:\n");/*“各科平均分:”*/printf("===================================\ n");printf("C GaoShu DaWu DianLu MoDian\n");printf("===================================\ n");for(i=0;i<5;i++)printf("%-7.1f",avec[i]);printf("\n");stop();}void paixu1() /*排序界面*/{char c3;for(;;){clrscr();printf("\n\n\n");printf("\t\t\t*************************************\ n");printf("\t\t\t* Pai Xu * \n");printf("\t\t\t* 1. An Xue Hao * \n"); /*按学号排序*/printf("\t\t\t* 2. An Ping Jun Fen * \n"); /*按平均分排序*/printf("\t\t\t* 3. An dan ke cheng ji * \n"); /*按单科成绩排序*/printf("\t\t\t* ESC. Fan Hui * \n"); /*返回*/printf("\t\t\t*************************************\ n\n");printf("\t\Qing Xuan Ze(press 1.2.3.Esc):\n");/*请选择:*/c3=getch();if(c3==27) break;switch(c3){case '1':paino();break;case '2':paiave();break;case '3':paidkcj();break;default:printf("\nXuan Zen You Wu,Qing Chong Xuan!\n\n");/*选择有误,请重选!*/stop();}}}void paino() /*按学号排序*/{ /*按学号从低到高冒泡法排序*/ int i,j,k;for(i=0;i<num;i++)for(j=0;j<num-1-i;j++)if(strcmp(stu[j].no,stu[j+1].no)>0)change(j,j+1);printf("\nPai Xu Hou Wei:\n"); /*“排序后为:”*/ output();}void paiave() /*按平均分排序*/{ /*按平均分从高到低冒泡法排序*/ int i,j;struct student temp;tongji1(); /*计算平均成绩*/for(i=0;i<num;i++)for(j=0;j<num-i-1;j++)if(stu[j].ave<stu[j+1].ave)change(j,j+1);printf("\n\tPai Xu Hou Wei:\n"); /*“排序后为:”*/printf("\t=================================== ============\n");printf("\tXueHao XingMing RuXueNian Ave Pai ming\n");printf("\t=================================== ============\n");for(i=0;i<num;i++)printf("\t%-11s%-10s%-11d%-6.2f %4d\n",stu[i].no,stu[i].name,stu[i].year,stu[i].ave,i+1);stop();}void paidkcj() /*按单科成绩排序*/{char c;int i,j,k;for(;;){clrscr();printf("\n");printf("\t\t\t************************************\n \n");printf("\t\t\t Dan Ke Cheng Ji \n");printf("\t\t\t 1.C Yu Yan \n"); /*C语言*/printf("\t\t\t 2.Gao Shu \n"); /*高数*/printf("\t\t\t 3.Wu Li \n"); /*大学物理*/printf("\t\t\t 4.Dian Lu \n"); /*电路*/printf("\t\t\t 5.Mo Dian \n"); /*模电*/printf("\t\t\t Esc.Fan Hui \n\n"); /*返回上级*/printf("\t\t\t************************************\n \n");printf("\tQing xuan ze(press 1.2.3.4.5.Esc):\n");c=getch();if(c==27)break;else if (c>='1'&&c<='5'){k=c-49;for(i=0;i<num;i++)for(j=0;j<num-1-i;j++)if(stu[j].score[k]<stu[j+1].score[k])change(j,j+1);outputx(k);}else printf("\nXuan Zen You Wu,Qing Chong Xuan!\n\n");stop();}}void change(int i,int j) /*交换结构体数组中的两个记录*/{struct student temp;temp=stu[i];stu[i]=stu[j];stu[j]=temp;}void outputx(int k) /*选择输出单科成绩*/{charxueke[5][10]={"Cyuyan","Gaoshu","Wuli","Dianlu"," Modian"};char (*p)[10]; /*定义一个指向包含10个字符型元素的一维数组的指针变量*/int i;p=xueke;printf("\n\tPai Xu Hou Wei:\n");printf("\t=================================== ============\n");printf("\tXueHao XingMing RuXueNian %s Pai Ming\n",p+k);printf("\t=================================== ============\n");for(i=0;i<num;i++)printf("\t%-11s%-10s%-11d%-6.1f%5d\n",stu[i].no,stu[i].name,stu[i].year,stu[i].score[k],i+1);}void find1() /*查找界面函数*/{char c4;char cno[11],cname[10];int i,j,cyear;while(1){clrscr();printf("\t\t\t************************************\n ");printf("\t\t\t* Cha Zhao *\n");printf("\t\t\t* 1. An Xue Hao *\n"); /*按学号查找*/printf("\t\t\t* 2. An Xing Ming *\n"); /*按姓名查找*/printf("\t\t\t* 3. An Ru Xue Nian *\n"); /*按入学年查找*/printf("\t\t\t* ESC. Fan Hui *\n"); /*返回*/printf("\t\t\t************************************\n ");printf("\t\t\tQing Xuan Ze:\n");/*请选择:*/c4=getch();if(c4==27) break;switch(c4){case '1':printf("Shu Ru Xue Hao:\n");/*“输入学号:”*/gets(cno);i=find(cno);panduani( i);break;case '2':printf("Shu Ru Xing Ming:\n");/*“输入姓名:”*/ gets(cname);i=findname(cname);panduani(i);break;case '3':printf("Shu Ru RU Xue Nian:\n");/*“输入入学年”*/scanf("%d",&cyear);findyear(cyear);stop();break;default:printf("Xuan Zen You Wu,Qing Chong Xuan!\n");/*“选择有误,请重选!”*/}}}int findname(char cname[]) /*按姓名查找*/{int i;for(i=0;i<num;i++)if(strcmp(stu[i].name,cname)==0) /*判断两个字符串相等*/return i; /*查找成功*/return -1; /*查找失败*/}void findyear(int cyear){int i,j,flag=0;for(i=0;i<num;i++)if(stu[i].year==cyear){ flag=1;break;}if(flag==0){printf("Yao Cha Zhao De Xue Sheng Bu Cun Zai\n");stop(); }else{printf("Cha Zhao Dao De Xue Sheng Xin Xi Wei:\n");/*“查找到的学生信息为:”*/printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDian\n");printf("==================================== ===============================\n");for(i=0;i<num;i++){if(stu[i].year==cyear) /*判断两个数值相等*/{printf("%-11s%-10s%-11d",stu[i].no,stu[i].name,stu[i].year);for(j=0;j<5;j++)printf("% -7.1f",stu[i].score[j]);printf("\n");}}}}int panduani(int i) /*通过i的值,判断信息要查找的信息是否存在*/{int j;if(i==-1){printf("Yao Cha Zhao De Xue Sheng Bu Cun Zai\n");/*要查找的学生不存在*/stop();}else{printf("Cha Zhao Dao De Xue Sheng Xin Xi Wei:\n");/*“查找到的学生信息为:”*/printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDian\n");printf("==================================== ===============================\n");printf("%-11s%-10s%-11d",stu[i].no,stu[i].name,stu[i].year);for(j=0;j<5;j++)printf("% -7.1f",stu[i].score[j]);printf("\n");stop();}}void save() /*保存文件*/{int i;FILE *fp;if((fp=fopen("stu.dat","wb"))==NULL) /*创建二进制文件*/{printf("Chuang Jian Shi Bai! Qing Chong Xin Yun Xing Cheng Xu.\n"); /*显示“创建文件失败,请重新运行程序”*/exit(0); /*终止程序*/}for(i=0;i<num;i++)fwrite(&stu[i],1,sizeof(struct student),fp); /*将I+1名学生成绩写入文件*/fclose(fp);}void main() /*主控菜单*/{char c;init();while(1){clrscr();printf("\n\n\n\t\t\t*****************************\n") ;printf("\t\t\t* MAIN MENU *\n");printf("\t\t\t* 1. Wei Hu *\n"); /*维护*/printf("\t\t\t* 2. Tong Ji *\n"); /*统计*/printf("\t\t\t* 3. Pai Xu *\n"); /*排序*/printf("\t\t\t* 4. Cha Zhao *\n"); /*查找*/printf("\t\t\t* ESC. SA VE & EXIT *\n"); /*存盘退出*/printf("\t\t\t*****************************\n"); printf("\t\t\tQing Xuan Ze:\n");/*请选择:*/c=getch();switch(c){case '1':weihu();break;case '2':tongji();break;case '3':paixu1();break;case '4':find1();break;case 27:save();exit(0);break;default:printf("Xuan Zen You Wu,Qing Chong Xuan!\n");/*“选择有误,请重选!”*/}}}。

计算机技术基础(c语言)课程设计--学生成绩管理系统

计算机技术基础(c语言)课程设计--学生成绩管理系统

计算机技术基础(C语言)课程设计一学生成绩管理系统计算机技术基础课程设计C语言设计报告题目:学生成绩管理系统一. 选题背景:问题的提出:在学校的学生管理工作过程中,对学生的成绩统计管理是一个非常必要的问题。

就此编写此C程序,对一个班的学生成绩进行管理,其中:每个学生的数据包括学号,姓名,三门功课的成绩(英语,数学,计算机),平均成绩及总成绩。

并且可以根据实际情况的需要,对学生的数据进行修改(删除,添加,更改数据等)。

二. 设计思想运用了C语吉中的各种语句(如for循环语句,case开关语句,if else 条件语句等),数组的知识以及函数及函数的调用等C语言基础知识将学生不同信息输入后统计输出并计算出其平均成绩和总成绩。

用结构体的形式输入若干名学生的数据,用比校美观的格式输出所有学生的数据,用比较法对输入的数据按平均分进行由低到高的排序,查找指定学号的学生数据,并按照一定的格式输出查找结果。

按照平均分统计各个分数段的学生人数,0为退出整个程序的运行。

三. 程序流程图四. 程序清单:#i nclude"stdIib. h n#include,r conio. h"#include>v stdio.h>v#def i ne M 60#def i ne A "%d%s%f%f%f H#defi ne B ”%-5d %-20s%-8. 2f%-8. 2f%-8. 2f%-8. 2f%-8.2 f\n"#def i ne C n%d%s%f%f%f%f nint n=3;struct studentint num;char name [10];float score[3];float aver;float sum;} S [M];void nsort()(int i, j;struct student a;for(j=1;j<n;j++)(for(i=1;i<n-j;i++)i f (s[i]. num>s[i+1]. num)}void menu() (pr intf ("\n Main Menu\n H);pr intf (n 1.Data i nput 2.Date Output\n");pr intf (n 3.Data sorted (By Average) 4. Date F i nd (By NO.) \n n);pr intf (" 5.Data Inset6. Date del\n H);pr i ntf (" 7. Data Ana I yze (ByAverage)0. EXIT\n H);pr intf("Xn");printf (“* write by qinIifu *");printf ("\n");pr intf (H Please inputopt i on (0-7);}void input()(int i;floatpr intf ("Please input data:\n n);pr intf (" NO. Name Eng Ii sh Math Computer\n n);printfC" \n “); for (i =0;i <n;i++) {printf(n\nPlease input NO.:");scanf ("%d%*c,,r &s [ i ]. num);printf(n\nPlease input name:H); scanf(n%s H, s[i]. name);pr i ntf ("\nPI ease i nput Eng Ii sh score:");scanf ;printf (H\nPlease input Math score:");scanf (,,%f,,,&f2);printf(H\nPlease input Computer score:");scanf (n%f ", &f3);printf (" \n\n n);s[i]. score[0]=f1;s[i]. score[1]=f2;s[i]. score [2] =f3;}for(i=0;i<n;i++)(s[i]. sum=s[i]・ score[0] +s[i].score[1]+s[i ].score[2];s[i]・ aver=s[i], sum/3;}printfC'Xn");}void output()int i ;pr intf (n\n\n NO.Mathsum\n n);NameComputerEngli shAverprintf(M \n\n “);for(i=0;i<n;i++)pr i ntf (B, s [ i ]・ num v s[ i ]・ name,s[i]. score[0], s[i] ,score[1 ]f s[i]. score[2], s[i]. aver,s[i] .sum);printf ("\n”);}printf("\b \n");printf(M\n H);void sort()int i v j;struct student a;pr intf ("\n The sorted data:\n n):for(j=1;j<n;j++)for (i=0;i<n-j;i++)if (s[i]. aver>s[i+1]. aver)}}printfCXn-);}void f i nd ()/*调用函数*/(int Iow=0, top=n-1, mid, m, i;nsort ();printf (H Please input the NO.;scanf (”%d”,&m);wh ile(low<=top)m i d= (Iow+top) /2;if (m<s[mid], num)top=mid-1; else if(m>s[mid], num)low=mid+1:e I seName Engliprintf (n NO.sh MathComputer aversum\n n);printf (n\n ”);pr i ntf (B, s [m i d]. num vs [m i d]. name, s[mid].score[0], s[mid ]. score[1],s[mid], score[2], s[mid]. aver);break;}}if (Iow>top)printf (n\n NOT FOUND THIS NO. !\n");printf("\n n);}void i nset () /*插入学生数据*/int m, i; float f1,f2,f3;pr intf ("Inset numbers ?:;scanf ("%d n, &m);pr intf ("Please input data inset:\n n);for (n=0, i=0;i<m;i++){pr i ntf (”\nP I ease i nput name:");gets(s[n]. name);pr intf(n\nPlease input English score:");scanf ("%f", &f1);pr intf ("\nPI ease input Math score:");scanf (”%f”,&f2);pr intf ("\nP I ease input Computer score:");scanf (”%f“,&f3);printfC \n");s[n]. score [0]=f1;s[n], score[1]=f2;s[n]. score[2]=f3;s[n]. sum=s[nJ. score[0]+s[n].score[1]+s[n ].score[2];s [n].aver=s[n]. sum/3;n++;} sortO ;output ();printf CAn");}void del (){int m, i, j, t, p;pr intf ("Please input how many numbers to ndel:");scanf(”%d”,&t);for (p=0;p<t:p++)printf ("Please input NO.del:"):scanf ("%d”,&m);for (i =0;i <n;i++)i f (s [ i ]. num==m)break;if (i>n)pr intf ("This NO. is not exist !\n");if (i<n)(for(j=i;j<n-1;j++)s[j]=s[j+1];n——;}}printf (n\n H);}void ana I yze ()(int m, i, a[5] = (0);for(i=0;i<n;i++)(m= (i nt)s[i]. aver/10; sw i tch(m)case 0case 1case 2case 3 case 4:case 5: a[0] =a [0] +1; break;case 6: a[1]=a[1]+1; break;case 7: a[2]=a[2]+1; break;case 8: a[3]=a[3]+1; break;case 9: a[4]=a[4]+1; break;case 10:a[5]=a[5]+1; break;numbers %d %5d %5d % 5d %5d\n\n n,a[0], a[1], a[ 2], a[3], a[4]);pr intf (" Brackets\n\n,1);printf (nprintf (n 60-69 70-79 80-89pr intf (nAverage Score\n\n");Brackets 0-59 90-100\n\n n);pr intf (" \n\n n);pr intf ("\n\n”);}}void ma i n ()/*主函数*/{i nt m=1;cl rscr ();menu ();wh i I e (m! =0)(scanf &m);sw i tch (m){case 1: input () ; cl rscr (); output () ; menu() ; break;case 2: cl rscr () ; output (); menu() ; break;case 3: cl rscr () : sort (): output () ; menu() ; break;case 4: cl rscr () ; f ind(); menu() ; break;case 5: cl rscr () ; inset (); menu() ; break;case 6: cl rscr () : de I (); output () ; menu () ; break;case 7: cl rscr () ; analyze(): menu() ; break;}}}五.主要问题及解决方法★排序问题:主要运用了for语句,依照每个学生的平均成绩用比较的方法进行名次排序。

C语言课程设计—学生成绩管理系统

C语言课程设计—学生成绩管理系统

#include ”stdio.h”#include ”string.h”#include "stdlib.h"#include "conio.h"#include ”string.h”#include "fcntl。

h"typedef struct student{int num;char grade[10];char classroom[10];char name[10];float score_math;float score_chinese;float score_english;float average;float sum;}STU;typedef struct Node{STU data;struct Node *next;}*linklist;void menu();char *loginpassword(char password[],int n);//登录验证密码函数声明//linklist createstulist(linklist head);//创建学生链表即学生信息录入函数声明// void printstulist(linklist head);//学生信息输出函数声明//void searchstu_namelist(linklist head);//学生信息查询函数声明(按姓名)// void searchstu_numlist(linklist head);//学生信息查询函数声明(按学号) linklist modifystulist(linklist head);//学生信息修改函数声明//linklist delatestulist(linklist head);//学生信息删除函数声明//void savestulist(linklist head);//学生信息保存到文件函数声明// linklist loadstulist();//从文件中读取学生信息函数声明// void sortstulist(linklist head); //成绩排名函数(按年级)声明//void sort(STU stu[],int flag); //学生分班函数声明//void sortstuclass(linklist head); //成绩排名函数(按班级)声明////*************************************//void main(){char admin[]=”zhangqiong";char password[]=”123456";char person[20];char password1[10];int i;printf(”********************************************************************************\n”);printf("\t\t **********欢迎来到学生成绩管理系统**********\n\n");printf(”********************************************************************************\n\n”);printf(”\t\t\t\t用户登录\n\n\n\n");for(i=0;i<3;i++){printf("用户名:”);gets(person);fflush(stdin);printf(”\n\n\n”);loginpassword(password1,10);printf("\n\n\n”);if(strcmp(admin,person)==0&&strcmp(password,password1)==0){printf(”\t\t\t\t成功登录,亲!\n”);printf("\n\n”);printf(”按任意键继续!”);getch();menu();break;}elseprintf("\t用户名或者密码输入错误\n”);}if(i==3)printf("\t对不起,您今天输入次数太多,已被强制退出!\n”);}//**********************************************************////**********************************************************//char *loginpassword(char password[],int n)//登录密码函数,隐藏密码可见//{int i=0;int m=0;char ch;printf("用户密码:”);while((ch=getch())!='\r’&&m〈n){password[i++]=ch;printf(”*");}password[i]='\0';return password;}//***************************************************// void menu()//主界面函数//{system("cls");linklist L;L=(linklist)malloc(sizeof(Node));L—>next=NULL;int ch;do{printf(”\t -——-----—-******——--——--—---******—————-————-******-—-—-—-—-—\n\n");printf("\t\t\t**********学生成绩管理系统***********\n\n”);printf("\t ——----——--******-—-——------—******—---———--—-******—---———-——\n\n\n\n\n");printf("\t1。

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计1. 介绍学生成绩管理系统是一种可以帮助学校或教育机构管理学生的成绩信息的软件系统。

它能够记录和管理学生的各门课程的成绩,提供成绩查询、统计分析以及生成报表的功能。

在这个项目中,我们将使用C语言来设计和实现一个简单的学生成绩管理系统。

2. 功能需求2.1 学生信息管理•添加学生信息:输入学生的学号、姓名、性别、年龄等基本信息,并将其保存到系统中。

•修改学生信息:根据学生的学号或姓名,找到对应的学生信息,并允许修改其基本信息。

•删除学生信息:根据学生的学号或姓名,找到对应的学生信息,并从系统中删除。

2.2 成绩管理•录入学生成绩:输入学生的学号或姓名,根据学号或姓名找到对应的学生信息,并记录其各门课程的成绩。

•查询学生成绩:根据学生的学号或姓名,找到对应的学生信息,并显示其各门课程的成绩。

•统计学生成绩:计算学生的总分、平均分等统计信息,并按照成绩排名进行排序并显示。

•生成成绩报表:将学生的成绩信息按照一定的格式输出到文件中,以方便查阅和打印。

2.3 界面设计•主菜单:显示系统的功能选项,包括学生信息管理、成绩管理、退出等选项。

•学生信息管理菜单:显示学生信息管理的功能选项,包括添加学生信息、修改学生信息、删除学生信息等选项。

•成绩管理菜单:显示成绩管理的功能选项,包括录入学生成绩、查询学生成绩、统计学生成绩、生成成绩报表等选项。

•输入提示:在功能选项中,根据需要给出相应的输入提示,以引导用户正确地操作系统。

3. 设计思路3.1 数据结构设计为了实现学生成绩管理系统,我们需要设计合适的数据结构来存储学生信息和成绩。

在这个项目中,我们可以使用结构体来表示学生信息,如下所示:struct Student {int id; // 学号char name[20]; // 姓名char gender[10]; // 性别int age; // 年龄float grades[5]; // 各门课程成绩};3.2 模块设计为了实现功能需求中的各项功能,我们需要设计相应的模块来实现。

c语言课程设计---学生成绩管理系统

c语言课程设计---学生成绩管理系统

C语言课程设计报告设计题目:学生成绩管理系统设计任务:C语言课程设计任务书及指导书3题目:学生成绩管理系统功能:学生成绩管理系统,每个学生信息为一个记录,包括学号,姓名,性别,3门课程成绩。

系统要求实现以下功能:1、信息录入:录入成绩学生信息(包括学生学号、姓名、性别、3门课程的成绩等);2、信息查询:可以按照姓名或学号查询学生各门课程的成绩,并显示。

3、排序:按平均成绩或各门课程成绩按由高到低进行排序,并显示。

4、信息删除与修改——输入学号,可删除或修改该学生的成绩信息。

5、保存:将相关数据写入磁盘文件,便于存、取操作。

平时:验收:报告:指导教师签名:总评成绩:一、总体设计1.1. 功能模块设计:1.2. 数据结构设计1)自定义的数据类型:struct student{ char num[10]; /* 学号 */char name[20]; /* 姓名*/char sex[4]; /* 性别*/int computer; /* 计算机成绩 */int English; /* 英语成绩 */int math; /* 高数成绩*/};2)文件:设计了student文件,是为了长期保存学生的学号、姓名、性别、计算机成绩、英语成绩、高数成绩等数据。

1.3. 函数原型设计1》void printgaohongbin1()函数功能:用二维数组输出图案无参函数2》void menu()函数功能:输出程序功能菜单二、详细设计2.1.界面设计2.1.1.开始界面%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%学生成绩管理系统设计者:计算机科学与信息工程学院软件工程11103205 高红斌%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2.1.2登记学生资料的界面2.1.3 删除功能的界面:2.1.3删除学生资料的界面************++++++++++++++***********+++++++++******************* * * +How do you do! * * * * * +1----登记学生资料(register ) * * * * * * +2----删除学生资料(Delete ) * * * * * * +3----查询学生资料(search ) * * * * * * +4----修改学生资料(Update ) * * * * * * +5----保存学生资料(Save ) * * * * * * +6----退出系统 (Exit ) * * * * 欢迎 * * +7----结束语 (good-bye ) * * 欢迎 * ************++++++++++++++***********+++++++++*******************请你选择操作:1请输入学号:11103205 请输入姓名:高红斌 请输入性别:男请输入计算机成绩:86 请输入英语成绩:75 请输入高数成绩:92 请输入学号: (输入0返回上一级菜单)=====》文件已经打开,正在导入记录。

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。

具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。

2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。

3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。

具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计

成绩管理系统c语言课程设计一、课程目标知识目标:1. 让学生掌握C语言基础,包括数据类型、控制结构、函数等基本概念。

2. 使学生理解成绩管理系统的需求分析、功能模块划分及系统设计流程。

3. 帮助学生掌握文件操作、内存分配等C语言高级应用。

技能目标:1. 培养学生运用C语言解决实际问题的能力,能独立完成成绩管理系统的设计和实现。

2. 提高学生的编程技能,使其能够熟练使用C语言编写模块化、结构化的程序代码。

3. 培养学生团队协作、沟通表达的能力,能在项目开发过程中进行有效的分工与合作。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养其主动学习和探索的精神。

2. 培养学生严谨、细心的编程态度,使其认识到编程过程中细节的重要性。

3. 增强学生的自信心和责任感,使其在项目实践中体验到成功的喜悦和团队合作的乐趣。

课程性质:本课程为实践性较强的课程,要求学生动手编程实现成绩管理系统,将理论知识与实际应用相结合。

学生特点:学生已经具备一定的C语言基础,具有较强的学习能力和好奇心,但可能缺乏项目实践经验。

教学要求:结合学生特点,注重理论与实践相结合,强调编程实践,提高学生解决实际问题的能力。

在教学过程中,关注学生的个体差异,进行个性化指导,确保课程目标的实现。

通过课程学习,使学生达到预定的学习成果,为后续相关课程打下坚实基础。

二、教学内容1. C语言基础知识回顾:数据类型、变量、运算符、控制结构(顺序、选择、循环)及基本输入输出函数。

2. 函数与模块化编程:函数定义、调用、参数传递及模块化设计理念。

3. 结构体与指针:结构体的定义与应用、指针的概念及指针操作。

4. 文件操作:文件打开、关闭、读写操作以及文件指针的使用。

5. 成绩管理系统需求分析:系统功能模块划分、界面设计及功能描述。

6. 成绩管理系统功能实现:学生信息管理、课程信息管理、成绩录入与查询等功能模块的编写。

7. 系统测试与优化:单元测试、集成测试、性能优化及错误处理。

c学生成绩管理系统课程设计

c学生成绩管理系统课程设计

c 学生成绩管理系统课程设计一、课程目标知识目标:1. 理解学生成绩管理系统的基础知识,掌握其功能模块和操作流程;2. 学习数据库的基本概念,了解SQL语句的使用,能运用数据库对学生成绩进行管理;3. 掌握程序设计的基本方法,能利用编程语言实现简单的学生成绩管理系统。

技能目标:1. 能够运用所学知识设计并实现一个功能完善的学生成绩管理系统;2. 能运用数据库技术进行数据存储、查询、更新和删除操作;3. 提高学生的编程能力,培养解决实际问题的思维方法和技能。

情感态度价值观目标:1. 培养学生的团队协作精神,学会与他人共同分析问题、解决问题;2. 增强学生的信息意识,认识到信息时代数据管理的重要性,激发对计算机技术的兴趣;3. 培养学生认真负责的态度,在学习过程中严谨对待数据,养成良好的工作习惯。

课程性质:本课程属于信息技术学科,以实践操作为主,理论联系实际,培养学生的动手能力和实际应用能力。

学生特点:学生具备一定的计算机操作基础,对数据库和编程有一定了解,但实际应用能力有限。

教学要求:结合学生特点,注重实践操作,以任务驱动的方式引导学生主动探究,培养其解决问题和团队协作的能力。

在教学过程中,关注学生的个体差异,提供个性化指导,确保课程目标的实现。

通过课程学习,使学生能够独立设计并实现一个学生成绩管理系统,达到预期的学习成果。

二、教学内容1. 学生成绩管理系统概述:介绍学生成绩管理系统的基本概念、功能和作用,分析系统在实际教学中的应用场景。

教材章节:第一章2. 数据库基础知识:讲解数据库的基本概念、关系型数据库的原理,学习SQL 语句及其在学生成绩管理中的应用。

教材章节:第二章、第三章3. 程序设计基础:回顾编程语言的基本语法,学习面向对象编程思想,掌握使用编程语言开发学生成绩管理系统的方法。

教材章节:第四章、第五章4. 系统设计与实现:分析学生成绩管理系统的需求,设计系统功能模块,学习界面设计和数据库设计方法,实现系统功能。

C语言课程设计 学生成绩管理系统

C语言课程设计 学生成绩管理系统

#include <stdio.h>#include <malloc.h>#include <string.h>#include <stdlib.h>typedef struct student /*定义一个单链表*/ {char sno[10];char name[10];int Chinese;int Math;int English;int sum;float avg;struct student *next;}student1,*grade;grade get_info(grade L) //输入学生信息{student1 *s,*p=NULL,*q;int flag,n,i;char choice='Y';while(choice!='N'&&choice!='n'){printf("\n请输入要录入的学生个数:");scanf("%d",&n);for(i=1;i<=n;i++){s=(student1 *)malloc(sizeof(student1));printf("\n请输入学生的学号:\n");scanf("%s",&s->sno);printf("\n请输入学生的姓名:\n");scanf("%s",&s->name);printf("\n请输入学生的语文成绩:\n");scanf("%d",&s->Chinese);printf("\n请输入学生的数学成绩:\n");scanf("%d",&s->Math);printf("\n请输入学生的英语成绩:\n");scanf("%d",&s->English);s->sum=s->Chinese+s->Math+s->English;s->avg=(float)s->sum/3;if(L!=NULL){q=L;p=L;while(q){flag=strcmp(q->sno,s->sno);if(flag==0){printf("该学生已存在!\n");break;}q=q->next;}if(flag!=0){while(p->next) p=p->next;p->next=s;p=s;s->next=NULL; /*尾结点的指针置空,下同!*/}}else{L=s;s->next=NULL;}}printf("\n是否继续?(Y/N或y/n):");scanf("%s",&choice);system("cls");}return L;}sno_select(grade L) /*按学生学号查找*/{student1 *p=L;char num[10],choice='Y';int i=1,flag;while(choice!='N'&&choice!='n'){printf("\n请输入该学生的学号:");scanf("%s",&num);while(p){flag=strcmp(p->sno,num);if(flag==0){printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);printf("***************************************************************\n");break;}else p=p->next;}if(flag) printf("\n不存在该学号的学生!\n\n");printf("继续查找?(Y/N或y/n):");scanf("%s",&choice);system("cls");}return 0;}grade_select(grade L) /*按分数段查询*/{int n,m,j,k=0,x=0,y=0;char choice='Y';student1 *p=L;while(choice!='N'&&choice!='n'){printf("\n可查找的科目的菜单如下:\n");printf("\t 1.语文 2.数学 3.英语\n");printf("请选择(输入序号即可):");scanf("%d",&j);printf("\n请输入一个分数段,即输入n,m的值(n<m):");scanf("%d%d",&n,&m);printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){if(j==1){x=1;y=1;if(p->Chinese>=n&&p->Chinese<=m){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);k=1;}}if(j==2){k=1;y=1;if(p->Math>=n&&p->Math<=m){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);x=1;}}if(j==3){k=1;x=1;if(p->English>=n&&p->English<=m){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);}}p=p->next;}printf("\n*************************************************************\n");if(L==NULL) printf("该系统还没有存放数据!\n\n");else{if(k==0) printf("没有学生的语文成绩在这个分数段上\n\n");if(x==0) printf("没有学生的数学成绩在这个分数段上\n\n");if(y==0) printf("没有学生的英语成绩在这个分数段上\n\n");}k=0;x=0;y=0;printf("继续查找?(Y/N或y/n):");scanf("%s",&choice);system("cls");}}statistics(grade L) /*统计函数*/{student1 *p=L;int i=0;char choice='N';float all_avg=0;while(choice!='Y'&&choice!='y'){while(p){all_avg=all_avg+p->avg;p=p->next;i++;}printf("\n===================================================\n");printf("该班级总人数为:%d\n",i);if(L==NULL) printf("该班级的平均分为:0\n");else printf("该班级的平均分为:%5.2f\n",all_avg/i);printf("===================================================\n");printf("\n退出?(Y或y):");scanf("%s",&choice);}system("cls");}grade delete_grade(grade L) /*删除指定学生成绩函数*/{student1 *p=L,*q=L;int i=1,flag;char choice='Y',num[10];while(choice!='N'&&choice!='n'){printf("\n===================================================\n");if(L==NULL) printf("该系统中不存在任何数据\n\n");else{printf("\n请输入想要删除的学生学号:");scanf("%s",&num);while(p){flag=strcmp(p->sno,num);if(flag==0){if(q==p){L=q->next;free(q);}else{while(q->next!=p) q=q->next;q->next=p->next;free(p);}break;}p=p->next;}if(flag) printf("\n不存在该学生");else printf("\n删除成功!");printf("\n===================================================\n");}p=L;q=L;printf("继续删除?(Y/N或y/n):");scanf("%s",&choice);system("cls");}return L;}asc_order_grade(grade L) /*升序排序函数*/{int k,x=1,n=0,m,y;float z;student1 *p,*q,*s=L;char t[10],choice;while(s) /*计算链表数据个数n*/{s=s->next;n++;}while(x){choice='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("%d",&k);system("cls");if(k==1) /*按语文成绩升序排序*/{while(choice!='Y'&&choice!='y'){for(m=0;m<n-1;m++){p=L;while(p->next){q=p->next;if(p->Chinese>=q->Chinese){strcpy(t,p->sno); /*学号交换*/strcpy(p->sno,q->sno);strcpy(q->sno,t);strcpy(t,p->name); /*学号交换*/strcpy(p->name,q->name);strcpy(q->name,t);y=p->Chinese; /*语文成绩交换*/p->Chinese=q->Chinese;q->Chinese=y;y=p->Math; /*数学成绩交换*/p->Math=q->Math;q->Math=y;y=p->English; /*英语成绩交换*/p->English=q->English;q->English=y;y=p->sum; /*总成绩交换*/p->sum=q->sum;q->sum=y;z=p->avg; /*平均成绩交换*/p->avg=q->avg;q->avg=z;}p=p->next;}}p=L;printf("\n按语文成绩升序排序的最终结果为:\n");printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);p=p->next;}printf("\n*************************************************************\n");printf("\n\n");printf("退出?(Y或y)");scanf("%s",&choice);system("cls");}}else if(k==2) /*按数学成绩升序排序*/{while(choice!='Y'&&choice!='y'){for(m=0;m<n-1;m++){p=L;while(p->next){q=p->next;if(p->Math>=q->Math){strcpy(t,p->sno); /*学号交换*/strcpy(p->sno,q->sno);strcpy(q->sno,t);strcpy(t,p->name); /*学号交换*/strcpy(p->name,q->name);strcpy(q->name,t);y=p->Chinese; /*语文成绩交换*/p->Chinese=q->Chinese;q->Chinese=y;y=p->Math; /*数学成绩交换*/p->Math=q->Math;q->Math=y;y=p->English; /*英语成绩交换*/p->English=q->English;q->English=y;y=p->sum; /*总成绩交换*/p->sum=q->sum;q->sum=y;z=p->avg; /*平均成绩交换*/p->avg=q->avg;q->avg=z;}p=p->next;}}p=L;printf("\n按数学成绩升序排序的最终结果为:\n");printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);p=p->next;}printf("\n*************************************************************\n");printf("\n\n");printf("退出?(Y或y)");scanf("%s",&choice);system("cls");}}else if(k==3) /*按英语成绩升序排序*/{while(choice!='Y'&&choice!='y'){for(m=0;m<n-1;m++){p=L;while(p->next){q=p->next;if(p->English>=q->English){strcpy(t,p->sno); /*学号交换*/strcpy(p->sno,q->sno);strcpy(q->sno,t);strcpy(t,p->name); /*学号交换*/strcpy(p->name,q->name);strcpy(q->name,t);y=p->Chinese; /*语文成绩交换*/p->Chinese=q->Chinese;q->Chinese=y;y=p->Math; /*数学成绩交换*/p->Math=q->Math;q->Math=y;y=p->English; /*英语成绩交换*/p->English=q->English;q->English=y;y=p->sum; /*总成绩交换*/p->sum=q->sum;q->sum=y;z=p->avg; /*平均成绩交换*/p->avg=q->avg;q->avg=z;}p=p->next;}}p=L;printf("\n按英语成绩升序排序的最终结果为:\n");printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);p=p->next;}printf("\n*************************************************************\n");printf("\n\n");printf("退出?(Y或y)");scanf("%s",&choice);system("cls");}}else if(k==4) /*按总成绩升序排序*/ {while(choice!='Y'&&choice!='y'){for(m=0;m<n-1;m++){p=L;while(p->next){q=p->next;if(p->sum>=q->sum){strcpy(t,p->sno); /*学号交换*/strcpy(p->sno,q->sno);strcpy(q->sno,t);strcpy(t,p->name); /*学号交换*/strcpy(p->name,q->name);strcpy(q->name,t);y=p->Chinese; /*语文成绩交换*/p->Chinese=q->Chinese;q->Chinese=y;y=p->Math; /*数学成绩交换*/p->Math=q->Math;q->Math=y;y=p->English; /*英语成绩交换*/p->English=q->English;q->English=y;y=p->sum; /*总成绩交换*/p->sum=q->sum;q->sum=y;z=p->avg; /*平均成绩交换*/p->avg=q->avg;q->avg=z;}p=p->next;}}p=L;printf("\n按总成绩升序排序的最终结果为:\n");printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);p=p->next;}printf("\n*************************************************************\n");printf("\n\n");printf("退出?(Y或y)");scanf("%s",&choice);system("cls");}}else if(k==5) /*按平均绩升序排序*/{while(choice!='Y'&&choice!='y'){for(m=0;m<n-1;m++){p=L;while(p->next){q=p->next;if(p->avg>=q->avg){strcpy(t,p->sno); /*学号交换*/strcpy(p->sno,q->sno);strcpy(q->sno,t);strcpy(t,p->name); /*学号交换*/strcpy(p->name,q->name);strcpy(q->name,t);y=p->Chinese; /*语文成绩交换*/p->Chinese=q->Chinese;q->Chinese=y;y=p->Math; /*数学成绩交换*/p->Math=q->Math;q->Math=y;y=p->English; /*英语成绩交换*/p->English=q->English;q->English=y;y=p->sum; /*总成绩交换*/p->sum=q->sum;q->sum=y;z=p->avg; /*平均成绩交换*/p->avg=q->avg;q->avg=z;}p=p->next;}}p=L;printf("\n按平均成绩升序排序的最终结果为:\n");printf("\n*************************************************************\n");printf("\t学号\t姓名\t语文\t数学\t英语\t总分\t平均分\n");while(p){printf("\t%s\t%s\t%d\t%d\t%d\t%d\t%.2f\n",p->sno,p->name,p->Chinese,p->Math,p->English,p->sum,p->avg);p=p->next;}printf("\n*************************************************************\n");printf("\n\n");printf("退出?(Y或y)");scanf("%s",&choice);system("cls");}}else if(k==6){system("cls");break;}else printf("请输入正确的序号!!\n\n");}}void menu() /*菜单函数*/{printf("\t\t|----------------------------------------|\n");printf("\t\t| 欢迎进入学生成绩管理系统|\n");printf("\t\t|----------------------------------------|\n");printf("\t\t|****************************************|\n");printf("\t\t| 1.录入学生信息|\n");printf("\t\t| 2.按指定学生学号查询|\n");printf("\t\t| 3.按指定分数段查询|\n");printf("\t\t| 4.统计操作|\n");printf("\t\t| 5.删除指定学生成绩|\n");printf("\t\t| 6.成绩升序排序|\n");printf("\t\t| 7.退出|\n");printf("\t\t|****************************************|\n"); }int main(){int i=10;grade L=NULL;while(i!=8){menu();printf("根据菜单,请输入想要执行的功能的数字代号:");scanf("%d",&i);system("cls");switch(i){case 1:L=get_info(L);break;case 2:sno_select(L);break;case 3:grade_select(L);break;case 4:statistics(L);break;case 5:L=delete_grade(L);break;case 6:asc_order_grade(L);break;case 7:printf("\n\n\t\t\t谢谢使用!\n\n\t\t\t 再见!\n");break;default:printf("请输入正确的序号!!\n\n");}}}。

C语言程序课程设计--学生成绩管理系统

C语言程序课程设计--学生成绩管理系统

C语言程序课程设计--学生成绩管理系统
学生成绩管理系统是一种利用计算机程序来储存、处理和管理学生成绩信息的系统。

它可以收集、整理学生的相关成绩信息,如学生的学号、姓名、年级及其对应的期末考试
成绩,实现对这些成绩的存储、修改、查询和汇总统计等功能。

它可以不仅可以查询当前
成绩,还可以查询学生在不同学期的前若干学期的成绩状况,方便学校管理者和老师快速
了解到学生的学习状况。

首先,学生成绩管理系统需要建立学生信息数据库,储存学生的基本信息,以及课程、考试成绩的数据表,用以储存和查询学生的考试成绩。

比如有学生信息表:学号,姓名,
班级、学科成绩表:报考科目,期末考试成绩,考试时间等等。

接着,学生成绩管理系统需要实现一些基本功能用于操作这些数据表。

根据学校成绩
管理的需要,系统可以实现新增学生、新增科目成绩、查询学生成绩、修改学生成绩等功能,为学校提供必要的成绩管理支持。

其次,学生成绩管理系统还可以进行学生成绩的统计分析。

可以对学生在各科考试中
的情况进行统计分析,分析学生的表现,以便学校更方便、更全面地了解学生的学习状况。

最后,学生成绩管理系统为管理者和老师提供更便捷、高效的管理效率,减少管理者
管理工作时间,节约学校的人力资源,有助于改善学子的学习水平。

综上所述,学生成绩管理系统对于教育管理者而言,无疑是一个非常重要的系统,为
学校管理者和老师提供了快速准确的学生成绩信息,帮助他们更好地了解学生的成绩状况,进而提高教育管理的精准性和质量。

c语言课程设计学生成绩管理系统

c语言课程设计学生成绩管理系统

c语言课程设计学生成绩管理系统一、课程目标知识目标:1. 理解C语言编程的基本概念,掌握数据类型、变量、运算符、控制结构等基础知识。

2. 学习使用数组、函数和指针等C语言特性进行程序设计。

3. 掌握文件操作,实现对数据的保存和读取。

技能目标:1. 能够运用C语言编写学生成绩管理系统的各个功能模块,如录入、查询、修改和删除成绩。

2. 培养学生运用结构体处理复杂数据结构的能力。

3. 提高学生分析问题、设计程序、调试程序和解决问题的能力。

情感态度价值观目标:1. 培养学生认真负责、细心严谨的学习态度,养成良好的编程习惯。

2. 激发学生创新意识,鼓励合作交流,提高团队协作能力。

3. 培养学生面对挫折和困难时,保持积极心态,勇于克服问题。

本课程针对高年级学生,结合C语言课程知识,以学生成绩管理系统为实际案例,注重理论与实践相结合。

在教学过程中,充分考虑学生的认知特点,由浅入深,逐步引导学生掌握C语言编程技能,培养实际编程能力。

课程目标明确,分解为具体学习成果,便于教学设计和评估。

通过本课程的学习,使学生能够独立完成学生成绩管理系统的设计与实现,提高编程水平和实践能力。

二、教学内容1. C语言基础知识回顾:数据类型、变量、常量、运算符、表达式、控制结构(条件语句、循环语句)。

相关教材章节:第一章至第三章。

2. 函数与数组:函数定义、调用、传参;一维数组、二维数组的应用。

相关教材章节:第四章、第六章。

3. 指针与结构体:指针的概念、操作;结构体的定义、初始化、使用。

相关教材章节:第七章、第八章。

4. 文件操作:文件打开、关闭、读写操作;文件存储结构。

相关教材章节:第十章。

5. 学生成绩管理系统设计与实现:a. 功能需求分析:录入、查询、修改、删除成绩。

b. 数据结构设计:学生信息结构体、成绩结构体、链表或数组实现。

c. 功能模块实现:各功能模块的详细设计与编程实现。

d. 系统测试与调试:单元测试、集成测试、性能优化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>struct Student{int cls;char nam[10];char num[10];int chinese;int english;int computer;int math;}stud1[100],stud2[100];{char a;while(a>'7'||a<'0'){system("cls");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(" 7.从文件读取数据\n");printf(" 0.储存学生资料并退出系统\n");printf("********************************************************************* *\n");printf("请选择(0-7)\n");a=getchar();}return(a-'0');}/******************************************************************************int Input(Student stud[],int n) //输入数据(第一学期)。

{int i=0;char sign,x[10];for(;sign !='n'&&sign !='N';){printf(" 姓名:");scanf("%s",stud[n+i].nam);printf(" 班级:");scanf("%d",&stud[n+i].cls);printf(" 学号:");scanf("%s",stud[n+i].num);printf(" 语文:");scanf("%d",&stud[n+i].chinese);printf(" 数学:");scanf("%d",&stud[n+i].math);printf(" 英语:");scanf("%d",&stud[n+i].english);printf(" 计算机:");scanf("%d",&stud[n+i].computer);gets(x);printf("还有要输入的信息吗?(y/n)");scanf("%c",&sign);i++;}return(n+i);}/*************************************输出数据***********************************************/void Display(Student stud[], int n){int i;printf(" 班级学号姓名语文数学英语计算机总分平均分\n");for(i=1;i<n+1;i++){int s=stud[i-1].chinese+stud[i-1].math+stud[i-1].english+stud[i-1].computer;printf("%7d,%7s,%7s,%7d,%7d,%7d,%7d,%7d,%7d\n",stud[i-1].cls,stud[i-1].num,stud[i-1].na m,stud[i-1].chinese,stud[i-1].math,stud[i-1].english,stud[i-1].computer,s,s/4);if(i>1 && i%10==0){system("pause");}}system("pause");}/************************************查找学生显示其信息***************************************************/void Query(Student stud[],int n){char nam[20];printf(" 输入其姓名:\n");scanf("%s",nam);int i=0;while(strcmp(stud[i].nam,nam)!=0&&i<n)i++;if(i==n){printf("\t\t\t没有发现该学生的资料!\n");return;}printf(" 学号:%s\n",stud[i].num);printf(" 班级:%d\n",stud[i].cls);printf(" 语文:%d\n",stud[i].chinese);printf(" 英语:%d\n",stud[i].english);printf(" 数学:%d\n",stud[i].math);printf(" 计算机:%d\n",stud[i].computer);}/*********************************删除学生信息************************************/int Delete(Student stud[],int n){char s[20];int i=0,j;printf(" 请输入要删除的学生的姓名:\n");scanf("%s",s);while(strcmp(stud[i].nam,s)!=0&&i<n) i++;if(i==n){printf("\t\t\t没有发现该学生资料!\n");return(n);}for(j=i;j<n-1;j++){strcpy(stud[j].num,stud[j+1].num);strcpy(stud[j].nam,stud[j+1].nam);stud[j].cls=stud[j+1].cls;stud[j].chinese=stud[j+1].chinese;stud[j].math=stud[j+1].math;stud[j].english=stud[j+1].english;stud[j].computer=stud[j+1].computer;}printf(" 当前信息已删除成功!");return(n-1);}/*******************************修改信息******************************************/int Revise(Student stud[],int n){int i=0;char na[10];scanf("%s",na);while(strcmp(stud[i].nam,na)!=0&&i<n)i++;if(i==n){printf("\t\t\t没有发现该学生的资料!\n");}printf("修改班级:\n");scanf("%d",&stud[i].cls);printf("修改学号:\n");scanf("%s",stud[i].num);printf("修改语文成绩:\n");scanf("%d",&stud[i].chinese);printf("修改英语成绩:\n");scanf("%d",&stud[i].english);printf("修改数学成绩:\n");scanf("%d",&stud[i].math);printf("修改计算机成绩:\n");scanf("%d",&stud[i].computer);printf("修改成功\n");return(n);}/***************************************显示学生名单**************************************/void show(Student stud[],int n){for(int i=0;i<n;i++){printf(" %s\n",stud[i].nam);}system("pause");}/**************************************从文件读取数据*************************************************/int AddfromText(Student stud[], int n){int i=0,number,x=0,y=0;FILE *fp;char filename[20];printf(" 输入文件名:");scanf("%s",filename);if((fp=fopen(filename,"rb"))==NULL){printf(" 无法打开文件");system("pause");return(n);}fscanf(fp,"%d",&number);for(;i<number;)fscanf(fp,"%d%s%s%d%d%d%d%d%d\n",&stud[n+i].cls,&stud[n+i].num,&stud[n+i].nam,&st ud[n+i].chinese,&stud[n+i].math,&stud[n+i].english,&stud[n+i].computer,&x,&y);i++;}n+=number;fclose(fp);printf(" 读入成功!");system("pause");return(n);}/**************************************将所有记录写进文件*************************************/void WritetoText(Student stud[],int n){int i=0;FILE *fp;char filename[20];printf(" 将资料输入文件\n");printf(" 输入文件名\n");scanf("%s",filename);if((fp=fopen(filename,"w+"))==NULL)printf(" 无法打开文件\n");system("pause");return;}fprintf(fp,"%d\n",n);for(;i<n;){fprintf(fp,"%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5d\n",stud[i].cls,stud[i].num,stud[i].na m,stud[i].chinese,stud[i].math,stud[i].english,stud[i].computer,stud[i].chinese+stud[i].math+stud[i].english+stud[i].computer,(stud[i].chinese+stud[i].math+stud[i].english+stud[i].computer)/4);i++;}fclose(fp);}/**************************************主函数调用*********************************************/void main(){int n1=0,n2=0;for(;;){switch(menu()){case 1:int t;printf(" 输入学生资料\n");printf(" 输入学期");scanf("%d",&t);if(t==1){n1=Input(stud1,n1);}else if(t==2){n2=Input(stud2,n2);}break;case 2:printf(" 输出所有学生资料\n");if(n1!=0){printf(" 第一学期\n");Display(stud1,n1);}if(n2!=0){printf(" 第二学期\n");Display(stud2,n2);}break;case 3:int r;printf(" 查找学生\n");printf(" 请输入学期\n");scanf("%d",&r);if(r==1){Query(stud1,n1);}else if(r==2){Query(stud2,n2);}system("pause");break;case 4:int p;printf(" 修改学生资料\n");printf(" 请输入学期\n");scanf("%d",&p);if(p==1){printf(" 输入你要修改的学生的姓名:");n1=Revise(stud1,n1);}else if(p==2){printf(" 输入你要修改的学生的姓名:");n2=Revise(stud2,n2);}system("pause");break;case 5:printf(" 显示所有学生名单:\n");if(n1!=0){printf(" 第一学期\n");show(stud1,n1);}if(n2!=0){printf(" 第二学期\n");show(stud2,n2);}system("pause");break;case 6:printf(" 查找并删除学生信息\n");int o;printf(" 请输入学期:");scanf("%d",&o);if(o==1){printf(" 第一学期\n");n1=Delete(stud1,n1);}if(o==2){printf(" 第二学期\n");n2=Delete(stud2,n2);}system("pause");break;case 7:printf(" 从文件中读入数据\n");printf(" 读取第一学期的文件\n");n1=AddfromText(stud1,n1);printf(" 读取第二学期的文件\n");n2=AddfromText(stud2,n2);break;case 0:printf(" 将所有资料写入文件\n");if(n1!=0){printf(" 存储第一学期学生资料\n");WritetoText(stud1,n1);}if(n2!=0){printf(" 存储第二学期学生资料\n");WritetoText(stud2,n2);}printf(" 输入成功\n");int b;printf(" 请确定是否退出系统\n");printf(" 0.退出系统\n");printf(" 1.返回\n");scanf("%d",&b);if(b==0){printf(" 谢谢使用\n");system("pause");exit(0);}system("pause");break;}}}。

相关文档
最新文档