您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 教务管理系统C语言编写
#includestdio.h#includestdlib.h/*主业务函数声明*/voidaddStudent();voiddeleteStudent();voidqueryStudent();voidupdateStudent();voidsort();voiddisplayAll();//显示所有信息intreadData();intwriteData();/*辅助业务函数声明*/intfindIndex(intno);voiddisplayCurrent(inttag);//tag表示下标voidwelcome();//欢迎voidmainmenu();//主菜单/*数据结构和全局变量*/structstudent{intno;charname[20];charsex;intage;floatscore;};structstudentstudents[42];//声明全局变量,存储个学生信息intmaxTag=-1;//最大下标FILE*fp;//文件指针main(){welcome();//欢迎界面maxTag=readData();//在业务选择界面前读文件,返回最大下标printf(maxTag=%d\n,maxTag);mainmenu();}voidwelcome()//欢迎{printf(|-------------------------------|\n);printf(|欢迎进入学生管理系统|\n);printf(|-------------------------------|\n);}voidmainmenu()//主菜单{intchooser;while(1){printf(1增加学生信息\n);printf(2删除学生信息\n);printf(3修改学生信息\n);printf(4查找学生信息\n);printf(5排序\n);printf(6查询全部信息\n);printf(0退出系统\n);printf(请选择业务:);scanf(%d,&chooser);switch(chooser){case1:addStudent();break;case2:deleteStudent();break;case3:updateStudent();break;case4:queryStudent();break;case5:sort();break;case6:displayAll();break;case0:exit(0);default:printf(您的选择有误\n);}}}//增加学生voidaddStudent(){charanswer;intflag=0;//写文件成功标志while(1){maxTag++;//增加数据之前下标先增printf(请输入学生信息:学号姓名性别年龄成绩\n);scanf(%d%s%c%d%f,&students[maxTag].no,students[maxTag].name,&students[maxTag].sex,&students[maxTag].age,&students[maxTag].score);//显示当前学生信息displayCurrent(maxTag);//写文件flag=writeData();if(flag==1){printf(添加成功!\n);}else{printf(添加失败!\n);}//提示是否继续printf(是否继续:是(y)否(n):);fflush(stdin);scanf(%c,&answer);if(answer=='y'){continue;}else{break;}}}//删除学生voiddeleteStudent(){}//查找学生voidqueryStudent(){}//修改学生voidupdateStudent(){}//排序voidsort(){}//读文件,返回最大下标intreadData(){inti=0;//打开文件if((fp=fopen(studentinfo.txt,r))==NULL){//提示错误printf(打开文件失败!);exit(1);//退出程序}//读文件,不确定文件有多少信息,使用循环while(1){//判断文件结束if(feof(fp)){break;}fscanf(fp,%d%s%c%d%f,&students[i].no,students[i].name,&students[i].sex,&students[i].age,&students[i].score);i++;//读完一条数据后下标增}//关闭文件fclose(fp);returni-2;//多读两行}//写文件intwriteData(){inti;//打开文件if((fp=fopen(studentinfo.txt,w))==NULL){//提示错误printf(打开文件失败!);return0;}//写文件for(i=0;i=maxTag;i++){fprintf(fp,%d%s%c%d%f\n,students[i].no,students[i].name,students[i].sex,students[i].age,students[i].score);}//关闭文件fclose(fp);return1;}//查找位置intfindIndex(intno){return0;}//显示当前信息voiddisplayCurrent(inttag)//tag表示下标{printf(%-8s%-8s%-8s%-8s%-8s\n,学号,姓名,性别,年龄,成绩);printf(%-8d%-8s%-8c%-8d%-8.2f\n,students[tag].no,students[tag].name,students[tag].sex,students[tag].age,students[tag].score);}voiddisplayAll()//显示所有信息{inti;printf(%-8s%-8s%-8s%-8s%-8s\n,学号,姓名,性别,年龄,成绩);for(i=0;i=maxTag;i++){printf(%-8d%-8s%-8c%-8d%-8.2f\n,students[i].no,students[i].name,students[i].sex,students[i].age,students[i].score);}}
本文标题:教务管理系统C语言编写
链接地址:https://www.777doc.com/doc-6317847 .html