c语言教务管理系统

合集下载

(完整word版)教务管理系统C语言代码

(完整word版)教务管理系统C语言代码
studentNumber2.close();
find=false;
system("pause");
}
//***************************删除学生信息**************************************************
void list(){
int n=0;
int n=0;
cout<<"请输入要删除的学号:";
cin>>deleteNumber;
fstream fileNumber("number.txt",ios::in|ios::out);
fstream fileNumber2("number.txt",ios::in|ios::out);
fstream fileName("name.txt",ios::in|ios::out);
int menu(){
system("cls");
int n=1,select=-1;
cout<<endl<<endl<<endl;
cout<<setw(68)<<"★C★S★U★学生档案管理系统★C★S★U★"<<endl<<endl;
cout<<setw(26)<<n++<<"◆※输入学生信息※◆1"<<endl<<endl;
};
//******************************

c语言管理系统设计源代码

c语言管理系统设计源代码

c语言管理系统设计源代码以下是一个简单的C语言管理系统示例,用于管理学生信息。

该系统可以添加、删除、修改和查找学生信息。

c复制代码#include<stdio.h>#include<stdlib.h>#include<string.h>struct student {char name[50];int roll;float marks;};struct student students[100];int count = 0;void add_student() {struct student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter roll number: ");scanf("%d", &new_student.roll);printf("Enter marks: ");scanf("%f", &new_student.marks);students[count] = new_student;count++;}void delete_student() {int index;printf("Enter index of student to delete: ");scanf("%d", &index);for (int i = index; i < count - 1; i++) {students[i] = students[i + 1];}count--;}void modify_student() {int index;struct student new_student;printf("Enter index of student to modify: "); scanf("%d", &index);printf("Enter new name: ");scanf("%s", new_);printf("Enter new roll number: ");scanf("%d", &new_student.roll);printf("Enter new marks: ");scanf("%f", &new_student.marks);students[index] = new_student;}void find_student() {char name[50];printf("Enter name of student to find: "); scanf("%s", name);for (int i = 0; i < count; i++) {if (strcmp(students[i].name, name) == 0) { printf("Roll number: %d\n", students[i].roll); printf("Marks: %.2f\n", students[i].marks); return;}}printf("Student not found.\n");}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Delete student\n");printf("3. Modify student\n");printf("4. Find student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case1: add_student(); break;case2: delete_student(); break;case3: modify_student(); break;case4: find_student(); break;case5: exit(0); break; // exit the program here, otherwise the loop will keep running indefinitely, as it is in the do-while loop above. We are not returning, but rather exiting the program completely, so we do not need to return anything. The return value of main is always 0, and this is how the program exits. If you want to return a value other than 0, you can do so like this: return 1; or return -1; or return any other integer value you want to represent an error condition. The operating system will interpret this as the program's exit status. In this case, it will be seen as successful, as it is returning 0. The return value of main is not used for anything in this program, but it can be used in other programs to determine whether the program exited successfully or with an error. For example, if you were writing a shell script that executed this program and needed to know if it was successful or not, you could check the return value of the program and act accordingly. This is a common practice in programming, and it is important to understand how it works so that you can use it effectively in your own programs.。

c语言学生信息管理系统设计报告

c语言学生信息管理系统设计报告

c语言学生信息管理系统设计报告随着教学质量和教学管理的要求不断提高,校园管理系统对于诸多困难领域的改善服务开始发挥着重要作用,而学生信息技术系统设计是实现校园管理质量提升的重要手段之一。

实施学生信息管理系统可以提高人力资源管理的效率,降低办理各项业务的成本,将学校管理变得更加规范和有效。

本报告旨在设计一套C语言学生信息管理系统,用于学校信息管理与市场营销管理,实现数据的及时收集、存储和处理,同时,改善学校的教学管理,提高教学质量,提升学生的学习体验。

首先,系统设计将涉及到C语言的语法和结构,以便理解和实现学生信息的管理。

其次,关于系统的功能,可以从学生信息管理、任课管理、教学管理、学术科研、职位设置、绩效考核等方面进行完善。

针对关键管理系统,为了实现系统的可靠性和安全性,将采用多种数据库技术,包括SQL Server、Oracle、MySQL等数据库技术,以及主流计算机语言C++、Java等,实现数据库的操作、学生信息管理系统的开发、学习管理系统的开发等技术需求。

此外,本报告还将对相关技术以及软件测试等内容进行分析,以保证学生信息管理系统的可靠性和稳定性。

本报告的完成,必须充分考虑C语言的基本知识,以及C语言学生信息管理系统在实施过程中的可能风险。

在实施过程中,应该通过计算机技术的应用、软件测试、数据库技术的改进等多方面分析,以保证系统在实施过程中的高效稳定性。

综上所述,本报告将实施C语言学生信息管理系统,实现学校信息管理与市场营销管理,旨在收集、存储和处理数据,同时提高教学管理的质量,提升学生的学习体验,实现学校的管理变得更加规范和有效。

此外,本报告还将深入探讨如何利用计算机技术、数据库技术、软件测试等相关技术,保证学生信息管理系统的可靠性和安全性。

学生管理系统c语言简单版

学生管理系统c语言简单版

学生管理系统c语言简单版学生管理系统c语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。

本文将介绍如何使用C语言编写一个简单的学生管理系统。

功能:1. 添加学生信息2. 查询学生信息3. 修改学生信息4. 删除学生信息5. 显示所有学生信息实现方法:1. 添加学生信息添加学生信息需要输入以下内容:姓名、性别、年龄、班级和电话号码。

我们可以定义一个结构体来存储这些信息,代码如下:```struct Student {char name[20];char sex[10];int age;char class[20];char phone[20];};```然后定义一个数组来存储多个学生的信息:```struct Student students[100];int count = 0; // 学生数量```接下来,我们可以编写一个函数来添加新的学生信息:```void addStudent() {struct Student student;printf("请输入姓名:");scanf("%s", );printf("请输入性别:");scanf("%s", student.sex);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入班级:");scanf("%s", student.class);printf("请输入电话号码:");scanf("%s", student.phone);students[count++] = student; // 将新的学生信息存储到数组中 printf("添加成功!\n");}```2. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。

C语言的教务管理系统(2000行代码)

C语言的教务管理系统(2000行代码)

C语言教务管理系统一、程序结构图二、程序运行截图1. 个人信息简介2.修改颜色3.注册界面4. 信息保存至文件5.登录界面6.管理员录入信息7. 学生信息录入8.学生成绩录入9.学生课程表录入10.学生信息查询界面11学生信息查询12.学生成绩查询13.学生课表查询三、代码(一个cpp)#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include <conio.h>#include"windows.h"#define student_num 1000 /*定义1000个学生*/#define teacher_num 5 /*定义5个老师(管理员)*/int is_my_student(struct student *p,int *size); /*声明返回第i+1个学生的函数*/ int is_my_teacher(struct teacher *p,int *size); /*声明返回第i+1个老师的函数*/ int length_student_name(char *p); /*声明验证用户名函数*/int length_student_password(char *p); /*声明验证密码长度函数*/int length_teacher_name(char *p); /*声明验证用户名函数*/int length_teacher_password(char *p); /*声明验证密码长度函数*/int show_menu_login(); /*声明登录菜单函数*/int show_menu_register(); /*声明注册菜单函数*/int show_teacher_select(); /*声明教师录入菜单函数*/int show_student_select(); /*声明学生查询菜单函数*/int student_register(struct student *ptr_student,int *size); /*声明学生注册函数*/ int teacher_register(struct teacher *ptr_teacher,int *size); /*声明老师注册函数*/ int vaild_student_name(char *p); /*声明验证用户名函数*/int vaild_student_password(char *p); /*声明验证密码函数*/int vaild_teacher_name(char *p); /*声明验证用户名函数*/int vaild_teacher_password(char *p); /*声明验证密码函数*/int vaild_two_password(char *p1,char *p2); /*声明验证两次密码是否相同函数*/ int yes_no_return(); /*声明选择是否返回上一层函数*/void load(); /*声明加载函数*/void register_(int *count1,int *count2); /*声明注册函数*/void display_student(struct student stu); /*声明显示学生信息函数*/void display_teacher(struct teacher tea); /*声明显示老师信息函数*/void student_file1(); /*将保存的学生的账号密码存入文件中*/ void student_file2(); /*将保存的学生的个人信息存入文件中*/ void student_file3(); /*将保存的学生的成绩存入文件中*/void teacher_file(); /*将保存的老师的账号密码存入文件中*/ void input_information(int count); /*声明输入学生信息函数*/void input_score_menu(int count); /*声明输入学生成绩函数*/void color(); /*声明选择窗体颜色函数*/void print_stu_information(int count_stu); /*声明输出账号为num的学生的信息函数*/void print_stu_score(int count_stu); /*声明输出账号为num的学生的成绩函数*/void show_menu(); /*声明初始化界面函数*/void input(); /*声明输入函数*/void menu1(); /*声明教师录入课程表主菜单函数*/void menu2(); /*声明学生查询课程表主菜单函数*/void rank(); /*声明显示时间顺序函数*/void querymenu3(); /*声明查询函数*/void looktime(); /*声明按照时间查询函数*/void looklessonname(); /*声明按照课程名查询函数*/void add(); /*声明保存函数*/void amend(); /*声明修改课程函数*/void amend1(); /*声明修改课程子函数*/void amendnews(int i); /*声明修改整个课程信息函数*/void amendtime(int i); /*声明修改课程时间函数*/void amendlessonname(int i); /*声明修改课程课程名函数*/void amendclassroom(int i); /*声明修改课程教室函数*/void deleted(); /*声明删除函数*/void add_score(int count); /*声明添加学生成绩函数*/void xiugai_score(int count); /*声明修改学生成绩函数*/void shanchu_score(int count); /*声明删除学生成绩函数*/void chaxun_score(int count); /*声明按要求查询学生成绩函数*/void paixu_score(int count); /*声明学生成绩排序函数*/void tongji_score(int count); /*声明学生成绩统计函数*/float chinese(int count); /*声明计算语文成绩最大值函数*/int chr(int count); /*声明计算语文成绩及格人数的函数*/ float english(int count); /*声明计算英语成绩最大值函数*/int ehr(int count); /*声明计算英语成绩及格人数的函数*/ float math(int count); /*声明计算数学成绩最大值函数*/int mhr(int count); /*声明计算数学成绩及格人数的函数*/ float computer(int count); /*声明计算计算机成绩最大值函数*/int thr(int count); /*声明计算计算机成绩及格人数的函数*/float PE(int count); /*声明计算体育成绩最大值函数*/int phr(int count); /*声明计算体育成绩及格人数的函数*/ float sum_score(int count); /*声明计算总分成绩最大值函数*/ void load_student(int a); /*声明启动学生函数*/void load_teacher(int a); /*声明启动老师函数*/struct student /*学生结构体*/{/*个人信息*/int student_id; /*账号*/char student_name[20]; /*姓名*/char password[16]; /*密码*/int age; /*年龄*/char qq[12]; /*QQ号*/char tel[12]; /*电话*/int grade; /*年级*//*各科成绩*/float chinese; /*语文分数*/float english; /*英语分数*/float math; /*数学分数*/float computer; /*计算机分数*/float PE; /*体育分数*/float sum; /*总分*//*课程表*/char time[10]; /*时间*/char lessonname[20]; /*课程名*/char teacher[20]; /*授课老师*/char classroom[10]; /*教室*/char hours[10]; /*第几节课*/int weeks; /*周时*/};struct teacher /*老师结构体*/ {int teacher_id; /*账号*/char teacher_name[20]; /*姓名*/char password[16]; /*密码*/};struct student our_student[student_num]; struct teacher our_teacher[teacher_num];void main() /*主函数*/{system("color f0"); /*初始化背景颜色*/show_menu(); /*制作人信息简介*/load();}void load() /*启动函数*/{int flag=1; /*控制循环结束的变量*/int a=0,b=0; /*记录已注册的学生的人数a为学生个数b为老师个数*/int *count1=&a,*count2=&b; /*指向学生人数和老师人数的指针*/int correct_student,correct_teacher;color();register_(count1,count2); /*注册学生和老师的帐号*/student_file1();teacher_file();while(flag){switch(show_menu_login()) /*显示登录菜单*/{case 1: /*选择1,进入学生登录*/if(correct_student=is_my_student(our_student,count1)){printf("\n ◆学生登录成功!\n");display_student(our_student[correct_student-1]);printf("\n");printf(" ");system("pause");load_student(a);}elseprintf("\n登录失败!\n");printf("\n");printf(" 提示:按Y退出登录界面,按N返回登录界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,进入老师登录,即管理员登录*/ if(correct_teacher=is_my_teacher(our_teacher,count2)){printf("\n ◆管理员登录成功!\n");display_teacher(our_teacher[correct_teacher-1]);printf("\n");printf(" ");system("pause");load_teacher(a);}elseprintf("\n登录失败!\n");printf("\n");printf(" 提示:按Y退出登录界面,按N返回登录界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,退出登录*/system("cls");flag=0;break;default:printf("请正确输入1-3:");system("cls");}}}void load_student(int a) /*启动学生函数*/{int flag=1;system("cls");while(flag){switch(show_student_select()){case 1: /*选择1,学生信息查询*/system("cls");print_stu_information(a);printf("\n");printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,学生成绩查询*/system("cls");print_stu_score(a);printf("\n");printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,学生课表查询*/menu2();printf(" 提示:按Y退出学生查询界面,按N返回学生查询界面!!!\n");flag=yes_no_return();system("cls");break;case 4: /*选择4,退出查询界面*/system("cls");flag=0;break;default:printf("请正确输入1-4:");system("cls");}}}void load_teacher(int a) /*启动老师函数*/{int flag=1;system("cls");while(flag){switch(show_teacher_select()){case 1: /*选择1,学生信息录入*/input_information(a);system("cls");student_file2();printf("\n 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 2: /*选择2,学生成绩录入*/input_score_menu(a);system("cls");student_file3();printf("\n 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 3: /*选择3,学生课表录入*/menu1();printf(" 提示:按Y退出教师录入界面,按N返回教师录入界面!!!\n");flag=yes_no_return();system("cls");break;case 4: /*选择4,退出管理界面*/system("cls");flag=0;break;default:printf("请正确输入1-4:");system("cls");}}}int length_student_name(char *p) /*验证用户名是否合法*/ {int l;l=strlen(p);if(l>20||l<1)return 0;elsereturn 1;}int vaild_student_name(char *p) /*判断用户名是否有效*/{int i=0;int len=strlen(p);if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) /*判断首字母是不是字母*/ {for(i=0;i<len;i++){if(!(p[i]='_'||(p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z')||(p[i]>='0'&&p[i]<=' 9'))) /*判断后面的字符是否有效*/return 0;}return 1;}elsereturn 0;}int length_student_password(char *p) /*密码长度有效性验证*/{int len;len=strlen(p);if(len<6||len>16)return 0;elsereturn 1;}int vaild_student_password(char *p) /*密码的有效性验证*/{int i=0;for(;*p!='\0';p++){if(!((*p>='a'&&*p<='z')||(*p>'A'&&*p<'Z')||(*p>='0'&&*p<='9'))) return 0;}return 1;}int vaild_two_password(char *p1,char *p2) /*验证两次密码是否相同*/{if(strcmp(p1,p2)==0)return 1;elsereturn 0;}int student_register(struct student *ptr_student,int *size) /*完成注册功能*/{char password[16];char repassword[16];if(*size==student_num){puts(" ◆注册人数已满!");printf("\n");return 0;}system("cls");printf("\n\n");printf(" ★请输入注册学生姓名:");fflush(stdin);gets(ptr_student[*size].student_name);if(!(length_student_name(ptr_student[*size].student_name)&&vaild_student_name(ptr_student[*size].student_name))){printf(" ◆您输入的姓名无效,学生姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!!!");return 0;}printf("\n");printf(" ★请输入注册密码:");fflush(stdin);gets(password);printf("\n");printf(" ★请再次输入注册密码:");fflush(stdin);gets(repassword);printf("\n");if(!vaild_two_password(password,repassword)){printf("\n №:两次输入的密码不一致!!!");printf("\n");return 0;}elsestrcpy(ptr_student[*size].password,password);if(!(length_student_password(ptr_student[*size].password)&&vaild_student_pa ssword(ptr_student[*size].password))){printf(" ◆您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字!!!");printf("\n");return 0;}printf(" ★您的编号为:%d,这将是您的登录账号!!!",ptr_student[*size].student_id=20150000+*size);return 1;}int is_my_student(struct student *p,int *size) /*如果登录成功则返回第i+1个学生的信息,否则返回0*/{int i;int zhanghao;char mima[18];system("cls");printf("\n\n");printf(" ★请输入您的账号:");scanf("%d",&zhanghao);fflush(stdin);printf("\n");printf(" ★请输入您的密码:");gets(mima);for(i=0;i<*size;i++){if((zhanghao==p[i].student_id)&&(strcmp(mima,p[i].password)==0)) return i+1;}return 0;}void display_student(struct student stu) /*显示学生信息*/{printf("\n ★您的账号是:%d\n",stu.student_id);}int length_teacher_name(char *p) /*验证用户名是否合法*/{int l;l=strlen(p);if(l>20||l<1)return 0;elsereturn 1;}int vaild_teacher_name(char *p) /*判断用户名是否有效*/{int i=0;int len=strlen(p);if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) /*判断首字母是不是字母*/ {for(i=0;i<len;i++){if(!(p[i]='_'||(p[i]>='a'&&p[i]<='z')||(p[i]>='A'&&p[i]<='Z')||(p[i]>='0'&&p[i]<=' 9'))) /*判断后面的字符是否有效*/return 0;}return 1;}elsereturn 0;}int length_teacher_password(char *p) /*密码长度有效性验证*/{int len;len=strlen(p);if(len<6||len>16)return 0;elsereturn 1;}int vaild_teacher_password(char *p) /*密码的有效性验证*/{int i=0;for(;*p!='\0';p++){if(!((*p>='a'&&*p<='z')||(*p>'A'&&*p<'Z')||(*p>='0'&&*p<='9'))) return 0;}return 1;}int teacher_register(struct teacher *ptr_teacher,int *size) /*完成注册功能*/{char password[16];char repassword[16];if(*size==teacher_num){puts(" ◆注册人数已满!");printf("\n");return 0;}system("cls");printf("\n\n");printf(" ★请输入注册教师姓名:");fflush(stdin);gets(ptr_teacher[*size].teacher_name);if(!(length_teacher_name(ptr_teacher[*size].teacher_name)&&vaild_teacher_na me(ptr_teacher[*size].teacher_name))){printf(" ◆您输入的姓名无效,教师姓名在1-20之间,首字符为字母,后面必须为字母、数字或下划线!!!");printf("\n");return 0;}printf("\n");printf(" ★请输入注册密码:");fflush(stdin);gets(password);printf("\n");printf(" ★请再次输入注册密码:");fflush(stdin);gets(repassword);printf("\n");if(!vaild_two_password(password,repassword)){printf("\n №:两次输入的密码不一致!!!");printf("\n");return 0;}elsestrcpy(ptr_teacher[*size].password,password);if(!(length_teacher_password(ptr_teacher[*size].password)&&vaild_teacher_password(ptr_teacher[*size].password))){printf(" ◆您输入的密码无效,密码应在6-16位之间,密码只能包含字母和数字!!!");printf("\n");return 0;}printf(" ★您的编号为:%d,这将是您的登录账号。

综合应用案例—学生信息管理系统(C语言)

综合应用案例—学生信息管理系统(C语言)

14.3综合应用案例—学生信息管理系统作为学生,同学们最熟悉自己的相关信息了,如果能够设计一个学生信息管理系统,实现全班乃至全校学生信息的管理系统,是非常有实际意义的。

同时,开发一个小型的信息管理系统,综合应用我们之前学习的基本语法知识和程序设计方法,将是一个提升和锻炼实践能力的好机会。

1. 主要功能设计与开发一个学生信息管理系统,对学生的学号、姓名、性别、年龄等基本信息进行管理,实现基本的增、删、改、查等功能。

2. 功能模块设计通过需求分析,按照结构化程序设计自顶向下,逐步细化的方法,以模块化设计为中心的原则,学生信息管理系统应该具有基本的文件管理、编辑、显示三个功能模块。

文件管理模块包括:加载文件、保存文件、拷贝到目标文件、退出系统;编辑模块包括:输入记录、查找记录、修改记录、删除记录、插入记录、记录排序; 显示模块包括:显示全部记录、按序号显示记录。

系统的功能划分如图14.12所示:学生基本信息管理系统输入学生记录浏览学生记录按姓名查找按姓名删除按学号修改插入学生记录保存文件加载文件按序号浏览按姓名排序拷贝文件文件管理模块编辑模块显示模块退出系统图14.12 系统功能模块图3. 数据结构设计为了实现学生信息的管理,系统中采用的主要数据结构是结构体数组,为了方便系统功能扩展及编码方便,使用了#define 定义结构体数组上限,并使用typedef 定义结构体类型别名。

#define M 50 typedef struct{char no[20];char name[20];char sex[5];int age;}STUDENTS;STUDENTS stu[M];4. 函数及调用关系函数是模块化的主要手段,系统的各个主要功能都设计成函数,通过各个函数相互调用,并最终由主函数main调用组装成整个软件系统。

学生信息管理系统由1个.h头文件和2个.c 源文件组成。

程序中除了主函数外,共设计了以下15个函数,以下是这些函数的函数原型及功能设计。

教务信息管理系统

教务信息管理系统

包括:学生基本信息,如学号,姓名,性别,年龄,等;2.学生选修课程基本信息,包括课程编号,课程名称,考试成绩,平时成绩,综合成绩,学分,重修否,若重修,需考虑重修学期,重修成绩,并考虑多次重修情况。

只能用C语言,要有用户界面,必须用结构体和链表等数据结构。

/*-------------1-------------*/#include<bios.h>#include<dos.h> /*头文件*/#include<conio.h>#include<ctype.h>#include<process.h>#include<stdlib.h>#include<stdio.h>#include<string.h>#define NULL 0#define ESC 0x001b /* 退出*/#define F1 0x3b00 /* 查看帮助信息,调用HelpMassage()函数*/#define F2 0x3c00 /*输入学生成绩*/#define F3 0x3d00 /*按学号查找*/#define F4 0x3e00 /*按姓名查找*/#define F5 0x3f00 /*列出所有学生成绩*/#define F6 0x4000 /*统计*/struct stuType /*定义结构体变量*/{char NO[11]; /*学号长度为10*/char XM[10];char AGE[2]; /*年龄长度为2*/float CJ[4]; /*包含4门成绩*/};/*-------------2-------------*/int JY_NO(char *stu_num,FILE *fp) /*检验学号的正确性*/{ struct stuType stud;int NO;char *p=stu_num;if(strcmp(stu_num,"#")==0) return 1; /*若输入"#"返回真值,不再循环输入*/while(*p!='\0') /*学号必须是数字,否则返回重新输入*/{ NO=(int)*p;if(NO<48||NO>57){ puts("\t\tUndefined SN!Please input again!\n");/*非法学号!请重新输入!*/ return 0;}else p++; /*指针加1*/}if(strlen(stu_num)!=10) /*若学号长度不为10,则返回重新输入*/{ puts("\t\tLength of SN Error!\n");/*学号长度不对*/return 0;}if(getchar()!='\n') /*若学号后面的字符不是回车符,则学号长度大于10*/{ printf("\t\tThe length of SN should more than 10!Please inputagain!\n");/*学号长度大于10个,请重新输入*/do{}while(getchar()!='\n'); /*用getchar接收多余的字符*/return 0;}else{rewind(fp); /*使文件指针指向头*/while(!feof(fp)) /*若文件指针未到结尾,就继续执行下面的循环,feof遇到文件结束符返回非零值,否则返回0*/{ fread(&stud,sizeof(struct stuType),1,fp); /*读取一定长度的数据*/if(strcmp(stu_num,stud.NO)==0) /*学号的唯一性*/{ printf("\t\t Repeat SN,Please input again!\n");/*学号重复!请重新输入*/printf("\t\tThe Record of this student:\n");/*该学生成绩如下*/printf("\t\tChinese:%.1f\n",stud.CJ[0]);/*语文*/printf("\t\tMath:%.1f\n",stud.CJ[1]);/*数学*/printf("\t\tEnglish:%.1f\n",stud.CJ[2]);/*英语*/printf("\t\tTotal:%.1f\n",stud.CJ[3]);/*总评*/return 0;}}}return 1;}/*-------------3-------------*/int JY_NO2(char *stu_num) /*检验学号*/{ int NO;char *p=stu_num;if(strcmp(stu_num,"#")==0)return 1; /*若输入“#”,则返回真值结束*/if(strlen(stu_num)!=10) /*学号长度不为10*/{ puts("\t\tLength of SN Error!\n");/*学号长度不对*/return 0;}while(*p!='\0') /*学号必须用数字,若包含有字母,或其它字符则返回假值重新输入*/{ NO=(int)*p;if(NO<48||NO>57){ puts("\t\tUndefined SN!Please input again!\n");/*非法学号!请重新输入*/return 0;}else p++; /*指针加1*/}if(getchar()!='\n') /*检验学号长度是否大于10,并把多余的字符去掉*/{ printf("\t\tThe length of SN should more than 10!Please inputagain!\n");/*学号长度大于10个,请重新输入*/do{}while(getchar()!='\n');return 0;}return 1;}/*-------------4-------------*/int JY_XM(char *stu_XM) /*检验姓名*/{ int PD;char *p;p=stu_XM;while(*p!='\0') /*姓名只能用英文*/{PD=(int)*p;if(PD<0){ puts("\t\tName should use English, Please input again!\n");/*姓名只能用英文请重新输入*/return 0;}else p++; /*使指针加1,指向下一汉字*/if(getchar()!='\n') /*姓名长度不得大于5个*/{ printf("\t\tThe length of Name is more than 5, Please input again!\n");/*姓名长度大于5个请重新输入*/do{}while(getchar()!='\n');return 0;}return 1; /*字符串全为汉字返回真*/}/*-------------5-------------*/int JY_AGE(float stu_AGE) /*年龄只能在0~100之间*/{if(stu_AGE<0||stu_AGE>100){ printf("\t\tInput Error! Record should between 0~100!\n");/*输入错误,成绩只能在0~100之间*/return 0;}return 1;}/*-------------6-------------*/int JY_CJ(float stu_CJ) /*学生成绩只能在0~100之间*/{if(stu_CJ<0||stu_CJ>100){ printf("\t\tInput Error! Record should between 0~100!\n");/*输入错误,成绩只能在0~100之间*/return 0;return 1;}/*-------------7-------------*/void CreatFile() /*输入文件*/{ FILE *fp;struct stuType stu,stu0={"","",}; /*对stu0xianfuzhi*/fp=fopen("stu.dat","wb+"); /*打开或创建一个二进制文件,打开时将原来的内容删除*/if(fp==NULL){ printf("\t\tFile opens Error!\n\t\t\tPress Anykey back...");/*文件打开失败,按任意键返回*/getch();return;}else{ while(1){ stu=stu0;do{ printf("\n\t\tPlease input SN:"); /*输入学号并检验其正确性*/scanf("%10s",stu.NO);}while(!JY_NO(stu.NO,fp));if(strcmp(stu.NO,"#")==0)break;do{ printf("\n\t\tPlease input Name:"); /*输入姓名并检验其正确性*/scanf("%10s",stu.XM);}while(!JY_XM(stu.XM));do{ printf("\n\t\tPlease input age:"); /*输入年龄绩并检验其正确性*/scanf("%f",&stu.AGE);}while(!JY_AGE(stu.AGE[0]));do{ printf("\n\t\tPlease input record of Chinese:"); /*输入成绩并检验其正确性*/scanf("%f",&stu.CJ[0]);}while(!JY_CJ(stu.CJ[0]));do{ printf("\n\t\tPlease input record of Math:"); /*同上*/scanf("%f",&stu.CJ[1]);}while(!JY_CJ(stu.CJ[1]));do{ printf("\n\t\tPlease input record of English:");scanf("%f",&stu.CJ[2]);}while(!JY_CJ(stu.CJ[2]));do{ printf("\n\t\tPlease input record of Total:");scanf("%f",&stu.CJ[3]);}while(!JY_CJ(stu.CJ[3]));fwrite(&stu,sizeof(struct stuType),1,fp); /*写文件*/}}fclose(fp); /*关闭文件*/}/*-------------8-------------*/void Search_Xuehao() /*按学号查询*/{ FILE *fp;int flag;struct stuType stu,stud;fp=fopen("stu.dat","rb");if(fp==NULL) /*若文件打不开则输出下面的信息*/{ printf("\t\tFile opens Error!\n\t\t\tPress Anykey back...");getch();return;}else{ do{ puts("\n\t\tPress\"#\" or search");do{ printf("\t\tPlease input the SN what you want:");scanf("%10s",stu.NO);}while(!JY_NO2(stu.NO));if(strcmp(stu.NO,"#")==0)break; /*若输入“#”则结束循环*/flag=0;rewind(fp);while(fread(&stud,sizeof(struct stuType),1,fp)) /*检查文件指针结束*/{ if(strcmp(stu.NO,stud.NO)==0) /*比较学号*/{ puts("\t\tThe Record of this student:");printf("\t\tSN:%s\n",stud.NO);printf("\t\tName:%s\n",stud.XM);printf("\t\tAGE:%.1f\n",stud.AGE[0]);printf("\t\tChinese:%.1f\n",stud.CJ[0]);printf("\t\tMath:%.1f\n",stud.CJ[1]);printf("\t\tEnglish:%.1f\n",stud.CJ[2]);printf("\t\tTotal:%.1f\n",stud.CJ[3]);flag=1; /*记录学号是否查到*/}}if(flag==0)puts("\t\tUndefined SN");}while(strcmp(stu.NO,"#")!=0);}fclose(fp); /*关闭文件*/}/*-------------9-------------*/void Search_Xingming() /*按姓名查找*/{ FILE *fp;int flag=0;struct stuType stu,stud;fp=fopen("stu.dat","rb");if(fp==NULL){ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");getch();return;}else{ do{do{ printf("\t\tPlease input the Name of the Student what you want:");scanf("%10s",stu.XM);}while(!JY_XM(stu.XM));rewind(fp); /*文件指针指向头*/while(fread(&stud,sizeof(struct stuType),1,fp)){ if(strcmp(stu.XM,stud.XM)==0) /*比较姓名是否相同*/{ puts("\t\tThe name of the Student is:");printf("\t\tSN:%s\n",stud.NO);printf("\t\tName:%s\n",stud.XM);printf("\t\tAGE:%.1f\n",stud.AGE[0]);printf("\t\tChinese:%.1f\n",stud.CJ[0]);printf("\t\tMath:%.1f\n",stud.CJ[1]);printf("\t\tEnglish:%.1f\n",stud.CJ[2]);printf("\t\tTotal:%.1f\n",stud.CJ[3]);flag=1; /*记录姓名是否被查到*/}}if(flag==0)puts("\n\t\tUndefined Name!");puts("\t\tContinue?(y--yes,Else key back)?");}while(getch()=='y');}fclose(fp);/* puts("\t\tPress Anykey to continue...");*//* getch();*/}/*-------------10-------------*/int ListFile(void) /*输出文件,列出所有学生成绩*/ { FILE *fp;int REC=0; /*记录学生人数*/struct stuType stu;fp=fopen("stu.dat","rb");if(fp==NULL){ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");getch();return 1;}else{ printf("\t\tRecords of the Students:\n");printf("\t\tSN\t\tName\tChinese\tMath\tEnglish\tTotal\n");rewind(fp);while(fread(&stu,sizeof(struct stuType),1,fp)){ /*每读取一个长度的数据就输出*/printf("\t\t%s",stu.NO);printf("\t%s",stu.XM);printf("\t%.1f",stu.AGE);printf("\t%.1f",stu.CJ[0]);printf("\t%.1f",stu.CJ[1]);printf("\t%.1f",stu.CJ[2]);printf("\t%.1f",stu.CJ[3]);printf("\n");REC++;if(REC%20==0) /*20个学生成绩,停一下*/ { printf("\t\tPress Anykey to continue...\n");getch();}}}fclose(fp); /*关闭文件*/printf("\t\tContinue...");getch();}/*-------------11-------------*/void Statistics() /*统计及格和优秀人数*/{ FILE *fp;int REC=0,unpass[4]={0},good[4]={0}; /*REC--记录个数,即人数,unpass--重修人数,good--优秀人数*/float highest[4]={0},score[4]={0}; /*highest--最高分,score--总分*/struct stuType stu;fp=fopen("stu.dat","rb");if(fp==NULL){ printf("\t\tFile opens Error!\n\t\tPress Anykey back...");getch();return;}else { rewind(fp);while(fread(&stu,sizeof(struct stuType),1,fp)){ REC++;score[0]=score[0]+stu.CJ[0]; /*语文*/if(stu.CJ[0]<=60)unpass[0]++;if(stu.CJ[0]>=80)good[0]++;if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0];score[1]=score[1]+stu.CJ[1]; /*数学*/if(stu.CJ[1]<=60)unpass[1]++;if(stu.CJ[1]>=80)good[1]++;if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];score[2]=score[2]+stu.CJ[2]; /*英语*/if(stu.CJ[2]<=60)unpass[2]++;if(stu.CJ[2]>=80)good[2]++;if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];score[3]=score[3]+stu.CJ[3]; /*总评*/if(stu.CJ[3]<=60)unpass[3]++;if(stu.CJ[3]<=80)good[3]++;if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];}if(REC==0) /*可以防止记录为0是REC作除数而造成的错误*/{ printf("\t\tYou did't input the Name!Press Anykey back...");getch();return;}else{printf("\t Chinese\t Math\tEnglish\tTotal\n"); /*输出统计信息*/printf("\tAverage: %.1f\t %.1f\t %.1f\t\t%.1f\n",score[0 ]/REC,score[1]/REC,score[2]/REC,score[3]/REC);printf("\tToprecord: %.1f\t %.1f\t %.1f\t\t%.1f\n",highest[0],highest[1], highest[2],highest[3]);printf("\tNumber of goodstudents: %d\t\t %d\t %d\t\t %d\n",good[0],good[1],good[2],good[3]);printf("\tNumber of unpassedstudents:%d\t\t %d\t %d\t\t %d\n",unpass[0],unpass[1],unpass[2],unpass[ 3]);}}fclose(fp);printf("\n\t\t\tPress Anykey to continue...");getch();}/*-------------12-------------*/void HelpMessage(){ clrscr();printf("\n\n\n\n\n chi xi tong shi lao shi suo bu zhi zuoye bianzhi ercheng,gai xitong juyou cunchu xuesheng shuju,an xuehao,xingming chaxun,liechu xuesheng chengji he tongjigongneng.\n \n shiyongfangfa:xitong shulu shuju hou,jiangzai dangqian muluzhong jianli yige mingwei stu.dat wenjian,yongyubaocun shulu de shuju.xuehao shulu zhineng yong shuzi shulu qie xuehao zhineng shi10wei.xingming shulu fuhe zhongguoren de xingming,zhineng yong zhongwen pinying,qie zuichangwei5 ge hanzhi.\n chi chenxu zai Turbo C2.0xia yunxing tongguo \n\n ");getch();}/*-------------13-------------*/int GetKey(void) /*此函数返回一个按键的数值*/{ int key;key=bioskey(0); /*bioskey为调用BIOS键盘接口*/if(key<<8) /*位移*/{key=key&0x00ff;}return key; /*返回按键*/}/*-------------14-------------*/void main(){ int key;struct date d; /*定义时间结构体*/getdate(&d); /*读取系统日期并把它放到结构体d中*/clrscr(); /*清除屏幕*/printf("\n\n\n\n\n");printf("\t========================================================\n"); /*版本信息*/printf("\n");printf("\t\t The System of Students Records Management 1.0 \n"); printf("\n");printf("\n");printf("\t\t Builder: XG042-WZM YS HYF WQ \n");printf("\t\t Teacher:Song Zheyuan\n");printf("\t\t Time:2005\\7\\5 \n");printf("\n");printf("\t========================================================\n"); printf("\t\t\tPress Anykey to continue...");/*while(!kbhit());*/getch(); /*从键盘读取一个字符,但不显示于屏幕*/system("cls"); /*调用DOS的清屏函数,TC中可用clrscr代替*/while(1) /*主菜单*/{printf("\n\n\n\n\n");printf("\t **************************************************\n");printf("\t **\t **\n");printf("\t **\tF1 --Help **\n");printf("\t **\t **\n");printf("\t **\tF2 --Data Input & Save **\n");printf("\t **\t **\n");printf("\t **\tF3 --Search by SN **\n");printf("\t **\t **\n");printf("\t **\tF4 --Search by Name **\n");printf("\t **\t **\n");printf("\t **\tF5 --Contents Input **\n");printf("\t **\t **\n");printf("\t **\tF6 --Count Students Number(Passed&Good) **\n");printf("\t **\t **\n");printf("\t **\tESC--Quit the System **\n");printf("\t **\t **\n");printf("\t **************************************************\n");printf("\n\t Pleaseselect...\t\t%d\\%d\\%d\n\n",d.da_year,d.da_mon,d.da_day); /*提示信息,并显示当前系统日期*/key=GetKey(); /*调用自定义函数,读取一个键*/switch(key){case F1: HelpMessage(); break;case F2: CreatFile(); break;case F3: Search_Xuehao(); break;case F4: Search_Xingming();break;case F5: ListFile(); break;case F6: Statistics(); break;case ESC:exit(1); break;/*default: puts("\t\t\tWrong SN input!");printf("\t\t\tPress Anykey back...");getch();*/}clrscr(); /*每执行完一项功能后,自动清屏*/ }}。

学生选课管理系统c语言

学生选课管理系统c语言

学生选课管理系统简介学生选课管理系统是一种用于学生选课和管理课程的系统。

通过该系统,学生可以方便地选取自己感兴趣的课程,并进行课程的管理和查询,同时教务部门可以通过系统进行课程的发布、修改和管理。

功能需求学生选课管理系统需要具备以下功能:1.学生注册和登录功能:学生需要先注册账号,然后通过账号登录系统。

2.学生选课功能:学生通过系统浏览可选的课程列表,并选择自己感兴趣的课程进行选课。

3.课程查询功能:学生可以查询已选和未选课程的详细信息,包括课程名称、授课教师、上课时间等。

4.课程管理功能:教务部门可以通过系统添加、修改和删除课程信息,包括课程名称、授课教师、上课时间等。

5.学生管理功能:教务部门可以通过系统管理学生信息,包括学生姓名、学号、选课情况等。

6.成绩管理功能:教务部门可以通过系统录入学生的成绩,并提供学生成绩查询功能。

7.课程评价功能:学生可以对已修完的课程进行评价,包括评分和评论。

8.学分统计功能:系统可以根据学生的选课情况自动计算学分和学分绩点,并提供查询功能。

技术实现为了实现学生选课管理系统,可以使用C语言进行开发。

以下是一些技术实现的建议:1.数据存储:可以使用文件系统来存储学生、课程和成绩等信息。

可以使用文本文件或二进制文件存储数据,通过文件操作函数进行读写。

2.用户界面:可以使用命令行界面或图形界面来实现用户的交互。

使用C语言的终端输出函数可以实现简单的命令行界面,使用图形界面库可以实现更复杂的图形界面。

3.数据结构:可以使用结构体来表示学生、课程和成绩等信息,通过数组或链表等数据结构进行管理。

4.用户认证:可以使用用户名和密码进行用户的身份验证。

可以将用户信息保存在文件中,通过比对输入的用户名和密码来验证用户身份。

5.查询和排序:可以使用各种算法来实现课程查询和排序功能。

例如,可以使用线性搜索来查询课程信息,使用冒泡排序或快速排序来对课程进行排序。

系统流程以下是学生选课管理系统的基本流程:1.学生注册和登录:学生在系统中注册账号,并通过账号登录系统。

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

c语言教务管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII#include"stdio.h"#include"stdlib.h"#include"conio.h"#include"string.h"#include"windows.h"//登陆界面函数void load();void background1();void choice1();void fanhui1();void denglu();void zhuce();int chazhao();//目录界面函数void mulu();void background();void choice();void add();void xiugai();void shanchu();void del();void chaxun();void paixu();void tongji();void output();void finish();void fanhui2();void shuchu();int zongren();int chr();int enr();int mar();void back();float chinese();float english();float math();float zongmax();//登陆界面结构体struct self{char a[10];char b[10];int flg;}s[100]={{"admin","admin",1},{"1","1",1}};//目录界面结构体struct student{char num[10];char name[10];float chinese;float english;float math;float sum;int a;}stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}};//登陆界面void main(){load();}void load(){background1();choice1();}void background1(){puts(" ");puts(" ");printf(" ********************************************\n");printf(" 欢迎登录学生管理系统 ");puts(" ");printf(" ********************************************\n");printf(" 1.登录 2.注册 \n ");printf(" 请选择:");}void choice1(){int a;scanf("%d",&a);fflush(stdin);switch(a){case 1:denglu();break;case 2:zhuce();break;default:fanhui1();break;}}void fanhui1(){printf(" 输入错误!\n");printf(" 请重新输入!\n");system("cls");load();}void denglu(){struct self s2;char c;int i=0;int j=0;printf("请输入用户名:\n");scanf("%s",s2.a);fflush(stdin);puts(" ");printf("请输入密码:");c=getch();while(c!=13){printf("*");s2.b[i]=c;i++;while((c=getch())==8){if(i==0)continue;putchar('\b');putchar(' ');putchar('\b');s2.b[--i]=0;}}s2.b[i]=0;s2.flg=1;puts(" ");puts(s2.b);for(i=0;i<100;i++){if(!strcmp(s[i].a,s2.a)&&!strcmp(s[i].b,s2.b)){printf("成功!");system("cls");printf("\n\n\n\n\n\n\n\n\n\t\t\t欢迎进入学生管理系统\n\n\n");Sleep(2000);system("cls");mulu();}else{j++;}}if(j==100){fanhui1();}}void zhuce(){struct self s3;char c,d;int i,j;i=0;printf("请输入帐号:");gets(s3.a);puts(s3.a);printf("请输入密码:");c=getch();while(c!=13){printf("*");s3.b[i]=c;i++;while((c=getch())==8){if(i==0)continue;putchar('\b');putchar(' ');putchar('\b');s3.b[--i]=0;}}s3.b[i]=0;s3.flg=1;printf("确定'y' 取消'n'");scanf("%c",&d);fflush(stdin);if(d=='y'||d=='Y'){j=chazhao();s[j]=s3;printf("注册成功!");shuchu();system("cls");fanhui1();}else{fanhui1();}}int chazhao(){int a,i;for(i=0;i<100;i++){if(s[i].flg==0){a=i;break;}}return i;}//目录界面void mulu(){background();choice();}void background(){printf("*****************************************\n");printf("/////////////////////^_^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \n");printf("******************************************\n");puts(" ");printf("欢迎进入学生成绩管理系统");puts(" ");printf("****************************************\n");printf(" 请输入业务:\n");puts(" ");printf("1. 查看所有记录显示\n");printf("2. 添加学生成绩\n");printf("3. 修改学生成绩\n");printf("4. 删除学生成绩\n");printf("5. 清空记录\n");printf("6. 按要求查询学生成绩\n");printf("7. 按要求排序\n");printf("8. 按要求统计成绩\n");printf("9. 退出\n");printf("请选择:");}void choice(){int a;scanf("%d",&a);fflush(stdin);printf("%d\n",a);switch(a){case 1: output();break;case 2: add();break;case 3: xiugai();break;case 4: shanchu();break;case 5:del();break;case 6: chaxun();break;case 7: paixu();break;case 8: tongji();break;case 9:finish();break;default:system("cls");mulu();break;}}void add(){system("cls");int i;char c,a;shuchu();printf("1 输入 2 返回主界面\n");scanf("%d",&a);fflush(stdin);if(a==1){for(i=0;i<5;i++){if(stu[i].a==0)break;}printf("请输入学号:");scanf("%s",stu[i].num);fflush(stdin);printf("\n请输入姓名:");scanf("%s",stu[i].name);fflush(stdin);printf("\n请输入语文成绩:");scanf("%f",&stu[i].chinese);fflush(stdin);printf("\n请输入英语成绩:");scanf("%f",&stu[i].english);fflush(stdin);printf("\n请输入数学成绩:");scanf("%f",&stu[i].math);fflush(stdin);stu[i].a=1;stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;shuchu();printf("y返回主界面");scanf("%c",&c);if(c=='Y'||c=='y'){system("cls");mulu();}else{add();}}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");system("cls");add();}}void xiugai(){char a;system("cls");shuchu();printf("1 修改 2 返回主界面");scanf("%d",&a);fflush(stdin);if(a==1){char b[10];char c;int i;int j=0;printf("请输入需要修改的人的姓名或者学号:");gets(b);fflush(stdin);puts(" ");puts(b);for(i=0;i<5;i++){if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b)){printf("\n请输入需要修改的学号:");scanf("%s",stu[i].num);fflush(stdin);printf("\n请输入需要修改的姓名:");scanf("%s",stu[i].name);fflush(stdin);printf("\n请输入需要修改的语文成绩:");scanf("%f",&stu[i].chinese);fflush(stdin);printf("\n请输入需要修改的英语成绩:");scanf("%f",&stu[i].english);fflush(stdin);printf("\n请输入需要修改的数学成绩成绩:");scanf("%f",&stu[i].math);fflush(stdin);stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;break;}else{j++;}}if(j==5){printf("输入错误,请重新输入!");system("cls");xiugai();}system("cls");shuchu();printf("y返回主界面");scanf("%c",&c);if(c=='Y'||c=='y'){system("cls");mulu();}else{xiugai();}}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");system("cls");xiugai();}}void shanchu(){char a;int j=0;char c;system("cls");shuchu();printf("1 删除 2返回主界面:");scanf("%d",&a);fflush(stdin);if(a==1){int i;char b[10];printf("请输入需要删除的人的学号或者姓名:");gets(b);fflush(stdin);for(i=0;i<5;i++){if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b)){stu[i].a=0;printf("删除成功!");break;}else{j++;}}if(j==5){printf("输入错误,请重新输入!");shanchu();}printf("是否返回主界面:(y是)");scanf("%c",&c);if(c=='y'||c=='Y'){system("cls");mulu();}else{shanchu();}}else if(a==2){system("cls");mulu();}else{shanchu();}}void del(){char a;system("cls");shuchu();printf("1 清空 2 返回主界面");scanf("%d",&a);fflush(stdin);if(a==1){char c;printf("确定(y确定)");scanf("%c",&c);fflush(stdin);if(a=='Y'||a=='y'){int i;for(i=0;i<5;i++){stu[i].a=0;}system("cls");del();}else{del();}}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");del();}}void chaxun(){char a;int j=0;system("cls");printf("1 查询 2 返回主界面");printf("请选择;");scanf("%d",&a);fflush(stdin);if(a==1){char b[10];char c;int i;printf("请输入需要查询的人的学号或者姓名:");gets(b);for(i=0;i<5;i++){if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b)){printf("\n学号:%-6s",stu[i].num);printf("\n姓名:%-6s",stu[i].name);printf("\n语文成绩:%-6.2f",stu[i].chinese);printf("\n英语成绩:%-6.2f",stu[i].english);printf("\n数学成绩:%-6.2f",stu[i].math);printf("\n总成绩:%-6.2f",stu[i].sum);break;}else{j++;}}if(j==5){printf("输入错误,请重新输入!");chaxun();}printf("是否返回主页面:(y是)");scanf("%c",&c);fflush(stdin);if(c=='y'||c=='Y'){system("cls");mulu();}else{printf("继续查找!");chaxun();}}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");chaxun();}}void paixu(){char a;char c;system("cls");shuchu();printf("1 排序 2返回主界面");scanf("%d",&a);fflush(stdin);if(a==1){int i,j;int aa;struct student s;printf("1 降序排列 2 升序排列");printf("请选择:");scanf("%d",&aa);fflush(stdin);for(i=0;i<5;i++){for(j=0;j<4;j++){if(aa==1){if(strcmp(stu[j].num,stu[j+1].num)<0){s=stu[j];stu[j]=stu[j+1];stu[j+1]=s;}}if(aa==2){if(strcmp(stu[j].num,stu[j+1].num)>0){s=stu[j];stu[j]=stu[j+1];stu[j+1]=s;}}}}if(aa!=1&&aa!=2){printf("输入错误,请重新输入!");system("cls");paixu();}shuchu();printf("是否返回主界面:(y是)");scanf("%c",&c);fflush(stdin);if(c=='Y'||c=='y'){system("cls");mulu();}else{printf("继续!");paixu();}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");paixu();}}void tongji(){system("cls");char a;printf("1 统计 2 返回主界面");scanf("%d",&a);fflush(stdin);if(a==1){char c;printf("请输入统计条件:\n");printf(" 1.参加考试的学生人数\n");printf(" 2.语文最高分\n");printf(" 3语文及格的人数\n");printf(" 4.语文及格率\n");printf(" 5.英语最高分\n");printf(" 6.英语及格的人数\n");printf(" 7.英语及格率\n");printf(" 8.数学最高分\n");printf(" 9.数学及格人数\n");printf(" 10.数学及格率\n");printf(" 11.总成绩最高\n");printf("请选择:");scanf("%d",&c);fflush(stdin);if(c==1){int j;j=zongren();printf("参加考试的人数是:%d",j);back();else if(c==2){float a;a=chinese();printf("语文最高分为:%.2f",a);back();}else if(c==3){int a;a=chr();printf("语文及格的人数为:%d",a);back();}else if(c==4){int a,b;a=zongren();b=chr();printf("语文的及格率为:%d",b/a);back();}else if(c==5){float a;a=english();printf("英语的最高分为%.2f:",a);back();}else if(c==6){int a;a=enr();printf("英语及格的人数为:%d",a);back();}else if(c==7){int a,b;a=zongren();b=enr();printf("英语的及格率为:%.2f",b/a);back();else if(c==8){float a;a=math();printf("数学的最高分为%.2f:",a);back();}else if(c==9){int a;a=mar();printf("数学及格的人数为:%d",a);back();}else if(c==10){int a,b;a=zongren();b=enr();printf("数学的及格率为:%.2f",b/a);back();}else if(c==11){float a;a=zongmax();printf("总分最高为:.2f",a);back();}else{printf("输入错误,请重新输入!");system("cls");tongji();}}else if(a==2){system("cls");mulu();}else{printf("输入错误,请重新输入!");tongji();}}int zongren(){int i,a=0;for(i=0;i<5;i++){if(stu[i].a==1){a++;}}return a;}float chinese(){float max;int i;max=stu[0].chinese;for(i=0;i<5;i++){if(stu[i].a==1){if(max<stu[i].chinese){max=stu[i].chinese;}}}return max;}float english(){float max;int i;max=stu[0].english;for(i=0;i<5;i++){if(stu[i].a==1){if(max<stu[i].english){max=stu[i].english;}}}return max;}float math(){float max;int i;max=stu[0].math;for(i=0;i<5;i++){if(stu[i].a==1){if(max<stu[i].math){max=stu[i].math;}}}return max;}float zongmax(){float max;int i;for(i=0;i<5;i++){if(stu[i].a==1){if(max<stu[i].sum){max=stu[i].sum;}}}return max;}int chr(){int i,a=0;for(i=0;i<5;i++){if(stu[i].a==1){if(stu[i].chinese>=60){a++;}}}return a;}int enr(){int i,a=0;for(i=0;i<5;i++){if(stu[i].a==1){if(stu[i].english>=60){a++;}}}return a;}int mar(){int i,a=0;for(i=0;i<5;i++){if(stu[i].a==1){if(stu[i].math>=60){a++;}}}return a;}/*void fanhui2(){char c;printf("是否返回主界面:");scanf("%c",&c);if(c=='Y'||c=='y'){}}*/void shuchu(){int i;printf("学号 ");printf(" 姓名 ");printf(" 语文 ");printf(" 英语 ");printf(" 数学 ");printf(" 总分 ");puts(" ");for(i=0;i<5;i++){if(stu[i].a==1){printf("%-6s",stu[i].num);printf("%-6s",stu[i].name);printf("%-6.2f",stu[i].chinese);printf("%-6.2f",stu[i].english);printf("%-6.2f",stu[i].math);printf("%-6.2f",stu[i].sum);puts(" ");}}}void output(){char c='a';system("cls");shuchu();printf("是否返回主界面:(y是)");scanf("%c",&c);if(c=='y'||c=='Y'){system("cls");mulu();}else{printf("输入错误,请重新输入!");output();}}void back(){char d;printf("\n返回任意系统:任意键返回主界面:y键");printf("请选择:");scanf("%c",&d);fflush(stdin);if(d=='Y'||d=='y'){system("cls");mulu();}else{printf("继续");tongji();}}void finish(){exit(0);}。

相关文档
最新文档