https://www.myziyuan.com/
- 000000
- #include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#define MAX 20void read_file(); //导入数据void input();//输入数据void ave();//求每个学生平均分void ave_all();//求三科成绩平均分void save_score();//保存数据void dis_menu(); //显示菜单void ave_english();// 计算英语平均分void ave_math();//计算数学平均分void ave_c(); //计算c语言平均分void sort_ave();//按每位同学的平均分排序void display();//显示全部信息void display_1(int);//打印学生个人信息void display_2();//按学号打印学生成绩条void display_3();//按姓名打印学生成绩条int changeStrInt(char *ch);//把字符串转化为整型 typedef struct{int num;//学号char name[30];float english;float math;float c;float ave;}Stu;Stu stu[MAX];bool tag=true,Tag=true;float sum_eng=0;float sum_math=0;float sum_c=0;int class_num=0;float ave_eng=0;float ave_mat=0;float ave_C=0;//test.cppvoid main(){dis_menu();}//test.cppvoid dis_menu(){int i=0,j=0;char ch,c;do{printf("******** *欢迎使用学生管理系统* ********** ***** *\n");printf("****** ****输入要进行的操作****** ******* ***** *\n");printf("***** *****1:原始数据导入********** **** ***** **\n");printf("**** ******2重新输入学生数据:******* *** **** ****\n");printf("*** *******3:信息检索(排序)********** * **** *****\n"); printf("**** ******4:信息查询<<<>>>>>>>***** *** **** ****\n"); printf("****** ****5:数据保存(成绩表)****** ***** **** ***\n");printf("******* ***6:全班平均成绩显示***** ******* *** **\n"); printf("******** **0:退出系统*********** ********* *** *\n");fflush(stdin);scanf("%d",&i);switch(i){case 1: read_file(); break;case 2: input(); break;case 3:printf("*************按平均分排序*****************\n"); sort_ave();printf("是否打印学生成绩信息?(Y or N)\n");fflush(stdin);c=getchar();switch(c){ case 'Y': case 'y': display(); break; default: break;}break;case 4:printf("***********1:按学号查询:******************\n");printf("***********2:按姓名查询:******************\n");scanf("%d",&j);switch(j){case 1:display_2();break;case 2:display_3();break;default:break; }break;case 5: save_score(); break;case 6:ave_all();printf("数学\t英语\tc语言\n");printf("%.2f\t%.2f\t%.2f\n",ave_mat,ave_eng,ave_C);break;default: printf("感谢使用本系统!\n"); system("exit"); exit(0); }printf("是否继续?(Y or N)\n");fflush(stdin);ch=getchar();system("cls");}while(ch=='Y'||ch=='y');}int changeStrInt(char *ch) { int a=1,b=0,c=0,i; for (i=strlen(ch)-1;i>=0;i--) { if (ch[i]<='9'&&ch[i]>='0') { b=a*(ch[i]-'0'); a=a*10; c=c+b; } else { printf("%c不合法,无法将此字符转化为整形!\n",ch[i]); return 0; } } return c; } void read_file(){FILE *fp;char filepath[20];long position; char ch;int i=0;char str_num[20]="\0";char str_english[20]="\0"; char str_c[20]="\0"; char str_math[20]="\0"; printf("输入原始数据存放路径:\n");fflush(stdin); gets(filepath);if((fp=fopen(filepath,"r"))==NULL){printf("原始数据导入失败,请检查输入路径是否正确\n");return;}while(i!=1) { ch = fgetc(fp); if(ch=='\n') { position=ftell(fp); i++; } }fseek(fp, position,SEEK_SET); //定位for(i=0;i<MAX&&!feof(fp);i++){fscanf(fp,"\t%s\t%s\t%s\t%s\t%s\t\n",str_num,stu[i].name,str_english,str_c,str_math);stu[i].num=changeStrInt(str_num);stu[i].english=(float)change签名系统StrInt(str_english);stu[i].math=(float)changeStrInt(str_math);stu[i].c=(float)changeStrInt(str_c);class_num++; } fclose(fp);ave();printf("原始数据导入成功!\n");}void ave_all(){int i; for(i=0;i<class_num;i++){sum_math+=stu[i].math; sum_eng+=stu[i].english; sum_c+=stu[i].c;}ave_english(); ave_math(); ave_c(); }void ave(){int i;for(i=0;i<class_num;i++)stu[i].ave=(stu[i].english+stu[i].math+stu[i].c)/3; }void ave_english(){ ave_eng=sum_eng/class_num;}void ave_math(){ave_mat=sum_math/class_num;}void ave_c(){ave_C=sum_c/class_num;}void sort_ave(){ave();Stu temp;int i,j;for(i=1;i<class_num;i++)for(j=1;j<=class_num-i;j++){if(stu[j-1].ave<stu[j].ave){temp=stu[j-1];stu[j-1]=stu[j];stu[j]=temp;}}if(tag){printf("排序完成!\n");}}void input(){ char ch;int i,num;FILE *fp; char filepath[30];printf("输入学生人数:\n");scanf("%d",&num); printf("输入学生信息: 学号 姓名 高等数学 大学英语 c语言\n");for(i=0;i<num;i++) scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].math,&stu[i].english,&stu[i].c);class_num=num;printf("是否保存输入信息?(Y or N)\n");fflush(stdin);ch=getchar();if(ch=='Y'||ch=='y'){printf("输入保存路径:\n"); fflush(stdin);gets(filepath);if((fp=fopen(filepath,"w"))==NULL){printf("保存失败,请检查输入路径是否有误!\n");return;}fprintf(fp,"学号\t姓名\t数学\t英语\tc语言\n");for(i=0;i<class_num;i++){fprintf(fp,"%d\t%s\t%.2f\t%.2f\t%.2f\n",stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c);}printf("保存成功!\n");}}void save_score(){char filepath[30];FILE *fp;int i;tag=false;sort_ave();printf("输入要保存的路径:\n");//例如C:\student.dat或.txt .dat是二进制文件fflush(stdin);gets(filepath);if((fp=fopen(filepath,"w+"))==NULL){printf("保存失败,请检查文件名,路径是否正确!\n");return;} fprintf(fp,"学号\t姓名\t英语\tc语言\t高数\t平均成绩\n");for(i=0;i<class_num;i++){ fprintf(fp,"%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].num,stu[i].name,stu[i].english,stu[i].c,stu[i].math,stu[i].ave);}fclose(fp);printf("学生成绩文件已经保存完毕!\n");}void display_1(int i){if(Tag)printf("学号\t姓名\t英语\tc语言\t高数\t平均成绩\n");printf("%d\t%s\t%.2f\t%.2f\t %.2f\t%.2f\n",stu[i].num,stu[i].name,stu[i].english,stu[i].c,stu[i].math,stu[i].ave);fflush(stdin);return;}void display_2(){int i,no;volatile int flag=0;printf("请输入你要查询学生的学号:\n");fflush(stdin);scanf("%d",&no);for(i=0;i<class_num;i++){if(no==stu[i].num&&!flag){ printf("学生信息如下:\n");fflush(stdin);display_1(i);flag=1;}}if(!flag) {printf("查询学生不存在,请检查学号输入是否正确!\n");return; }}void display_3(){char name[30];int i;volatile int flag=0;printf("输入你要查询学生的姓名:\n");fflush(stdin);gets(name);for(i=0;i<class_num;i++){if((strcmp(stu[i].name,name)==0)&&!flag){printf("学生信息如下:\n");display_1(i); flag=1;}}if(!flag) {printf("查询学生不存在,请检查学号输入是否正确!\n");return;}}void display(){int i;printf("学生信息如下:\n");printf("名次\t学号\t姓名\t数学\t英语\tc语言\t平均分\n");for(i=0;i<class_num;i++) printf("%d\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",i+1,stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c,stu[i].ave);}大体框架就是这样,只需要稍微修改或添加个别功能,应该能看懂吧,看懂的话修改还是挺Easy的,最近忙着考试,没空该了,呵呵,抱歉哈,希望对你有帮助...
- 2021-12-11 07:31:17
- 世源网络科技
- CMD,D:
- 2021-12-11 07:29:53
- 追梦
- 怎么学习化学,(1)制订学习计划 学习计划是学生学习的行动指南,它能使学生增强责任感、科学支配时间、积极努力地完成学习任务。主要包括:对上学期学习情况进行分析和小结,提出本学期努力的方向、目标、措施等。教师应向学生讲明制订学习计划的重要性,指导学生制订切实可行的学习计划,组织检查执行情况,必要时帮助学生适当调整学习计划。 (2)预习 预习是为了使学生对欲学知识作好心理准备,能够带着问题听课,增强听课的目的性,从而提高学习效率。它包括知识性教材的预习和实验教材的预习。教师要指导和组织学生预习,使学生养成预习的习惯。对知识性教材的预习,要大体了解新课的主要内容及自己感到疑难之处,标出不懂部分,为有目的、有计划地听课作好准备。对实验教材,应要求学生明确实验目的、要求、原理、操作要点、安全注意事项,并写出实验操作提纲或画好图表,列出带记录的空白表格等。 (3)听课 听课是学生学习知识的基本形式,听课的效果如何,直接影响着学生的学习质量。所以,教师应帮助学生掌握科学的听课方法,提高听课效果。听课主要包括听讲、观察和记笔记三方面。其基本要求是:要集中精力听讲,紧跟教师讲授思路,积极思考,多方联想;对演示实验的观察,应掌握科学的观察方法,能遵循观察的目的性、客观性、全面性和辩证性原则;课堂笔记应记纲要、思路、要点和问题,要及时做好笔记整理,要处理好听、看、想、记的关系。 (4)做实验 做实验是学生在化学学习中经常性的重要实践活动,体现了化学学习的显着特征。为了达到实验目的,教师应要求学生做到:实验前认真预习,做好准备;实验中操作规范、认真、精确、细致,及时记录实验现象(包括数据),并做到实验、观察、思考相结合,坚决废除“照方抓药”的现象;实验结束后应认真及时写好实验报告。此外,还应使学生养成良好的实验习惯,如爱护仪器、节约水、电、气及实验易耗品的习惯,保持实验室环境整洁的习惯,重视实验安全的习惯等。 (5)复习 复习是消化和巩固知识的重要环节。它包括:课后复习、单元复习、期中复习和期末复习。教师要帮助学生掌握各种复习方法,重视对学生复习的管理。要求做到:复习要及时;复习要有重点;复习时先回忆课的内容,再阅读听课笔记和教材;有疑难问题要及时弄清;注意把经常复习与阶段复习结合起来。 (6)作业 做作业是学生巩固和应用知识、形成技能、发展能力的实践活动,也是教学反馈的重要方式。教师对学生作业的管理主要包括调控和检查指导两个方面。对学生作业的调控主要是:对学生每天、每周的家庭作业总量实行宏观控制;变革家庭作业完成方式,不断优化家庭作业的数量和质量;精心选择、布置家庭作业,不布置劣质、机械重复的作业。目前,学生的家庭作业无统一规定,使得各科教师布置作业缺乏协调,加重了学生的学习负担,影响了学生的身心健康和全面发展,这是亟待解决的问题。对学生作业的检查指导主要包括:使学生养成独立完成作业的习惯;做前要认真审题,做后要仔细检查验证;字迹要清楚、格式要规范、书写要整洁;及时纠正作业中的错误等。 (7)小结 在学习一个单元或一个阶段后要进行系统小结,以便使所学知识条理化、系统化。小结是学习中的一个重要环节。教师要指导学生进行系统小结。应做到:小结要揭示和突出已学知识的实质和各部分内容的内在联系,使之形成知识网络;小结应力求用简明、生动、形象的方式表达,可编写提纲或摘记要点,而图表法尤其值得提倡。比如,物质的性质、结构、特点等比较表,概念系统图,知识结构图,反应关系图,物质转化(衔变)关系图等等。
- 2021-12-11 07:29:53