c语言教务管理系统
(完整word版)教务管理系统C语言代码
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复制代码#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语言的语法和结构,以便理解和实现学生信息的管理。
其次,关于系统的功能,可以从学生信息管理、任课管理、教学管理、学术科研、职位设置、绩效考核等方面进行完善。
针对关键管理系统,为了实现系统的可靠性和安全性,将采用多种数据库技术,包括SQL Server、Oracle、MySQL等数据库技术,以及主流计算机语言C++、Java等,实现数据库的操作、学生信息管理系统的开发、学习管理系统的开发等技术需求。
此外,本报告还将对相关技术以及软件测试等内容进行分析,以保证学生信息管理系统的可靠性和稳定性。
本报告的完成,必须充分考虑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语言教务管理系统一、程序结构图二、程序运行截图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语言)
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语言
学生选课管理系统简介学生选课管理系统是一种用于学生选课和管理课程的系统。
通过该系统,学生可以方便地选取自己感兴趣的课程,并进行课程的管理和查询,同时教务部门可以通过系统进行课程的发布、修改和管理。
功能需求学生选课管理系统需要具备以下功能:1.学生注册和登录功能:学生需要先注册账号,然后通过账号登录系统。
2.学生选课功能:学生通过系统浏览可选的课程列表,并选择自己感兴趣的课程进行选课。
3.课程查询功能:学生可以查询已选和未选课程的详细信息,包括课程名称、授课教师、上课时间等。
4.课程管理功能:教务部门可以通过系统添加、修改和删除课程信息,包括课程名称、授课教师、上课时间等。
5.学生管理功能:教务部门可以通过系统管理学生信息,包括学生姓名、学号、选课情况等。
6.成绩管理功能:教务部门可以通过系统录入学生的成绩,并提供学生成绩查询功能。
7.课程评价功能:学生可以对已修完的课程进行评价,包括评分和评论。
8.学分统计功能:系统可以根据学生的选课情况自动计算学分和学分绩点,并提供查询功能。
技术实现为了实现学生选课管理系统,可以使用C语言进行开发。
以下是一些技术实现的建议:1.数据存储:可以使用文件系统来存储学生、课程和成绩等信息。
可以使用文本文件或二进制文件存储数据,通过文件操作函数进行读写。
2.用户界面:可以使用命令行界面或图形界面来实现用户的交互。
使用C语言的终端输出函数可以实现简单的命令行界面,使用图形界面库可以实现更复杂的图形界面。
3.数据结构:可以使用结构体来表示学生、课程和成绩等信息,通过数组或链表等数据结构进行管理。
4.用户认证:可以使用用户名和密码进行用户的身份验证。
可以将用户信息保存在文件中,通过比对输入的用户名和密码来验证用户身份。
5.查询和排序:可以使用各种算法来实现课程查询和排序功能。
例如,可以使用线性搜索来查询课程信息,使用冒泡排序或快速排序来对课程进行排序。
系统流程以下是学生选课管理系统的基本流程:1.学生注册和登录:学生在系统中注册账号,并通过账号登录系统。
学生管理系统c语言源代码
学生管理系统c语言源代码学生管理系统c语言源代码#include stdio.h#include dos.h#include string.h#include stdlib.h#include malloc.h#define SIZE 8struct student{char name;char num;int score;float ave;struct student *next;}stu[SIZE],temp,s;void shuru(){int i,j,sum,length,flag=1,a;FILE *fp;while(flag==1){printf(“Define a rangeclass number:");scanf("%d",printf("Input the total number of the class(a):"); scanf("%d",length);if(lengtha)flag=0;}for(i=0;ilength;i++){printf("\n请输入学生的信息:");printf("\n输入姓名:");scanf("%s",stu[i].name);printf("\n输入序号.:");scanf("%s",stu[i].num);printf("\n输入成绩:\n");sum=0;for(j=0;jj++){printf("score %d:",j+1);scanf("%d",stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/3.0;}学生管理系统c语言源代码fp=fopen("stu1.txt","w");for(i=0;ilength;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1)printf("File write error\n");fclose(fp);fp=fopen("stu1.txt","r");printf("\name\ NO. score1 score2 score3 sum ave\n");for(i=0;ilength;i++){fread(stu[i],sizeof(struct student),1,fp);printf("%3s%5s%7d%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i ].score,stu[i].score,stu[i].score,sum=stu[i].score+stu[i].score+stu[i].score,stu[i].ave);}}void chaxun(){ FILE *fp, *fp1;char n,name;int i,j,k,t,m,flag=1;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:\n");k=i;printf("\nPlease select the menu(1.number ):"); scanf("%d",switch(m){case 1:printf("\nchaxun number:");scanf("%s",n);for(flag=1,i=0;ii++){if(strcmp(n,stu[i].num)==0){j=i;flag=0;break;}}break;case 2:printf("\nchaxun name:");scanf("%s",name);for(flag=1,i=0;ii++){if(strcmp(name,stu[i].name)==0){j=i;flag=0;break;学生管理系统c语言源代码}}}if(!flag){printf("\nYou can find:\n");fp1=fopen("stu2.txt","w");printf(" name NO. score1 score2 score3ave\n");fwrite(stu[j],sizeof(struct student),1,fp1);printf("%-15s%11s%7d%7d%7d%10.2f",stu[j].name,stu[j].num,stu[j].score,stu[j].score,stu[j].score,stu[j].ave);}else printf("\nNot found!");fclose(fp);fclose(fp1);}xiugai(){ int a;printf("\nplease select the menu(1.CHARU 2.__ ):");scanf("%d",switch(a){case 1:Insert(); break;case 2:Delete(); break;}}Insert(){ FILE *fp;int i,j,t,n;printf("\nNO.:");scanf("%s",s.num);printf("name:");scanf("%s",);printf("score1,score2,score3:");scanf("%d,%d,%d",s.score,s.score,s.score);s.ave=(s.score+s.score+s.score)/3.0;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:\n");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)学生管理系统c语言源代码printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;for(t=0;stu[t].aves.avett++);printf("\nnow:\n");fp=fopen("stu1.txt","w");for(i=0;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fwrite(s,sizeof(struct student),1,fp);printf("\n%-15s%11s%7d%7d%7d%10.2f",,s.num,s.score,s.score, s.score,s.ave);for(i=t;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);}Delete(){ FILE *fp;int i,j,t,n,flag;char number;if((fp=fopen("stu1.txt","rb"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;学生管理系统c语言源代码printf("\nInput number deleted:");scanf("%s",number);for(flag=1,i=0;flagii++){if(strcmp(number,stu[i].num)==0){for(t=i;tt++){strcpy(stu[t].num,stu[t+1].num);strcpy(stu[t].name,stu[t+1].name);for(j=0;jj++)stu[t].score[j]=stu[t+1].score[j];stu[t].ave=stu[t+1].ave;}n=n-1;elseprintf("\n Not found!");printf("\nNow,the content of file:\n");fp=fopen("stu1.txt","wb");for(i=0;ii++)fwrite(stu[i],sizeof(struct student),1,fp);fclose(fp);fp=fopen("stu1.txt","r");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++)printf("%-15s%11s%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i].score, stu[i].score,stu[i].score,stu[i].ave);fclose(fp);}paixu(){FILE *fp;int i,j,n;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\nfile'stu1.txt':");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;for(i=0;ii++)for(j=i+1;jj++)学生管理系统c语言源代码if(stu[i].avestu[j].ave){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}printf("\nnow:");fp=fopen("stu1.txt","w");for(i=0;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);tongji(){ FILE *fp;int i,j,k,labe1,b;int a5=0;int a6=0;int a7=0;int a8=0;int a9=0; int a10=0; float t;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\nfile'stu1.txt':");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++){printf("\n%-15s%11s",stu[i].name,stu[i].num); for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);k=i;for(i=0;ii++){labe1=0;if(stu[i].ave60){labe1++;t=labe1/(float)k*100;}}printf("\nbujigelv:");printf("%f%",t);printf("\n");for(j=0;jj++){a5=0;a6=0;a7=0;a8=0;a9=0;a10=0;k=i;printf("kemu is %d:\n",j);for(i=0;ii++)学生管理系统c语言源代码{b=stu[i].score[j]/10;if(b6)a5++;elseif(b=6b7)a6++;elseif(b=7b8)a7++;elseif(b=8b9)a8++;if(b=9b10)a9++;elseif(b==10)a10++;}printf(" 不及格is %d\n",a5);printf(" 60--69 is %d\n",a6);printf(" 70--79 is %d\n",a7);printf(" 80--89 is %d\n",a8);printf(" 90--99 is %d\n",a9);printf(" 100 is %d\n",a10);}}main(){int a;printf(" ____\n"); printf(" 欢迎进入学生成绩管理系统\n");printf(" ____\n"); while(1){printf("\n选择菜单:\n");printf("\n");printf(" 1.输入 2.查询 3.排序 4.修改 5.统计 6.退出\n"); scanf("%d",switch(a){case 1: shuru();break;case 2: chaxun(); break;case 3: paixu(); break;case 4: xiugai(); break;学生管理系统c语言源代码case 5: tongji();break; case 6: exit(0); }。
学生管理系统 C语言代码
#include"stdio.h"#include"stdlib.h"#include"string.h"struct stu_info1{char num[13];//学号char name[10];//姓名char sex[5];//性别char cls[20];//班级}stu1[6];struct stu_info2{char counum[6];//课程号char counam[20];//课程名称int credit;//学分}stu2[6];struct stu_info3{char num[13];//学号char counum[6];//课程号float results;//分数}stu3[12];struct stu_info4{char num[13];//学号char counum[6];//课程号float results;//分数}stu4[12];int n=11;void main(){void gengxin();void input1();void input2();void input3();void output();void xianshi();void chaxun();void printf1();void printf2();input1();input2();output();int i;loop: ;printf("*************欢迎使用分数查询系统*************\n");printf("** 请选择**\n");printf("** 1.录入2.删除无用信息(管理员功能) **\n");printf("** 3.显示4.查询(学生功能) **\n");printf("** 5.显示学生信息6.显示课程信息**\n");printf("** 7.退出**\n");printf("**********************************************\n");scanf("%d",&i);switch(i){case 1: input3();break;case 2:gengxin();break;case 3:xianshi();goto loop;case 4: chaxun();goto loop;case 5: printf1();goto loop;case 6: printf2();goto loop;case 7:break;default:printf("error");break;}}void input1()//录入结构体stu1[]{int i;FILE *fp;if((fp=fopen("A.txt","r"))==NULL){printf("can not open file\n");exit(0);}/* printf(" 学号姓名性别班级\n");*/for(i=0;i<=5;i++){fscanf(fp,"%s%s%s%s",&stu1[i].num,&stu1[i].name,&stu1[i].sex,&stu1[i].cls);/*printf("%-13s %-10s %-5s %-20s\n",stu1[i].num,stu1[i].name,stu1[i].sex,stu1[i] .cls);*/}fclose(fp);}void input2()//录入结构体stu2[]{int i;FILE *fp;if((fp=fopen("B.txt","r"))==NULL){printf("can not open file\n");exit(0);}for(i=0;i<=5;i++){fscanf(fp,"%s%s%d",&stu2[i].counum,&stu2[i].counam,&stu2[i].credit);}fclose(fp);}void input3()//录入成绩{FILE *fp;fp=fopen("C.txt","w");int a,i,j,k;float cetss;char number[13],cnum[6],mima[10];printf("请输入管理员密码\n");scanf("%s",mima);if(strcmp(mima,"abc111")==0){printf("请输入要录入学生成绩的个数\n");scanf("%d",&a);for(i=1;i<=a;i++){printf("请输入要录入的第%d同学的学号:",i);scanf("%s",number);printf("请输入要录入的第%d同学的课程号:",i);scanf("%s",cnum);for(j=0;j<=5;j++)//学号{if((strcmp(number,stu1[j].num)==0))break;}if(j<=5){for(k=0;k<=5;k++)//课程号{if(strcmp(cnum,stu2[k].counum)==0){printf("请输入要录入同学的成绩:");scanf("%f",&cetss);fprintf(fp,"%s %s %f\n",number,cnum,cetss);break;}}}if(j>5||k>5){printf("Error,please input again");i=i-1;}printf("录入成功\n");}}else{printf("密码错误\n");}}void output()// 录入结构体stu3[]{int i;FILE *fp=fopen("C.txt","r");for(i=0;i<n;i++){fscanf(fp,"%s%s%f",&stu3[i].num,&stu3[i].counum,&stu3[i].results);/*printf("%s%s%f\n",stu3[i].num,stu3[i].counum,stu3[i].results);*/ }fclose(fp);}void xianshi()// 显示成绩{int i,j;for(i=0;i<n;i++){for(j=0;j<6;j++){if((strcmp(stu3[i].num,stu1[j].num))==0)printf("%s\t",stu1[j].name);}for(j=0;j<6;j++){if(strcmp(stu3[i].counum,stu2[j].counum)==0)printf("%s\t",stu2[j].counam);}printf("%3.1f\n",stu3[i].results);}}void chaxun()//查询功能{char number[13],c;int i,j,k,a,b,d;while((c=getchar())!='Q'){a=0,b=0;//a记录学分b记录学科printf("请输入要查询同学的学号\n");scanf("%s",number);for(i=0;i<n;i++){if(strcmp(number,stu3[i].num)==0){printf("学号:%s\t",stu3[i].num);for(j=0;j<6;j++){if(strcmp(stu3[i].num,stu1[j].num)==0){printf("姓名:%s\n",stu1[j].name);}}break;}}d=i;for(i=0;i<n;i++)if(strcmp(number,stu3[i].num)==0){b=b+1;for(j=0;j<6;j++){if(strcmp(stu3[i].num,stu1[j].num)==0){for(k=0;k<6;k++){if(strcmp(stu3[i].counum,stu2[k].counum)==0)break;}break;}}if(stu3[i].results>=60){a=a+stu2[k].credit;printf("课程号:%s\t课程名称:%s\t成绩:%3.1f\t实得学分:%d\n",stu3[i].counum,stu2[k].counam,stu3[i].results,stu2[k].credit);}elseprintf("课程号:%s\t课程名称:%s\t成绩:%3.1f\t实得学分:%d\n",stu3[i].counum,stu2[k].counam,stu3[i].results,0);}if(d<n){printf("共修%d科\t\t实得总学分:%d\n",b,a);}else{printf("学号输入错误\n");}getchar();printf("退出请按Q+回车,继续查询请按回车键");}}void gengxin()//更新信息,删除C.txt中无用信息{FILE *fp;int i,j,k;char mima[10];printf("请输入管理员密码\n");scanf("%s",mima);if(strcmp(mima,"abc111")==0){fp=fopen("C.txt","w");for(i=0;i<n;i++){for(j=0;j<6;j++)if(strcmp(stu3[i].num,stu1[j].num)==0){for(k=0;k<=5;k++)if(strcmp(stu3[i].counum,stu2[k].counum)==0)break;if(k<=5){fprintf(fp,"%s %s %f\n",stu3[i].num,stu3[i].counum,stu3[i].results);}}}printf("更新C.txt成功\n");fclose(fp);}else{printf("密码错误\n");}}void printf1()//显示学生信息{int i;printf(" 学号姓名性别班级\n");for(i=0;i<=5;i++){printf("%-13s%-10s%-5s %-20s\n\n",stu1[i].num,stu1[i].name,stu1[i].sex,stu1[i].cls);}}void printf2()//显示课程信息{int i;printf(" 课程编号课程名称学分\n");for(i=0;i<=5;i++){printf("%-6s%-20s %-4d\n\n",stu2[i].counum,stu2[i].counam,stu2[i].credit);}}。
C语言课设之学生学籍管理系统
C语言课设之学生学籍管理系统学生学籍管理系统是一个用于管理学生学籍信息的软件系统。
它主要用于管理学生的基本信息、课程信息、成绩信息以及其他相关信息。
学生学籍管理系统是对学生学籍信息进行综合管理和统计分析的重要工具。
它能够为学院、学校、教师、学生和家长提供便利,实现信息共享,促进教学管理工作的科学化和信息化。
一、需求分析学生学籍管理系统的需求分析主要包括以下几个方面:1.系统功能需求(1)学生基本信息管理:包括学生的基本资料、考籍信息、入学时间、家庭信息等。
(2)课程信息管理:包括课程名称、授课教师、上课时间和地点等。
(3)成绩管理:包括期中成绩、期末成绩和平时成绩等。
(4)教师管理:包括教师的基本资料、授课信息、联系方式等。
(5)系统管理:包括用户权限管理、数据备份、数据恢复等。
(1)系统应该稳定可靠,能够正常运行,并保证数据的准确性和完整性。
(2)系统应该具备良好的响应速度,确保用户的使用顺畅。
(3)系统应该具备较高的安全性,能够保护用户的隐私信息。
3.用户需求(1)方便快捷地查询学生的学籍信息,并能够修改、添加、删除学生信息。
(2)能够快速查询课程信息和成绩信息。
(3)提供数据报表和统计分析功能,以便教师、学生和家长进行综合分析和评估。
二、系统设计1.学生信息管理模块该模块用于管理学生的基本信息、课程信息、成绩信息以及其他相关信息。
包括学生的姓名、学号、性别、年龄、所选课程、考试成绩等信息。
该模块用于管理课程信息,包括课程名称、授课教师、上课时间和地点等信息。
该模块还可以通过查询功能,快速查询某一课程的授课教师及上课时间等信息。
3.成绩管理模块该模块用于管理学生的成绩信息。
包括期中成绩、期末成绩和平时成绩等信息。
通过该模块,教师可以快速查询学生的成绩信息,同时还可以将成绩信息导出成绩报表。
该模块用于管理系统的用户权限、数据备份和恢复等管理工作。
管理员可以通过该模块对用户进行管理,对数据进行备份和恢复工作,确保系统安全可靠。
c语言课程设计教务管理系统
c语言课程设计教务管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,能够运用C语言设计和实现简单的教务管理系统。
具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据结构、算法和编程思想,了解教务管理系统的原理和实现方法。
2.技能目标:学生能够运用C语言进行编程,设计和实现一个简单的教务管理系统。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生的问题解决能力和创新意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想,以及教务管理系统的原理和实现方法。
具体安排如下:1.C语言的基本语法:包括变量、数据类型、运算符、表达式、控制语句等。
2.数据结构:包括数组、链表、栈、队列等。
3.算法:包括排序算法、查找算法等。
4.编程思想:包括结构化编程、面向对象编程等。
5.教务管理系统的原理和实现方法:包括学生信息管理、课程信息管理、成绩管理等。
三、教学方法本课程的教学方法主要包括讲授法、讨论法、案例分析法和实验法。
具体安排如下:1.讲授法:用于讲解C语言的基本语法、数据结构、算法和编程思想。
2.讨论法:用于讨论教务管理系统的原理和实现方法。
3.案例分析法:通过分析典型的教务管理系统案例,让学生了解和掌握教务管理系统的实现方法。
4.实验法:让学生动手实践,设计和实现一个简单的教务管理系统。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体安排如下:1.教材:选用《C程序设计语言》作为主要教材,辅助以《C语言编程实例解析》等参考书。
2.多媒体资料:包括PPT课件、教学视频等。
3.实验设备:包括计算机、网络设备等,用于实验和实践教学。
五、教学评估本课程的评估方式包括平时表现、作业和考试。
具体安排如下:1.平时表现:通过课堂参与、提问、讨论等环节评估学生的学习态度和积极性。
2.作业:布置适量的作业,评估学生的理解和应用能力。
C语言程序设计——教室管理系统(源代码))
C语言程序设计——教室管理系统(源代码))C语言程序设计——教室管理系统(源代码)非常有用的。
#include#include#include#define szSTR 64#define fileDB "c:\\contact.txt"struct CONTACT {char num[szSTR];/*教室编号*/char site[szSTR];/*教室位置*/char snum[szSTR];/*座位数*/char tv[szSTR];/*有无多媒体*/char use[szSTR];/*是否可用*/};typedef struct CONTACT CON;#define ANUM 1#define ASITE 2#define ASNUM 3#define ATV 4#define AUSE 5#define BFULL 0xFFint OPER[6] = {BFULL, ANUM, ASITE, ASNUM, ATV,AUSE};void input(CON * s, int mask){if(mask & ANUM) { printf("请输入教室编号:"); scanf("%s", s->num); }if(mask & ASITE) { printf("请输入教室位置:"); scanf("%s", s->site); }if(mask & ASNUM) { printf("请输入座位数:"); scanf("%s", s->snum); }if(mask & ATV){printf("请输入是否有多媒体(有/Y*无/N):");scanf("%s",s->tv);}if(mask & AUSE) { printf("请输入是否可用(可/Y*否/N):"); scanf("%s", s->use); } }/*end input*/void show (int id, CON * s){if(!s) return ;if(id)printf("%d\t%s\t\t%s\t%s\t\t%s\t\t%s\n",id, s->num , s->site , s->snum , s->tv,s->use );elseprintf("【编号】%s【教室编号】%s【位置】%s【座位数】%s 【有无多媒体】%s【是否可用】%s\n",s->num , s->site , s->snum , s->tv,s->use );/*end if*/}/*end show*/void regist(void){CON s; FILE * f = 0;input(&s, BFULL);f = fopen(fileDB, "ab");fwrite(&s,sizeof(s),1,f);fclose(f);printf("资料已保存!\n\n\n\n");}/*end regist*/int browse(char * key, fpos_t * p, CON * s){FILE * f =0; int i = 0, r = 0; CON t;char * a = 0, * b = 0; fpos_t q;if(!s) return 0;f = fopen(fileDB, "rb");if(!f) {printf("数据库暂无记录\n\n\n\n");return 0;}/*end if*/printf("编号\t教室编号\t位置\t座位数\t有无多媒体(Y/N)\t是否可用(Y/N)\n");printf("----------------------------------------------------------------------\n");while(!feof(f)) {fgetpos(f, &q);r = fread(&t, sizeof(t), 1, f);if(r<1)break;if(t.num[0]==0) continue;if(key) {a = strstr(t.num , key);b = strstr(t.site , key);if(a == 0 && b == 0) continue;}/*end if*/if(p) *p = q;if(s) memcpy(s, &t, sizeof(t));i++;show(i, &t);}/*end while*/printf("----------------------------------------------------------------------\n\n\n\n\n");return i;}/*end browse*/fpos_t query(CON * s){char key[szSTR]=""; fpos_t p = 0; int r = 0;printf("请输入教室编号或者位置:");scanf("%s", key);r = browse(key, &p, s);return r?p:-1;}/*end query*/void clear(void){FILE * f = 0; CON s;fpos_t p = query(&s);if(p<0) return;f = fopen(fileDB, "rb+");fsetpos(f, &p);memset(&s, 0, sizeof(s));fwrite(&s, sizeof(s),1, f);fclose(f);printf("记录已删除!\n\n\n\n\n");}/*end clear*/void modify(void){FILE * f = 0; CON s; int cmd = 0;fpos_t p = query(&s);if(p<0) return;f = fopen(fileDB, "rb+");fsetpos(f, &p);for(;;) {show(0, &s);printf("请选择:1-编号;2-位置;3-座位数;4-有无多媒体;5-是否可用;6-保存并退出;7-放弃修改并退出\n\n\n\n");scanf("%d", &cmd);switch(cmd) {case 1:case 2:case 3:case 4:input(&s, OPER[cmd]);break;case 6:fsetpos(f, &p);fwrite(&s, sizeof(s), 1, f);case 7:fclose(f);return;default:printf("错误的操作,请重新输入。
C语言 学生信息管理系统(完整版)
电子科技大学成都学院程序综合设计论文论文题目学生信息管理系统学生姓名魏国学号1340840625专业机械设计制造及其自动化系(分院)电子工程系授课教师杜娥2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。
本系统主要对学生各种信息进行处理。
本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。
本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。
学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。
学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。
学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。
关键字:学生信息,管理系统,数据库,C语言编写第一章系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。
c语言课程设计学生成绩管理系统流程图
C语言课程设计学生成绩管理系统流程图本文介绍了一个基于C语言的学生成绩管理系统的流程图设计。
该系统可以帮助学校管理学生的成绩信息,包括录入学生成绩、查询学生信息、统计学生成绩等功能。
1. 系统流程图概览graph LRA[开始] --> B(登录系统)B --> C{登录是否成功}C -- 是 --> D(显示菜单)C -- 否 --> BD --> E[输入操作选项]E --> F{选择操作}F -- 1 --> G(录入学生成绩)F -- 2 --> H(查询学生信息)F -- 3 --> I(统计学生成绩)F -- 4 --> J(显示菜单)F -- 5 --> K(退出系统)G --> L[输入学生信息]L --> M[保存学生成绩]M --> N[继续操作]N --> GH --> O[输入学生学号]O --> P[查询学生信息]P --> NI --> Q[统计学生成绩]Q --> R[显示统计结果]R --> NJ --> DK --> S[结束]2. 系统流程图详解2.1. 开始系统开始运行,进入登录界面。
2.2. 登录系统用户输入登录信息,包括用户名和密码。
2.3. 用户登录验证系统对用户输入的用户名和密码进行验证,包括检查用户名是否存在和密码是否匹配等。
•如果登录验证成功,进入显示菜单页面。
•如果登录验证失败,返回登录系统页面,提示用户重新输入。
2.4. 显示菜单系统显示主功能菜单,供用户选择需要执行的操作。
2.5. 输入操作选项用户根据菜单提示,输入相应的操作选项。
2.6. 选择操作系统根据用户输入的操作选项,执行相应的操作。
•如果用户选择录入学生成绩,进入输入学生信息步骤。
•如果用户选择查询学生信息,进入输入学生学号步骤。
•如果用户选择统计学生成绩,进入统计学生成绩步骤。
用C语言编写的一个学生信息管理系统
用C语言实现线性表的基本操作,能创建一个基于学生信息管理的链表,至少包含数据输入、数据输出、数据处理等操作。
在主函数里能实现以下功能。
运行后出现一个选择提示。
可选择的功能有1)创建新的学生信息链表2)增加一个新的学生信息3)按学号删除某个学生信息4)按学号查找某个学生信息5)可以按照学生成绩对链表排序6)退出系统#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"jiemian();struct student{char name[50];char sex[5];int age;char num[50];float score1;float score2;float score3;float sum;float ave;}stu[50],del;void gn1(){int i=0;char num1;for(i=0;i<50;i++){printf("请输入要添加的学生资料:\n");printf("学号:");scanf("%s",stu[i].num);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",&stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续添加:y/n\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n'){system("cls");jiemian();}}}void gn2(){int i;char num[50];printf("请输入要查找的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(stu[i].num,num)==0){stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);break;}if(i==50)printf("查找不到!请重新输入!\n");getch();system("cls");jiemian();}void gn3(){char num1,i=0;printf("请输入要修改的学生学号:\n");scanf("%s",stu[i].num);printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续修改:y/n?\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n')system("cls");jiemian();}void gn4(){int i;char num[50];printf("请输入要删除的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(num,stu[i].num)==0){printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);stu[i]=del;printf("信息已删除,按任意键返回..\n");break;}if(i==50)printf("您输入的信息不存在!\n");getch();system("cls");jiemian();}void gn5(){int i=0;stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t总成绩\t 平均成绩\n"); for(i=0;i<50;i++){if(stu[i].age==0)break;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);}printf("按任意键返回...");getch();system("cls");jiemian();}void gn6(){FILE *fp;int i;char [50];printf("\n");printf("\n");printf("请输入要保存的文件名:");scanf("%s",);if((fp=fopen(,"wb"))==NULL)printf("文件名为空,不能保存!\n");for(i=0;i<50;i++){if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("文件保存失败!\n");}fclose(fp);printf("文件已保存!\n");printf("按任意键返回...\n");getch();system("cls");jiemian();}void gn7(){FILE *fp;int i=0; //打开文件流char [50];printf("请输入文件名:");scanf("%s",); //输入要载入的文件名if((fp=fopen(,"rb"))==0) //如果当前目录下不存在相对应的文件,输出文件不存在,退出系统。
学生信息管理系统C语言报告
学生信息管理系统C语言报告简介学生信息管理系统是一种可以对学生信息进行管理的软件系统。
通过该系统,可以方便地添加、修改、查询和删除学生信息,提高学生信息管理的效率和准确性。
本报告将介绍学生信息管理系统的设计和实现过程,包括系统功能、技术选型和代码结构等方面。
通过该报告的阅读,读者可以了解到该系统的开发背景和主要功能,以及查看源代码和运行效果。
系统功能学生信息管理系统的主要功能如下:1. 添加学生信息:可以输入学生的姓名、年龄、性别、学号等基本信息,并保存到系统中。
2. 修改学生信息:可以根据学生的学号或姓名,修改学生的基本信息。
3. 查询学生信息:可以根据学生的学号、姓名、年龄、性别等条件,查询学生的基本信息。
4. 删除学生信息:可以根据学生的学号或姓名,将学生的基本信息从系统中删除。
技术选型为了实现学生信息管理系统的需求,我们选择使用C语言进行开发。
C语言是一种高效、可靠的编程语言,有着丰富的开发资源和庞大的用户群体。
在开发过程中,我们采用了以下技术选型:- 编程语言:C语言C语言作为一种结构化的编程语言,具有强大的计算能力和灵活的控制语句,非常适合开发类似学生信息管理系统这样的小规模应用。
代码结构学生信息管理系统的代码结构如下:cinclude <stdio.h>struct Student {char name[50];int age;char gender[10];int student_id;};void add_student(struct Student *students, int *count) {添加学生信息的代码逻辑}void modify_student(struct Student *students, int count) {修改学生信息的代码逻辑}void query_student(struct Student *students, int count) {查询学生信息的代码逻辑}void delete_student(struct Student *students, int *count) {删除学生信息的代码逻辑}int main() {struct Student students[100];int count = 0;主程序逻辑,包括用户界面等}在代码结构中,我们定义了一个`Student`结构体,用于存储学生的基本信息。
C语言学生信息管理系统(完整版)
#define PRINT0 printf("name:%s\nsex:%s\nage:%d\nID_card:%d\naddress:%s\n",st[i].name,st[i].sex,st[i].age,st[i] .ID_card,st[i].addr)#define PRINT1 printf("prefession:%s\nstudent_number:%d\n*****score*****\nwuli:%d\n",st[i].prefession,st[i] .student_number,st[i].score.wuli)#define PRINT2 printf("gaoshu:%d\nyingyu:%d\ntiyu:%d\naverage: %d\n",st[i].score.gaoshu,st[i].score.yingyu,st[i ].score.tiyu,st[i].score.aver)#define print1 printf("________________________________")#define N 2#include "string.h"#include "stdio.h"int sum=0;struct score{int wuli;int gaoshu;int yingyu;int tiyu;int aver;};struct message{ char name[10];int age;char sex[5];int ID_card;char addr[30];char prefession[30];int student_number;struct score score;}st[100];/*************write message*************/write_message(){ int flag;char chioce;do{system("cls");flag=2; sum++;printf("_______________________________");printf("please input student's message:\n");printf("\n");print1;printf("%dth student message:",sum);print1;printf("\nname:");scanf("%s",st[sum].name);printf("\nsex:");scanf("%s",st[sum].sex);printf("\nage:");scanf("%d",&st[sum].age);printf("\nID_card:");scanf("%d",&st[sum].ID_card);printf("\naddress:");scanf("%s",st[sum].addr);printf("\nprefession:");scanf("%s",st[sum].prefession);printf("\nschool number:");scanf("%d",&st[sum].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[sum].score.wuli);printf("\ngaoshu:");scanf("%d",&st[sum].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[sum].score.yingyu);printf("\ntiyu:");scanf("%d",&st[sum].score.tiyu);printf("\naverage:");scanf("%d",&st[sum].score.aver);do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*************save message****************/save_message(){ FILE *fp;int i;if((fp=fopen("student.txt","wb"))==NULL){printf("read error \n");printf("press any key back to menu\n");getch();exit(1);}for(i=0;i<sum;i++)if(fwrite(&st[i],sizeof(struct message),1,fp)!=1){printf("write error\n");fclose(fp);}fclose(fp);printf("\n********___OK!___**********\n___press any key back___");sum=i;bioskey(0);}/***************add message*****************/add_message(){int i,j,flag; char chioce;i=0;j=sum-1;flag=0;do{ system("cls");i++; j++;print1;printf("add %dth student's meaasge\n",i);print1;printf("\nname:");scanf("%s",st[j].name);printf("\nsex:");scanf("%s",st[j].sex);printf("\nage:");scanf("%d",&st[j].age);printf("\nID_card:");scanf("%d",&st[j].ID_card);printf("\naddress:");scanf("%s",st[j].addr);printf("\nprefession:");scanf("%s",st[j].prefession);printf("\nstudent_number:");scanf("%d",&st[j].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[j].score.wuli);printf("\ngaoshu:");scanf("%d",&st[j].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[j].score.yingyu);printf("\ntiyu:");scanf("%d",&st[j].score.tiyu);printf("\naverage:");scanf("%d",&st[j].score.aver);printf("\n\nweather add %dth student's message: \n",i+1);do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;}while(1);}while(flag==1);sum=j+1;save_message();}/**********inqiure message******/inqiure_message(){int chioce;do{system("cls");printf("**********choose 0-3**********\n\n\n");printf(" 1:name inquire\n\n\n");printf(" 2:IDcard inqiure\n\n\n");printf(" 3:student_number\n \n\n");printf(" 0:back menu\n\n\n");scanf("%d",&chioce);switch(chioce){case 1: name_inqiure();break;case 2: ID_card_inqiure();break;case 3: grade_inqiure();break;case 0:break;}}while(chioce!=0);}/**********name inqiure*********/name_inqiure(){char NAME[30];int i; int flag,k;char chioce;do{ system("cls");k=0;printf("please input the message you inqiure");printf("\nname:");scanf("%s",NAME);getchar();printf("\n");for(i=0;i<sum;i++){if(strcmp(st[i].name,NAME)==0){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/**********IDcard inqiure*********/ID_card_inqiure(){int card;int i; int flag,k;char chioce;do{ clrscr(); k=0;printf("please input the message you inqiure");printf("\nIDcard:");scanf("%d",&card);getchar();printf("\n");for(i=0;i<sum;i++){if(st[i].ID_card==card){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/*********grade inqiure***********/grade_inqiure(){int GRADE;int i; int flag,k;char chioce;do{ system("cls");k=0;printf("please input the message you inqiure");printf("\nstudent_number:");scanf("%d",&GRADE);getchar();printf("\n");for(i=0;i<sum;i++){if(st[i].student_number==GRADE){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/*********change message**********/change_message(){char pre[30],chioce;int i,gra,flag,num,s;s=0;do{system("cls");printf("please input message you want to change\n ");printf("student_number:");scanf("%d",&gra); getchar();for(i=0;i<sum;i++){if(st[i].student_number==gra){PRINT0;PRINT1;PRINT2;printf("\n********input message you want to change********\n");printf("0:name***1:sex***2:age***3:ID_card***4:address***\n5:prefession***6:wuli***7:stud ent_number***8\n:gaoshu***9:yingyu***10:tiyu***11:average***________\n");printf("choose 0-11\n");scanf("%d",&num); getchar();switch(num){case 0: printf("input the name changed\n");scanf("%s",st[i].name); getchar(); break;case 1: printf("input the sex changed\n");scanf("%s",st[i].sex); getchar(); break;case 2: printf("input the age changed\n");scanf("%d",&st[i].age); getchar(); break;case 3: printf("input the ID_card changed\n");scanf("%d",&st[i].ID_card); getchar(); break;case 4: printf("input the address changed\n");scanf("%s",st[i].addr); getchar(); break;case 5: printf("input the prefession changed\n");scanf("%s",st[i].prefession); getchar(); break;case 6: printf("input the wuli_score changed\n");scanf("%d",&st[i].score.wuli); getchar(); break;case7: printf("input the student_number changed\n");scanf("%d",&st[i].student_number); getchar(); break;case 8: printf("input the gaoshu_score changed\n");scanf("%d",&st[i].score.gaoshu); getchar(); break;case 9: printf("input the yingyu_score changed\n");scanf("%d",&st[i].score.yingyu); getchar(); break;case 10: printf("input the tiyu_score changed\n");scanf("%d",&st[i].score.tiyu); getchar(); break;case 11: printf("input the average_score changed\n");scanf("%d",&st[i].score.aver); getchar(); break;default: printf("input error\n"); break;}printf("\n*********the changed message*********\n\n");PRINT0;PRINT1;PRINT2;s=1;}}if(s!=1) printf("without message you want to change\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*********delete message**********/delete_message(){ int GRADE;int i,j,flag1,flag;char chioce1,chioce2;flag1=3;flag=3;do{ system("cls");printf("please input student's student_number you want to delete\n");printf("student_number:");scanf("%d",&GRADE); getchar();for(i=0;i<sum;i++)if(st[i].student_number==GRADE){do{PRINT0;PRINT1;PRINT2;printf("\n******************************\n_________________ _________________\n");printf("press y/Y deleted:\npress n/N cancel:\n");scanf("%c",&chioce1);getchar();system("cls");if(chioce1=='y'||chioce1=='Y') flag1=1;else if(chioce1=='n'||chioce1=='N') return;else {printf("***input error***\n___press any ker return___\n"); bioskey(0);}}while(flag1!=1);for(j=i;j<sum;j++){ st[j]=st[j+1];flag=2;printf("message was deleted\n");sum-=1; }}if(flag!=2) printf("without message you want to delete\n");do{printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce2);printf("****************************\n");if(chioce2=='y'||chioce2=='Y') {flag=1; break;}else if(chioce2=='n'||chioce2=='N') {flag=0; break;}else {system("cls");printf("input error\n");}print1;printf("\n");}while(1);}while(flag==1);save_message();}/************insert message*************/insert_message(){ int chioce,flag,i; flag=2;do{system("cls");printf("please input the number of people you insert\n");scanf("%d",&chioce);if(chioce>=sum){printf("xin xi pai zai zui hou ");chioce=sum;}for(i=sum;i>chioce;i--) st[i]=st[i-1];printf("\nplease input message you insert");printf("\nname:");scanf("%s",st[i].name);printf("\nsex:");scanf("%s",st[i].sex);printf("\nage:");scanf("%d",&st[i].age);printf("\nID_card:");scanf("%d",&st[i].ID_card);printf("\naddress:");scanf("%s",st[i].addr);printf("\nprefession:");scanf("%s",st[i].prefession);printf("\ngrade:");scanf("%d",&st[i].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[i].score.wuli);printf("\ngaoshu:");scanf("%d",&st[i].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[i].score.yingyu);printf("\ntiyu:");scanf("%d",&st[i].score.tiyu);printf("\naverage:");scanf("%d",&st[i].score.aver);sum+=1;do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*********school_number_order***********/grade_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].student_number>st[j].student_number){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("grade order from min to max\n");for(i=0;i<sum;i++){ print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);bioskey(0);}/***********wuli score order***************/wuli_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.wuli>st[j].score.wuli){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("wuli score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********gaoshu score order***************/gaoshu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.gaoshu>st[j].score.gaoshu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("gaoshu score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********yingyu score order***************/yingyu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.yingyu>st[j].score.yingyu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("yingyu score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********tiyu score order***************/tiyu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.tiyu>st[j].score.tiyu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("yitu order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********average score order***************/average_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.wuli>st[j].score.wuli){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("average score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/********order message****************/order_message(){int chioce;do{system("cls");printf("**********choose 0-6**********\n\n");printf(" 1:grade order\n\n");printf(" 2:wuli score order\n\n");printf(" 3:gaoshu score order\n \n");printf(" 4:ying yu score order\n\n");printf(" 5:tiyu score order\n\n");printf(" 6:average score order\n\n");printf(" 0:back menu\n\n");scanf("%d",&chioce);switch(chioce){case 1: grade_order();break;case 2: wuli_order();break;case 3: gaoshu_order();break;case 4: yingyu_order();break;case 5: tiyu_order();break;case 6: average_order();break;case 0:break;}}while(chioce!=0);}/**********answer secretory***********/mima_message(){int flag;char answer[10];char secret[10]="abcd";flag=2;do{system("cls");printf("\n______________________mi ma wei 'abcd'________________\n\n");printf("______________________qing shu ru mi ma:");scanf("%s",answer);getchar();if(strcmp(secret,answer)==0){flag=1;printf("\n\n =====throngh=====\n\n\n");printf("____________________press any key into next:\n");bioskey(0);}else{flag=0;printf("______________________input error:\n");printf("______________________press any key to return:\n");bioskey(0);}}while(flag!=1);}/*********read message****************/read_message(){int i;system("cls");if(sum<=0){ printf("without message\n");getch();return;}for(i=0;i<sum;i++){system("cls");print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;printf("\n********press any key -show the next one********\n ");getch();}printf("________________totle num :%d________________\n",sum); printf("_____________press any key return______________\n"); bioskey(0);}/*************************************/main(){int chioce,flag;mima_message();do{system("cls");chioce=9;printf("**********************************************\n");printf("****welcome to system of managing students****\n");printf("**********************************************\n\n");printf("-------------------choose 0-8-----------------\n\n");printf(" 1:write message\n\n");printf(" 2:add message\n\n");printf(" 3:inqiure name\n\n");printf(" 4:change message\n\n");printf(" 5:insert message\n\n");printf(" 6:order message\n\n");printf(" 7:delete message\n\n");printf(" 8:read messaeg\n\n");printf(" 0:***exit***\n\n");scanf("%d",&chioce);getchar();switch(chioce){case 1: write_message();break;case 2: add_message();break;case 3: inqiure_message();break;case 4: change_message();break;case 5: insert_message();break;case 6: order_message();break;case 7: delete_message();break;case 8: read_message();break;case 0: printf("___sure press y/Y:___\n\n___no sure press n/N:___");scanf("%c",&chioce);getchar();if(chioce=='y'||chioce=='Y') flag=0;else flag=1;break;default : printf("\n ___input error___\n\n");printf("***press any key to go on***\n");getch();break;}}while(flag!=0);save_message();system("cls");printf("\n\n___message was saved___\n\n\n*****file name is student.txt*****\n");bioskey(0);}。
学生信息管理系统C语言编程
学生信息管理系统C语言编程【问题描述】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。
该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。
通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。
【基本要求】(1)学生信息包括:学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下:(2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求)学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。
实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。
2)查询功能:分为学生基本情况查询和成绩查询两种(1)学生基本情况查询:①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下:②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
(格式如上所示)(2)成绩查询:①、输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx ……………………共修:xx科,实得总学分为: xxx(3)删除功能:提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;
puts(" ");
printf("欢迎进入学生成绩管理系统");
puts(" ");
printf("****************************************\n");
printf("请输入业务:\n");
puts(" ");
printf("1.查看所有记录显示\n");
printf("2.添加学生成绩\n");
printf("欢迎登录学生管理系统");
puts(" ");
printf(" ********************************************\n");
printf(" 1.登录2.注册\n ");
printf("请选择:");
}
void choice1()
{
int a;
scanf("%d",&a);
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++)
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");
void paixu();
void tongji();
void output();
void finish();
void fanhui2();
void shuchu();
int zongren();
int chr();
int enr();
int mar();
void back();
float 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;
{
if(!strcmp(stu[i].name,b)||!strcmp(stu[i].num,b))
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
{
printf("*****************************************\n");
printf("/////////////////////^_^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \n");
printf("******************************************\n");
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"string.h"
#include"windows.h"
//登陆界面函数
void load();
void background1();
void choice1();
void fanhui1();
{
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}};
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请输入需要修改的学号:");
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)
Sleep(2000);
system("cls");
mulu();
}
else
{
j++;
}
}
if(j==10ห้องสมุดไป่ตู้)
{
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;
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("输入错误,请重新输入!");
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;