c语言教务管理系统方案

合集下载

C语言选课管理系统课程设计

C语言选课管理系统课程设计

C语言选课管理系统课程设计一、教学目标本课程旨在让学生掌握C语言选课管理系统的开发方法,培养其编程能力和问题解决能力。

具体目标如下:1.知识目标:学生能够理解C语言的基本语法、数据结构和常用算法;掌握面向对象编程思想。

2.技能目标:学生能够使用C语言进行程序设计,独立完成选课管理系统的开发;具备调试和优化程序的能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,使其认识到编程在实际应用中的重要性,提高其创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括C语言基础知识、数据结构、算法、面向对象编程和选课管理系统的设计与实现。

具体安排如下:1.C语言基础知识:介绍C语言的基本语法、变量、运算符、控制结构等。

2.数据结构:讲解数组、链表、栈、队列、树等基本数据结构及其应用。

3.算法:学习常用排序算法、查找算法、递归算法等,培养学生的算法思维。

4.面向对象编程:介绍类、对象、封装、继承、多态等基本概念,并学会使用面向对象的方法解决问题。

5.选课管理系统设计与实现:分析系统需求,设计系统架构,编写功能模块,完成系统集成。

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

1.讲授法:用于讲解基本概念、语法和算法,使学生掌握理论知识。

2.讨论法:学生针对案例进行分析,培养其问题解决能力和团队合作精神。

3.案例分析法:分析实际项目案例,使学生学会将理论知识应用于实际问题。

4.实验法:让学生动手编写代码,培养其编程能力和实践能力。

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

1.教材:选用权威、实用的教材,如《C程序设计原理与应用》、《C++ Primer》等。

2.参考书:提供相关领域的经典著作,如《算法导论》、《数据结构与算法分析》等。

3.多媒体资料:制作课件、教学视频等,丰富教学手段,提高教学质量。

4.实验设备:保证学生有足够的实践机会,提高其编程能力和实践能力。

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

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

c语言课课程设计管理系统一、教学目标本章节的教学目标是使学生掌握C语言课程设计管理系统的基本概念、原理和方法,培养学生运用C语言进行程序设计的能力,提高学生的实际操作技能和解决实际问题的能力。

具体来说,知识目标包括:1.掌握课程设计管理系统的基本概念和原理。

2.理解C语言在课程设计管理系统中的应用。

3.熟悉常用的数据结构和算法。

技能目标包括:1.能够使用C语言进行程序设计。

2.能够运用常用的数据结构和算法解决实际问题。

3.能够独立完成课程设计管理系统的开发和调试。

情感态度价值观目标包括:1.培养学生的团队合作意识和沟通能力。

2.培养学生的自主学习能力和探究精神。

3.培养学生对C语言和课程设计管理系统的兴趣和热情。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据结构、算法和课程设计管理系统的基本概念和原理。

具体来说,教学大纲如下:1.C语言的基本语法:数据类型、变量、运算符、表达式、语句等。

2.数据结构:数组、链表、栈、队列、树、图等。

3.算法:排序算法、查找算法、动态规划算法等。

4.课程设计管理系统的基本概念和原理:系统结构、模块划分、功能实现等。

三、教学方法为了实现教学目标,本章节将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,使学生掌握C语言和课程设计管理系统的基本概念和原理。

2.讨论法:通过小组讨论,培养学生的团队合作意识和沟通能力。

3.案例分析法:通过分析实际案例,使学生了解课程设计管理系统的应用和实现方法。

4.实验法:通过实际操作,培养学生运用C语言进行程序设计的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《C语言程序设计》等。

2.参考书:《C语言编程实践》、《数据结构与算法》等。

3.多媒体资料:课件、教学视频等。

4.实验设备:计算机、网络设备等。

以上教学资源将有助于丰富学生的学习体验,提高学生的实际操作技能和解决实际问题的能力。

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

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

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

知识目标要求学生掌握C语言的基本语法、数据结构、算法和编程技巧。

技能目标要求学生能够使用C语言进行程序设计,解决实际问题。

情感态度价值观目标要求学生培养良好的编程习惯,注重代码的可读性和可维护性,提高团队合作能力和解决问题的能力。

通过本课程的学习,学生将能够熟练掌握C语言的基本语法和编程技巧,具备独立编写简单程序的能力。

同时,学生将培养良好的编程习惯,注重代码的质量,提高团队合作能力和解决问题的能力。

学生将能够运用C语言进行程序设计,解决实际问题,提高自己的计算思维能力和创新能力。

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

教学大纲将明确教学内容的安排和进度,指出教材的章节和列举内容。

教材:C程序设计语言(K&R)第1周:C语言概述、基本语法、数据类型和运算符第2周:控制语句、函数、数组和字符串第3周:指针、结构体和文件操作第4周:算法和编程技巧第5周:项目实践和问题解决三、教学方法教学方法将多样化,以激发学生的学习兴趣和主动性。

将采用讲授法、讨论法、案例分析法和实验法等教学方法。

讲授法:通过讲解和示范,引导学生掌握C语言的基本语法和编程技巧。

讨论法:学生进行小组讨论,促进学生之间的交流和合作,培养团队合作能力。

案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题,提高问题解决能力。

实验法:安排实验课程,让学生亲自动手编写代码,培养实际编程能力和创新思维。

四、教学资源教学资源的选择和准备将充分支持教学内容和教学方法的实施,丰富学生的学习体验。

将使用教材、参考书、多媒体资料和实验设备等教学资源。

教材:C程序设计语言(K&R)参考书:C Primer Plus、C和指针多媒体资料:教学PPT、视频教程、在线编程练习平台实验设备:计算机、编程环境、网络资源通过以上教学资源的支持,学生将能够更好地学习C语言,提高编程能力,培养创新思维和问题解决能力。

教室管理系统c语言课程设计

教室管理系统c语言课程设计

教室管理系统c语言课程设计一、课程目标知识目标:1. 学生能掌握C语言中结构体、数组、函数等基本概念,并能运用这些知识设计教室管理系统的基本框架。

2. 学生能理解文件操作在教室管理系统中的应用,掌握文件的读写、存储等基本操作。

3. 学生了解教室管理系统的需求分析、功能模块划分,掌握模块化编程思想。

技能目标:1. 学生能够运用C语言编写程序,实现教室管理系统的各项功能,如添加、删除、查询教室信息等。

2. 学生能够运用所学知识解决实际编程问题,具备一定的程序调试和优化能力。

3. 学生能够通过本课程的学习,培养自己的团队协作、沟通能力,提高问题解决能力。

情感态度价值观目标:1. 学生通过参与教室管理系统的设计与实现,培养对计算机编程的兴趣和热情,提高学习积极性。

2. 学生在学习过程中,培养严谨、认真、负责的学习态度,树立良好的编程习惯。

3. 学生能够认识到编程在解决实际问题中的重要性,增强对信息技术的信心,提高社会责任感。

本课程针对高中年级学生,结合C语言学科特点,以实用性为导向,旨在培养学生的编程能力、问题解决能力和团队协作能力。

课程目标具体、可衡量,为后续教学设计和评估提供了明确的方向。

二、教学内容本课程教学内容紧密结合课程目标,确保科学性和系统性。

具体包括以下部分:1. C语言基础知识回顾:包括数据类型、运算符、控制语句等,涉及教材第1-3章内容。

2. 结构体与数组:讲解结构体的定义和使用,数组的应用,为教室管理系统设计提供数据结构支持,涉及教材第4章内容。

3. 函数:介绍函数的定义、调用、参数传递等,帮助学生掌握模块化编程思想,涉及教材第5章内容。

4. 文件操作:讲解文件读写、存储等基本操作,为教室管理系统提供数据持久化支持,涉及教材第6章内容。

5. 教室管理系统功能模块设计:- 教室信息添加、删除、修改、查询功能,涉及教材第7章内容;- 教室预约、取消预约功能,涉及教材第8章内容;- 用户登录、权限管理功能,涉及教材第9章内容。

C语言课程设计报告——教务管理系统

C语言课程设计报告——教务管理系统

功能说明:实现两种权限的身份登陆的教务管理系统*/#include "stdio.h"#include "stdlib.h"#include "string.h"#include "time.h"#include "memory.h"#define share "d:\\share.dat" //定义邮件地址#define manager "d:\\manager.dat" //定义管理员邮件地址#define outmsg "d:\\outmsg.dat" //定义公告邮件地址#define logtimemsg "d:\\used login time.dat" //定义用户登录时间信息#define star_stu "d:\\stu_scname.dat" //定义学生起始文件信息#define stu_msg "d:\\stu.dat" //定义学生成绩信息地址#define mass_key "3110008758" //定义文件头部密码typedef struct student stu;#define sc_num 4 //只设定4门科目,不允许改动#define uint unsigned int/*学生成绩管理系统结构*/struct student{char num[10]; /*学生学号*/char name[10]; /*学生姓名*/uint score[sc_num]; /*科目分数*/uint average; /*科目平均分*/stu *next;}st;char gettemp=0;/*管理员身份识别结构*/typedef struct username user;struct username{char username[20];//char password[20];}use;/*时间登录信息*/struct Logtime{char userlogin[20];struct tm;};char logc;//登录次数typedef struct Logtime logtime;//========================================================== //定义通讯协议//==========================================================#define mass_max 200 //定义信息量struct Massage{int cont; //文件数量char username[15]; //发送人char mass[mass_max];//信息}mas;typedef struct Massage massage;//========================================================== //========================================================== char userlogin[10];char sc_name[sc_num][10];/*以上是学生信息*/char welcome(void);/*用户界面,返回0,则表示退出系统*//*==================================================================== 学生信息操作==================================================================== */stu*creat();/*建立链表*/void display(stu *head);/*显示用户信息*/void insert(stu *head);/*增加学生信息*/stu* delname(stu*head,char *stu_name);/*根据学生姓名删除用户信息*/stu* delnum(stu *head,char *stu_num);/*根据学生学号删除用户信息*/stu* checkname(stu *head,char *stu_name);/*输出指定学生的信息*/stu* checknum(stu *head,char *stu_num);/*输出指定学生学号的学生信息*/ void changsc_name(stu *head,char *name);/*修改用户成绩*/void changsc_num(stu *head,char *num);/*修改用户成绩*/void waring(void);/*产生警告信息*/char cheknum(char *num);/*检查学生学号是否符合格式*/char chekname(char *name);/*检查学生姓名是否符合格式*/char chekscore(char score);/*检查学生分数是否符合格式*/stu* sortscore(stu *head);/*学生按平均成绩排序*/stu* sortnum(stu *head);/*学生信息按学号排序*//*==================================================================== 学生用户登录==================================================================== */char stulogin(void);/*进入普通用户登录界面*/char stucheck(char *nam,char *stnum);/*查找是否存在该学生信息*/char newlogin(char *nam,char *stnum);/*注册学生信息*/void disnewst(void);/*获得学生信息*//*==================================================================== 系统管理选择,管理员权限==================================================================== */void stu_system(void);/*对各种操作集中管理*/void sentmsg(void);/*发送公告*/char readmsg(void);/*浏览信息*/char delemsg(void);//删除信息void chagesbject(void);/*修改课程信息*//*==================================================================== 用户登录信息==================================================================== */void setlogintime(void);/*记录用户登录时间*/void dislogintime(void);/*显示用户登录信息*/void setused(void);/*注册新用户资料*/char usedcheckname(char *name);/*用户信息检查,若存在用户,则返回1,否则返回0*/ char usedcheckpass(char *name,char *password);/*查看用户名密码是否符合*//*====================================================================存储操作====================================================================*/char save(stu *head);/*保存用户数据*/char disload();/*显示用户信息*/stu* load(void);/*加载用户数据*/void clrtxt(char *str);/*清除文本信息*/char* creat_txt(char *username);/*根据用户名,创建一个用户文件*/FILE* chekuser(char *username);/*根据用户名,查找是否有此用户信息,若无,返回NULL*/ /*====================================================================---------------main函数----------====================================================================*/void main(){FILE *fp;char i,j;char name[15];system("color b5");memset(name,'\0',sizeof(name));if((fp=fopen(star_stu ,"r+"))==NULL){printf("将新建文件!\n");fp=fopen(star_stu ,"w+");}fread(name,sizeof(name),1,fp);if(strcmp(name,mass_key)!=0){printf("文件载入出错!\t N为退出回车键继续...:");i=getchar();if((i=='n')||(i=='N')){fclose(fp);exit(1);}else{printf("\n\n数据将重新初始化!\n");printf("\n\n请输入4门科目名称\n");memset(name,'\0',sizeof(name));fwrite(name,sizeof(name),5,fp);strcpy(name,mass_key);rewind(fp);fwrite(name,sizeof(name),1,fp);for(i=0;i<sc_num;i++){printf("\n\n第%d门科目名称: ",i+1);scanf("%s",sc_name[i]);if(fwrite(sc_name[i],sizeof(sc_name[i]),1,fp)!=1){printf("\n\n\t\t\t\t保存出错!\n");getchar();exit(1);}}}}else{if(fp==NULL)printf("\n文件错误!");fscanf(fp,"%s%s%s%s",sc_name[0],sc_name[1],sc_name[2],sc_name[3]);}fclose(fp);fp=fopen(share,"w"); //为防止文件在后面打开错误fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);do{j=welcome();if(j==1){system("cls");printf("\t\t欢迎进入学生用户中心系统!");setlogintime();j=stulogin();}else if(j==2){setlogintime();stu_system();}}while(j!=0);fp=fopen(share,"w"); //为防止文件未关闭,倒置文件内容丢失fclose(fp);fp=fopen(manager,"w");fclose(fp);fp=fopen(outmsg,"w");fclose(fp);fp=fopen(logtimemsg,"w");fclose(fp);fp=fopen(star_stu,"w");fclose(fp);fp=fopen(stu_msg,"w");fclose(fp);}/*====================================================================---------------------------初始化用户界面---------------------------====================================================================*///返回1,则进入stu用户界面//返回0,则表示退出//返回2,则表示进入管理员界面char welcome(void){char username[20];char userpass[20];char i,wrong_cont=0,key=0,weling=1,back=0;char temp;system("color b5");while(weling){do{system("cls");printf("\t*********************欢迎进入教务管理系统********************\n");printf("\t* *\n");printf("\t* 1.用户登录*\n");printf("\t* *\n");printf("\t* 2.用户注册*\n");printf("\t* *\n");printf("\t* 3.管理员登陆*\n"); printf("\t* *\n"); printf("\t* 4.管理员注册*\n"); printf("\t* *\n"); printf("\t* 5.退出系统*\n"); printf("\t* *\n"); printf("\t=============================================================\n"); printf("\t 请按命令提示操作\n"); printf("\n\n\n");printf("\n\n\n");printf("您输入的命令为:\t");i=getchar();if((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5')){printf("\n输入错误的指令!请按命令提示操作1-3\n");getchar();}}while((i!='1')&&(i!='2')&&(i!='3')&&(i!='4')&&(i!='5'));switch(i){case '1':{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入学号:\t");scanf("%s",userpass);temp=stucheck(username,userpass);if(temp==0){printf("没有学生档案信息!请注册...\n");getchar();break;}else if(temp==1){memset(userlogin,'\0',sizeof(userlogin));strcpy(userlogin,username);printf("\n\t学生成绩登录有效!");getchar();return 1;}getchar();//=======================break;}case '2':{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入学号:\t");scanf("%s",userpass);while(cheknum(userpass)!=1){printf("您的输入格式有误,请重新输入!\n");printf("按回车键继续...\n");getchar();memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入学号:\t");scanf("%s",userpass);}if(newlogin(username,userpass))printf("\n\t注册成功!用户名:%s\t学号:%s",username,userpass);getchar();break;}case '3':{do{system("cls");memset(username,'\0',sizeof(username));memset(userpass,'\0',sizeof(userpass));printf("\n\t请输入用户名:\t");scanf("%s",username);printf("\n\t请输入密码:\t");scanf("%s",userpass);if(usedcheckpass(username,userpass)==0){wrong_cont++;if(wrong_cont==3){printf("\n\t输入次数大于3次!请按回车键退出系统!\n");getchar();weling=0;return 0;}key=1;printf("\n\t按1选择返回主菜单\n\t按0继续输入用户验证码\n");do{back=getchar();if((back!='1')&&(back!='0')){printf("\n\t输入错误!按回车键继续...");getchar();}}while((back!='1')&&(back!='0'));if(back=='1')key=0;}else{key=0;weling =0;system("cls");printf("\n\n\t\t欢迎%s进入学生管理系统\n",username);memset(userlogin,'\0',sizeof(userlogin));strcpy(userlogin,username); //记录用户登录信息return 2;}}while(key);back=0;weling=1;break;return 2;}case '4':{setused();/*注册新管理员资料*/weling=1;break;}case '5':{weling=0;return 0;}}}return 1;}/*==================================================================== ---------------建立链表----------==================================================================== */stu*creat()/*建立链表*/{char i,j;char stu_num;stu *p1, *p2;stu *head;FILE *fp;fp=fopen(stu_msg,"w+");head=(stu*)malloc(sizeof(stu));head->next=NULL;p1=p2=(stu*)malloc(sizeof(stu));i=0,j=0;system("cls");printf("\n\n请输入要录入的学生人数: ");scanf("%d",&stu_num);for(i=0;i<stu_num;i++){system("cls");p1->average=0;printf("\n\n请输入学生学号: ");scanf("%s",p1->num);while(!cheknum(p1->num)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p1->num);}printf("\n\n请输入学生姓名: ");scanf("%s",p1->name);while(!chekname(p1->name)){printf("\n\n输入格式出错!不能带数字或下划线!\n");printf("\n\n请重新输入学生姓名: ");scanf("%s",p1->name);}do{printf("\n\n请输入学生%s成绩:",sc_name[j]);scanf("%d",&p1->score[j]);while((100<p1->score[j])||(p1->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p1->score[j]);}p1->average+=p1->score[j];j++;}while(j<sc_num);j=0;p1->average=p1->average/4;if(i==0){head->next=p1; /*分清楚是head->next=p还是head=p*/p2=p1;p1->next=NULL;}else{p2->next=p1;p2=p1;p2->next=NULL; /*产生新的节点*/}fwrite(p1,sizeof(stu),1,fp);p1=(stu*)malloc(sizeof(stu));}display(head);getchar();fclose(fp);return head;}/*====================================================================检查学生学号是否符合格式,若正确,则返回1,否则返回0==================================================================== */char cheknum(char *num)/*检查学生学号是否符合格式*/{char i; /*获取字符串长度*/char j=strlen(num);for(i=0;i<j;i++){if(('0'>num[i])||('9'<num[i])){return 0;exit(1);}}return 1;}/*==================================================================== 检查学生姓名是否符合格式,若正确,则返回1,否则返回0==================================================================== */char chekname(char *name)/*检查学生姓名是否符合格式*/{char i;for(i=0;i<strlen(name);i++){/*if(('A'>name[i])||(('Z'<name[i])&&('a'>name[i]))||('z'<name[i]))/if(name[i]<18){return 0;exit(1);}*/}return 1;}/*==================================================================== 显示学生成绩情况==================================================================== */void display(stu *head)/*显示用户信息*/{stu *p1;char i=0;p1=head->next;system("cls");if(p1!=NULL){while(p1!=NULL){if(i==0){printf("姓名\t学号\t %s\t %s\t %s\t%s\t平均分\n",sc_name[0],sc_name[1],sc_name[2],sc_name[3]);i++;}printf("%s\t%s\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);p1=p1->next;}getchar();}else{printf("\t\t\t链表为空!\n\n\n请按回车键继续...\n");getchar();}}/*====================================================================插入学生信息====================================================================*/void insert(stu *head)/*增加学生信息*/{stu *p1,*p2;char j=0;p1=head->next;p2=(stu*)malloc(sizeof(stu)); /*创建新的学生信息*/p2->average=0;system("cls");printf("\n\n请输入要增加的学生学号: ");scanf("%s",p2->num);while(!cheknum(p2->num)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p2->num);}printf("\n\n请输入学生的姓名: ");scanf("%s",p2->name);while(!chekname(p2->name)){printf("\n\n输入格式出错!不能带数字或下划线!\n");printf("\n\n请重新输入学生姓名: ");scanf("%s",p2->name);}do{printf("\n\n请输入学生%s成绩:",sc_name[j]);scanf("%d",&p2->score[j]);while((100<p2->score[j])||(p2->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p2->score[j]);}p2->average+=p2->score[j];j++;}while(j<sc_num);p2->average=p2->average/4;if(head->next==NULL){printf("\n原链表为空!");getchar();head->next=p2;}else{while(p1->next!=NULL)p1=p1->next;p1->next=p2;p2->next=NULL;}display(head);getchar();}/*====================================================================删除学生信息====================================================================*/stu* delname(stu*head,char *stu_name)/*根据学生姓名删除用户信息*/{stu *p1,*p2;char i,j=0;system("cls");if(head->next==NULL){printf("\n\n没有学生信息!\t操作错误!\n");return head;}p1=head->next;p2=p1;while(p1!=NULL){if(strcmp(p1->name,stu_name)==0){printf("\n\n你所删除的学生姓名为: %s\t学号为:%s\n",p1->name,p1->num);printf("\n\n确定为:y,取消为n\t:");i=getchar();while(!((i=='y')||(i=='Y')||(i=='n')||(i=='N'))){printf("\n\n输入错误!\t请重新输入:");i=getchar();}if((i=='y')||(i=='Y')){if(j==0){head->next=p1->next;/*删除头部接点*/}else{p2->next=p1->next;}printf("\n\n\t\t\t\t成功删除用户信息!\n\n\t\t\t按回车键继续...\n");free(p1);return head;}else{return head;}}j++;p2=p1;p1=p1->next;}printf("\n\n\t\t没有此用户记录信息!\n按回车键继续\n");getchar();system("cls");display(head);getchar();return head;}/*====================================================================删除学生信息(以学号为对象)====================================================================*/stu* delnum(stu *head,char *stu_num)/*根据学生学号删除用户信息*/{stu *p1,*p2;char i,j=0;system("cls");if(head->next==NULL){printf("\n\n\t\t没有存储学生信息!\n\n\t\t操作错误!\n");return head;}p1=head->next;p2=p1;while(p1->next!=NULL){if(strcmp(p1->num,stu_num)==0){printf("\n\n你所删除的学生姓名为: %s\t学号为:%s\n",p1->name,p1->num);printf("\n\n确定为:y,取消为n\t:");i=getchar();while(!((i=='y')||(i=='Y')||(i=='n')||(i=='N'))){printf("\n\n输入错误!\t请重新输入:");i=getchar();}if((i=='y')||(i=='Y')){if(j==0){head->next=p1->next;}else{p2->next=p1->next;}printf("\n\n\t\t\t\t成功删除用户信息!\n\n\t\t\t按回车键继续...\n");free(p1);return head;}elsereturn head;}p2=p1;p1=p1->next;j++;}printf("\n\n没有此用户信息!\n按回车键继续...\n");getchar();system("cls");display(head);getchar();return head;}/*====================================================================输出指定学生信息(以学生姓名为对象)====================================================================*/stu* checkname(stu *head,char *stu_name)/*输出指定学生的信息*/{stu *p1;system("cls");if(head==NULL){printf("\n\n\t\t没有存储学生信息!\t操作错误!\n");getchar();return head;}p1=head;while(p1->next!=NULL){if(strcmp(p1->name,stu_name)==0){printf("\n\n你所查找的学生信息如下\n");printf(" \n\n%s\t学号为:%s\n",p1->name,p1->num);printf("姓名\t学号\t\t %s\t %s\t %s\t%s\t平均分\n",\sc_name[0],sc_name[1],sc_name[2],sc_name[3]);printf("%s\t%s\t\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);getchar();return p1;}p1=p1->next;}printf("\n\n\t\t找不到相关用户信息!\n按回车键继续...\n");getchar();system("cls");display(head);getchar();return (stu*)NULL;}/*====================================================================输出指定学生信息(以学生学号为对象)====================================================================*/stu* checknum(stu *head,char *stu_num)/*输出指定学生学号的学生信息*/{stu *p1,*p2;p2=(stu*)malloc(sizeof(stu));system("cls");if(head==NULL){printf("\n\n\t\t没有存储学生信息!\t操作错误!\n");return head;}p1=head;while(p1->next!=NULL){if(strcmp(p1->num,stu_num)==0){printf("\n\n你所查找的学生信息如下\n");printf(" %s\t学号为:%s\n",p1->name,p1->num);printf("姓名\t学号\t\t %s\t %s\t %s\t%s\t平均分\n",\sc_name[0],sc_name[1],sc_name[2],sc_name[3]);printf("%s\t%s\t\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);getchar();return p1;}p1=p1->next;}printf("\n\n\t\t找不到相关用户信息!\n按回车键继续...\n");getchar();return (stu*)NULL;}/*====================================================================修改指定学生信息(以学生姓名为对象)====================================================================*/void changsc_name(stu *head,char *name)/*修改用户成绩*/{stu *p;char j=0;system("cls");p=checkname(head,name);if(p!=NULL){p->average=0;printf("\n\n请输入学生新的学号: ");scanf("%s",p->num);while(!cheknum(p->num)){printf("\n\n输入格式错误!请重新输入学号:\n ");scanf("%s",p->num);}do{printf("\n\n请输入学生成绩%s :",sc_name[j]);scanf("%d",&p->score[j]);while((100<p->score[j])||(p->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p->score[j]);}p->average+=p->score[j];j++;}while(j<sc_num);p->average=p->average/4;printf("\n\n\t\t用户数据更新完毕!\n请按回车键退出...\n");getchar();system("cls");display(head);getchar();}}/*==================================================================== 修改指定学生信息(以学生学号为对象)==================================================================== */void changsc_num(stu *head,char *num)/*修改用户成绩*/{stu *p2;char j=0;system("cls");p2=checknum(head,num);if(p2!=NULL){p2->average=0;printf("\n\n请输入学生姓名: ");scanf("%s",p2->name);while(!chekname(p2->name)){printf("\n\n输入格式错误!请重新输入学号: ");scanf("%s",p2->name);}do{printf("\n\n请输入学生成绩%s :",sc_name[j]);scanf("%d",&p2->score[j]);while((100<p2->score[j])||(p2->score[j]<0)){printf("\n\n成绩格式出错!\n ");getchar();printf("\n\n请重新输入学生成绩: ");scanf("%d",&p2->score[j]);}p2->average+=p2->score[j];j++;}while(j<sc_num);p2->average=p2->average/4;printf("\n\n\t\t用户数据更新完毕!请按回车键退出...\n");getchar();}}/*==================================================================== ==================================================================== ============================存储操作类函数========================== ==================================================================== ==================================================================== *//*==================================================================== 加载学生信息==================================================================== */stu* load(void)/*加载用户数据*/{FILE *fp;stu *p,*head,*p1;char i=0,j=0;fp=fopen(stu_msg,"r");rewind(fp);head=(stu*)malloc(sizeof(stu));p1=p=(stu *)malloc(sizeof(stu));while(fread(p,sizeof(stu),1,fp)==1){if(i==0){head->next=p;p1=p;}else{p1->next=p;p1=p;p1->next=NULL;}i++;p=(stu*)malloc(sizeof(stu));j++;}if(j==0){printf("\n\n\t\t\t没有数据信息可载入!\n");head=NULL;free(p);getchar();}fclose(fp);return head;}/*====================================================================显示学生信息====================================================================*/char disload()/*显示用户信息*/{FILE *fp;stu *p1;char i=0;p1=(stu*)malloc(sizeof(stu));if((fp=fopen(stu_msg,"r+"))==NULL)fp=fopen(stu_msg,"w+");rewind(fp);while(fread(p1,sizeof(stu),1,fp)==1){printf("%s\t%s\t %d\t %d\t%d\t%d\t%d\n",\p1->name,p1->num,p1->score[0],p1->score[1],p1->score[2],p1->score[3],p1->average);i++;//fread(p1,sizeof(stu),1,fp);}fclose(fp);if(i==0){printf("\n\t\t\t文件中不含学生信息!\n\t\t\t按回车键继续...\n");getchar();}else{printf("\n\t\t\t一共记录了%d名学生信息!\n\t\t\t按回车键继续...\n",i);getchar();}}/*==================================================================== 保存学生信息==================================================================== */char save(stu *head)/*保存用户数据*/{stu *p;FILE *fp;stu stt;char i=0;p=head->next;system("cls");clrtxt(stu_msg);fp=fopen(stu_msg,"w");rewind(fp);//if(head->next!=NULL){while(p!=NULL){fwrite(p,sizeof(stu),1,fp);p=p->next;i++;}if(i==0){printf("没有保存数据!\n");getchar();fclose(fp);return 0;}else{fclose(fp);return 1;}}else{fclose(fp);return 0;}fclose(fp);return 0;}/*==================================================================== 创建文本信息==================================================================== */char* creat_txt(char *username)/*根据用户名,创建一个用户文件*/{char name[20];FILE *fp;strcpy(name,"d:\\");strcat(name,username);strcat(name,".txt");fp=fopen(name,"w+");system("cls");if(fp!=NULL){//printf("\n\n文件路径为:%s\n\n",name);//printf("\n\n\t\t用户文件创建成功!\n\n\t\t请按回车键继续...\n");//getchar();fclose(fp);return name;}else{printf("\n\n\t\t无法创建用户文件!\n\n\t\t请按回车键继续...\n");getchar();fclose(fp);return name;}}/*====================================================================清除文本信息====================================================================*/FILE* chekuser(char *username)/*根据用户名,查找是否有此用户信息,若无,返回NULL*/ {}/*====================================================================清除文本信息====================================================================*/void clrtxt(char *str)/*清除文本信息*/{char clrmem[10];char semem[40];FILE *fp;int i=0,j=0;if((fp=fopen(str,"r"))==NULL){printf("\n\t无此文件!");getchar();}else{fclose(fp);fp=fopen(str,"w");memset(clrmem,'\0',sizeof(clrmem));rewind(fp);for(i=0;i<40;i++){if(fwrite(clrmem,sizeof(clrmem),1,fp)!=1){if(j==0){printf("\n\n\t\t文件清除失败!\n\n\t\t请按回车键继续...\n");getchar();break;}else{//printf("\n\n\t\t文件清除成功!\n\n\t\t请按回车键继续...\n");//getchar();break;}}elsej++;}fclose(fp);}}/*====================================================================用户登录信息====================================================================*/void setlogintime(void)/*记录用户登录时间*/{FILE *fp;int y,m,d,hour,min,sec;time_t T; // 一个可以包含时间信息的长整型struct tm *timeinfo;time( &T ); // 得到机器的日历时间if((fp=fopen(logtimemsg,"a+"))==NULL){fp=fopen(logtimemsg,"w");}time( &T ); // 得到机器的日历时间timeinfo = localtime( &T ); // 将日历时间转换为当地时间,timeinfo 是一个时间格式的指针y=timeinfo->tm_year + 1900; // 年份m=timeinfo->tm_mon + 1; // 月份d=timeinfo->tm_mday; // 日期hour=timeinfo->tm_hour;min=timeinfo->tm_min;sec=timeinfo->tm_sec;fwrite(userlogin,sizeof(userlogin),1,fp);fwrite(timeinfo,sizeof(struct tm),1,fp);//写入用户登陆信息printf("\n\n\n\t\t登陆时间为:\n\t\t%d年%d月%d日%d时%d分%d秒\n\n\n", y, m, d,hour,min,sec);fclose(fp);}/*====================================================================用户登录信息====================================================================*/void dislogintime(void)/*显示用户登录信息*/{FILE *fp;int y,m,d,hour,min,sec;struct tm *timeinfo;char name[10];int i=0;timeinfo=(struct tm*)malloc(sizeof(struct tm));fp=fopen(logtimemsg,"r+");if(fp==NULL){printf("\n\n\t\t找不到文件信息!\n\n\t\t按回车键继续...\n");getchar();}else{memset(name,'\0',sizeof(name));while(fread(name,sizeof(name),1,fp)==1){fread(timeinfo,sizeof(struct tm),1,fp);y=timeinfo->tm_year + 1900; // 年份insm=timeinfo->tm_mon + 1; // 月份d=timeinfo->tm_mday; // 日期hour=timeinfo->tm_hour;min=timeinfo->tm_min;sec=timeinfo->tm_sec;i++;printf("\n\t第%d次登陆时间为:%d年%d月%d日%d时%d分%d秒\t%s用户登录",i,y, m, d,hour,min,sec,name);memset(name,'\0',sizeof(name));}if(i==0)printf("\n没有记录用户登录时间!\n");getchar();free(timeinfo);fclose(fp);}}/*====================================================================用户登录信息====================================================================*/。

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

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

c语言课程设计学生管理系统一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过实现一个学生管理系统,让学生了解和掌握面向对象编程的思想和方法,培养学生的编程能力和问题解决能力。

具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和面向对象编程思想。

2.技能目标:使学生能够使用C语言独立编写和调试程序,具备基本的软件开发能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生的自主学习意识和团队合作精神。

二、教学内容教学内容以C语言编程为核心,主要包括以下几个部分:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在C语言中实现和应用。

3.算法:介绍基本的算法思想和实现方法,如排序、查找等。

4.面向对象编程:讲解面向对象编程的基本概念,如类、对象、封装、继承和多态等,以及如何在C语言中实现面向对象编程。

5.学生管理系统实现:以学生管理系统为案例,引导学生运用所学知识解决实际问题。

三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解C语言的基本语法、数据结构、算法和面向对象编程思想。

2.案例分析法:通过分析学生管理系统的实现,使学生理解和掌握面向对象编程的思想和方法。

3.实验法:安排实验室实践环节,让学生动手编写代码,培养学生的实际编程能力。

4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,提高学生的团队合作能力。

四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C程序设计原理与应用》。

2.参考书:《C语言程序设计》。

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

4.实验设备:为学生提供计算机实验室,让学生能够进行实际编程练习。

五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式相结合的方法:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的积极性等,占总评的20%。

c教务系统课程设计

c教务系统课程设计

c 教务系统课程设计一、教学目标本课程的教学目标是使学生掌握C教务系统的基本概念、功能和操作方法。

具体包括:1.了解C教务系统的起源、发展历程和基本概念。

2.掌握C教务系统的主要功能,如课程安排、成绩管理、选课系统等。

3.理解C教务系统的运作原理和关键技术。

4.能够熟练操作C教务系统,进行课程安排、成绩录入、选课等操作。

5.能够运用C教务系统进行教学管理和教学研究。

情感态度价值观目标:1.培养学生对C教务系统的兴趣和热情,认识到其在教育领域的重要性。

2.培养学生遵守纪律、诚实守信的意识,避免滥用C教务系统。

二、教学内容本课程的教学内容主要包括C教务系统的基本概念、功能和操作方法。

具体安排如下:1.第一章:C教务系统概述介绍C教务系统的起源、发展历程和基本概念。

2.第二章:C教务系统功能详解详细讲解C教务系统的各项功能,如课程安排、成绩管理、选课系统等。

3.第三章:C教务系统操作指南教授如何熟练操作C教务系统,进行课程安排、成绩录入、选课等操作。

4.第四章:C教务系统在教学管理中的应用探讨如何运用C教务系统进行教学管理和教学研究。

5.第五章:C教务系统的未来发展展望C教务系统的未来发展,探讨其在教育领域的重要性和潜在应用。

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

具体安排如下:1.讲授法:用于讲解C教务系统的基本概念、功能和操作方法。

2.讨论法:学生进行小组讨论,分享对C教务系统的理解和看法。

3.案例分析法:分析实际案例,让学生了解C教务系统在教学管理中的应用。

4.实验法:安排实验室实践,让学生亲自动手操作C教务系统,加深对系统的理解。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的C教务系统教材,为学生提供系统性的知识学习。

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

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

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

课程管理系统c语言课程设计一、课程目标知识目标:1. 学生能理解课程管理系统的基本原理,掌握C语言在系统开发中的应用。

2. 学生能运用C语言实现课程管理系统的基本功能,如数据录入、查询、修改和删除。

3. 学生了解结构体、数组、文件操作等C语言知识点在课程管理系统中的作用。

技能目标:1. 学生能运用所学C语言知识,独立完成课程管理系统的设计与编码。

2. 学生具备分析问题、解决问题的能力,能够根据需求调整和优化系统功能。

3. 学生掌握基本的调试技巧,能够排除程序中的错误,确保系统稳定运行。

情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,提高自主学习能力和团队协作精神。

2. 学生在课程学习过程中,树立正确的价值观,认识到编程对于解决实际问题的意义。

3. 学生通过课程管理系统设计与实现,增强自信心,培养克服困难的意志。

课程性质:本课程为C语言程序设计实践课程,以课程管理系统为案例,结合课本知识,锻炼学生的编程能力和实际应用能力。

学生特点:学生已具备一定的C语言基础,具有较强的求知欲和动手能力,但对复杂系统的开发尚缺乏经验。

教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注个体差异,提供个性化指导,确保学生在课程学习过程中达到预期目标。

同时,注重培养学生的编程思维和解决问题的能力,为后续学习打下坚实基础。

二、教学内容1. 系统需求分析:介绍课程管理系统的功能需求,分析系统所需处理的数据类型和结构,明确各功能模块之间的关系。

2. C语言基础知识回顾:回顾结构体、数组、文件操作等基础知识,强调在课程管理系统中的应用。

- 结构体:定义课程信息、学生信息等数据结构。

- 数组:存储和管理课程、学生等数据。

- 文件操作:实现数据的持久化存储。

3. 功能模块设计:- 数据录入:设计并实现课程、学生等数据的录入功能。

- 数据查询:设计并实现课程、学生等数据的查询功能。

- 数据修改:设计并实现课程、学生等数据的修改功能。

C语言课程设计管理系统

C语言课程设计管理系统

C语言课程设计管理系统一、教学目标本章节的教学目标是使学生掌握C语言课程设计管理系统的基本概念、原理和方法。

具体包括:1.知识目标:学生能够理解C语言课程设计管理系统的起源、发展和现状,掌握其基本原理和关键技术。

2.技能目标:学生能够运用C语言实现简单的管理系统,如学生信息管理系统、图书管理系统等,并具备一定的调试和优化能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高其创新意识和团队协作能力,使其认识到C语言在现代社会中的重要性和应用价值。

二、教学内容本章节的教学内容主要包括以下几个部分:1.C语言课程设计管理系统的基本概念:介绍管理系统的设计和实现过程,以及C语言在管理系统中的应用。

2.管理系统的关键技术:讲解数据结构、算法、界面设计等方面的知识,为学生实现管理系统奠定基础。

3.管理系统的设计与实现:通过实例分析,引导学生掌握管理系统的整体设计思路,培养学生实际动手能力。

4.调试与优化:介绍调试工具的使用和方法,培养学生解决实际问题的能力。

三、教学方法为了实现本章节的教学目标,将采用以下教学方法:1.讲授法:讲解C语言课程设计管理系统的基本概念、原理和技术。

2.案例分析法:分析实际的管理系统案例,使学生更好地理解管理系统的设计和实现过程。

3.实验法:安排实验室实践环节,让学生亲自动手实现简单的管理系统。

4.讨论法:学生进行课堂讨论,培养学生的团队协作能力和创新意识。

四、教学资源为了支持本章节的教学,将准备以下教学资源:1.教材:《C语言程序设计》、《管理系统原理与实践》等。

2.参考书:《C语言编程指南》、《数据结构与算法》等。

3.多媒体资料:课件、教学视频、实例代码等。

4.实验设备:计算机、网络设备、调试工具等。

5.在线资源:相关论坛、博客、教程等。

五、教学评估本章节的教学评估主要包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以体现学生的学习态度和积极性。

c语言课程设计教务管理系统

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.作业:布置适量的作业,评估学生的理解和应用能力。

vc教务管理系统课程设计

vc教务管理系统课程设计

vc 教务管理系统课程设计一、课程目标知识目标:1. 让学生理解教务管理系统的基本概念,掌握VC++编程环境下开发教务管理系统的基本方法。

2. 使学生掌握数据库连接、数据查询、数据更新等基本操作,并能够运用到教务管理系统的实际开发中。

3. 让学生掌握面向对象编程思想,运用类和对象对教务管理系统进行模块化设计。

技能目标:1. 培养学生运用VC++进行教务管理系统开发的能力,提高编程实践水平。

2. 培养学生分析和解决实际教务管理问题的能力,能够根据需求进行系统设计。

3. 培养学生团队协作能力,能够在项目开发中合理分工、协同工作。

情感态度价值观目标:1. 培养学生对教务管理系统开发的兴趣,激发学习积极性,提高自主学习和解决问题的能力。

2. 培养学生严谨、负责的工作态度,养成良好的编程习惯。

3. 培养学生关注教育信息化发展,认识到教务管理系统在现代教育管理中的重要作用。

本课程针对高年级学生,课程性质为实践性较强的学科。

结合学生已具备的编程基础和实际教学要求,课程目标旨在使学生能够独立完成教务管理系统的设计与开发,培养具备实际应用能力的编程人才。

通过课程学习,学生将能够分解任务、明确需求、编写代码、解决问题,并在项目实践中提高自身综合素质。

二、教学内容1. 教务管理系统概述:介绍教务管理系统的发展背景、功能模块和重要性。

- 教材章节:第一章 教务管理系统概述- 内容列举:教务管理系统的基本概念、发展历程、功能模块及其在现代教育管理中的应用。

2. VC++编程环境:学习VC++集成开发环境的使用,熟悉编程工具。

- 教材章节:第二章 VC++编程环境- 内容列举:VC++的安装与配置、创建项目与工程、常用编译调试技巧。

3. 数据库连接与操作:学习数据库连接、数据查询、数据更新等操作。

- 教材章节:第三章 数据库连接与操作- 内容列举:数据库基础知识、ODBC数据源配置、数据库连接与操作方法。

4. 面向对象编程:学习类与对象、继承与多态等面向对象编程思想。

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语言课程设计报告教学管理系统

《C语言课程设计报告》题目:教学管理系统一、需求分析:功能:(1)每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

(2)输入功能:可以一次完成若干条记录的输入。

(3)显示功能:完成全部教师记录的显示。

(4)查找功能:完成按姓名或课程查找教师的相关记录,并显示。

(5)排序功能:按职工号或教学效果综合评分进行排序。

(6)插入功能:按教学效果综合评分高低插入一条教师记录。

(7)将教师记录存在文件中。

(8)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!要求:(1)用C语言实现系统;(2)利用结构体数组实现教学信息的数据结构设计;(3)系统具有增加,查询,插入,排序等基本功能;(4)系统的各个功能模块要求用函数的形式实现;(5)将教学信息存在文件中。

二、总体设计分析题目可知,该程序主要利用结构化的程序设计方法,利用主函数调用若干子函数来实现题目要求的各个功能。

首先,其中的各个变量(职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分)存在内在联系,从而利用结构体数组来定义其中的变量,然后,再分析主函数和子函数的调用关系并编辑程序,通过编译使其逐渐完成题目的功能和要求。

三、详细设计1.数据结构的设计:程序要求文档中要求使用结构体数组完成设计,每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

数据结构设计如下:typedef struct Course{ //课程的定义与描述char courseName[40]; //课程名称int semester; //开课学期char type[8]; //课程性质char teceff; //教学效果}Course;typedef struct Teacher{ //教师的定义与描述char name[8]; //姓名int num; //职工号char sex[2]; //性别int tecscore; //教学效果综合评分char position[8]; //职称Course course[3]; //3门主讲课程}Teacher;2.函数列表和调用关系void InputClassInfor(Course c) //课程输入函数void InputInfor(Teacher T[MAXTEACHERNUM]) //教师信息输入函数void PrintInfor(Teacher T[]) //输出函数void Search_N(Teacher T[], int n) //查找函数void SearchInfor(Teacher T[]) //查找教师信息(总函数)void Sort_N(Teacher T[], int n) //排序函数void InsertInfor(Teacher T[]) //插入函数void SaveFile(Teacher T[]) //文件保存函数void OpenFile(Teacher T[]) //文件打开函数int main(int argc, char* argv[]) //菜单函数函数调用关系如下3.主函数和子函数编辑首先对主函数进行设计,使其以图片的形式输出全部教学信息,主要利用printf,如下所示void PrintInfor(Teacher T[]){ //输出全部教师信息(以卡片形式)printf("--------------------------------------------------------------------------------");printf("| 所有教师记录|");printf("-------------------------------------------------------------------------------+" );printf("| 全院现有在职教师%d名,全部信息如下|",TeacherNum);printf("-------------------------------------------------------------------------------+\n\n");for(int i=0;i<TeacherNum;++i){printf("+------+---------------+----+------------+----+------+------+------------------+" );printf("|职工号| %3d |姓名| %8s |性别| %s |职称| %8s|",T[i].num,T[i].name,T[i].sex,T[i].position);printf("+------+---+-----------+----+------------+----+------+------+------------------+ ");printf("|主讲课程1 | 课程名| %-40s|",T[i].course[0].courseName);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[0].semester,T[i].course[0].type,T[i].course[0].teceff);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("|主讲课程2 | 课程名| %-40s|",T[i].course[1].courseName);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[1].semester,T[i].course[1].type,T[i].course[1].teceff);printf("+----------+-----------+----------+------------------+------------+------------+") ;printf("|主讲课程3 | 课程名| %-40s|",T[i].course[2].courseName);printf("+----------+-----------+----------+------------------+------------+------------+");printf("| 学期| %d |课程性质| %8s | 教学效果| %c|",T[i].course[2].semester,T[i].course[2].type,T[i].course[2].teceff);printf("+----------+-----+-----+----------+------------------+------------+------------+" );printf("|教学效果综合评分| %3d|",T[i].tecscore);printf("+----------------+-------------------------------------------------------------+\n\ n");system("PAUSE"); //输完一个教师信息,等待用户查看确认,确认无误后再打印下一教师的相关信息}//for}//PrintInfor然后逐个完成子函数,其中排序函数利用冒泡法,如下:void Sort_N(Teacher T[],int n){//当n=1时按职工号排序,当n=2时按教学效果综合评分排序if(n==1){ //按职工号排序Teacher temp;for(int i=0;i<TeacherNum-1;i++){ //冒泡法排序for(int j=0;j<TeacherNum-1-i;j++)if(T[j+1].num<T[j].num){temp=T[j];T[j]=T[j+1];T[j+1]=temp;}//if}//forprintf("排序结果如下:\n");for(int i=0;i<TeacherNum;i++){printf(" %8s[%d] ",T[i].name,T[i].num);}//forprintf("\n");}//ifelse{ //按教学效果综合评分排序Teacher temp;for(int i=0;i<TeacherNum-1;++i){ //冒泡法排序for(int j=0;j<TeacherNum-1-i;++j)if(T[j+1].tecscore<T[j].tecscore){temp=T[j];T[j]=T[j+1];T[j+1]=temp;}//if}//forfor(int i=0;i<TeacherNum;i++){printf("\t\t\t第%d名: %-8s 分数:%3d\n",i+1,T[i].name,T[i].tecscore);}//for}//else}//Sort_N而信息插入函数要考虑信息插入的位置,先完成一次排序,在将信息插入指定位置,详情参考源程序。

教务排课系统课程设计c语言

教务排课系统课程设计c语言

教务排课系统课程设计c语言一、教学目标本课程旨在通过学习教务排课系统课程设计,让学生掌握C语言的基本语法、数据结构、算法以及编程思想,培养学生运用C语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范;(2)掌握常用的数据结构(如数组、链表、栈、队列等)及其应用;(3)熟悉常见的算法(如排序、查找等)及其实现;(4)了解软件工程的基本原理和方法。

2.技能目标:(1)能够运用C语言编写简单的程序;(2)具备基本的调试和排错能力;(3)掌握常用的软件开发工具和环境;(4)具备一定的团队协作和项目管理能力。

3.情感态度价值观目标:(1)培养学生的创新意识和解决问题的能力;(2)增强学生的自信心和自我成就感;(3)培养学生团队合作精神和良好的沟通技巧;(4)引导学生树立正确的职业观念和道德规范。

二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基本语法和编程规范;2.数据结构(数组、链表、栈、队列等)及其应用;3.算法(排序、查找等)及其实现;4.软件工程的基本原理和方法;5.常用的软件开发工具和环境。

教学进度安排如下:1.第1-2周:C语言基本语法和编程规范;2.第3-4周:数据结构(数组、链表、栈、队列等)及其应用;3.第5-6周:算法(排序、查找等)及其实现;4.第7-8周:软件工程的基本原理和方法;5.第9-10周:常用的软件开发工具和环境。

三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本概念、原理和方法;2.案例分析法:分析实际案例,让学生更好地理解理论知识;3.实验法:让学生动手实践,提高编程能力;4.讨论法:分组讨论,培养学生的团队合作精神和沟通能力。

四、教学资源本课程的教学资源包括:1.教材:《C程序设计语言》(K&R);2.参考书:《C Primer Plus》、《C和指针》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络等。

基于c语言的教务系统软件设计设计()

基于c语言的教务系统软件设计设计()

河南理工大学电气学院2011级毕业设计(论文)课题名称:基于c语言的教务系统软件设计专业:电子信息技术与仪器设计人:葛国星指导老师:韩军良职称:讲师河南理工大学毕业设计(论文)任务书专业班级电子信息技术与仪器11-2 学生姓名葛国星一、题目基于c语言的教务系统软件设计二、起止日期2015年 3 月15 日至2014 年 5 月30 日三、主要任务与要求指导教师韩军良职称讲师学院领导签字(盖章)年月日河南理工大学毕业设计(论文)评阅人评语题目评阅人职称工作单位年月日河南理工大学毕业设计(论文)评定书题目指导教师职称年月日河南理工大学毕业设计(论文)答辩许可证答辩前向毕业设计答辩委员会(小组)提交了如下资料:1、设计(论文)说明共页2、图纸共张3、指导教师意见共页4、评阅人意见共页经审查,专业班同学所提交的毕业设计(论文),符合学校本科生毕业设计(论文)的相关规定,达到毕业设计(论文)任务书的要求,根据学校教学管理的有关规定,同意参加毕业设计(论文)答辩。

指导教师签字(盖章)年月日根据审查,准予参加答辩。

答辩委员会主席(组长)签字(盖章)年月日河南理工大学毕业设计(论文)答辩委员会(小组)决议学院专业班同学的毕业设计(论文)于年月日进行了答辩。

根据学生所提供的毕业设计(论文)材料、指导教师和评阅人意见以及在答辩过程中学生回答问题的情况,毕业设计(论文)答辩委员会(小组)做出如下决议。

一、毕业设计(论文)的总评语二、毕业设计(论文)的总评成绩:三、答辩组组长签名:答辩组成员签名:答辩委员会主席:签字(盖章)年月日基于c语言的教务系统软件设计摘要本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。

开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。

基于C语言的教务管理系统.docx

基于C语言的教务管理系统.docx

毕业设计(论文)题目(中文):基于C++语言的教务管理系统的设计与实现(英文):Educational Administration Management System Designand Implementation Based on C++ language学院专业班级学生姓名学号指导教师学院负责人(签章)完成日期2015年 5月上海师范大学天华学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的毕业设计(论文),题目《基于C++语言的教务管理系统的设计与实现》是本人在指导教师的指导下,进行研究工作所取得的成果。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。

除此之外,本设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。

本人完全意识到本声明应承担的法律责任。

作者(签名):日期:年月日毕业设计(论文)任务书(2015 届)题目(中文):基于C++语言的教务管理系统的设计与实现(英文):Educational Administration Management System Designand Implementation Based on C++ language学院工学院专业班级学生姓名学号指导教师学院负责人(签章)日期:2014年12月 5 日一、毕业设计(论文)的主要内容与具体要求(任务及背景、工作环境、成果形式、着重培养的能力、有实验环节的要提出主要技术指标、要求)(一)、毕业设计(论文)主要内容及主要技术指标、要求1. 主要内容本课题基于C++语言的教务管理系统的设计与实现。

课题研究内容如下:本课题是利用C++语言来实现学校学生信息的管理。

研究目标是将本课题的成果应用于学校学生信息以及学年成绩的管理。

课题的最终应该实现现代化、与校园网紧密相连的教务管理系统,该系统应可以便捷、简单的对学生信息进行录入以及修改,对学生信息进行更加优化的管理。

在程序上,运用了Microsoft Visual Studio2005软件进行编写主要程序代码,设计实现了三个教务管理系统管理模块功能以及三个模块功能下的多个子功能模块,涉及了系统的管理人员、老师、学生三个全体的全部人员的使用。

c课程设计教务管理系统引言

c课程设计教务管理系统引言

c 课程设计教务管理系统引言一、教学目标本节课的教学目标是使学生掌握教务管理系统的引言部分的内容。

知识目标包括:了解教务管理系统的定义、功能和作用;掌握教务管理系统的发展历程;理解教务管理系统在现代教育管理中的重要性。

技能目标包括:能够正确使用教务管理系统的基本功能;能够分析教务管理系统的优势和局限性。

情感态度价值观目标包括:培养学生对新技术的兴趣和好奇心;培养学生对教育管理的热爱和责任感。

二、教学内容本节课的教学内容主要包括教务管理系统的定义、功能和作用,教务管理系统的发展历程,以及教务管理系统在现代教育管理中的重要性。

具体包括以下几个方面:1.教务管理系统的定义:介绍教务管理系统的概念,解释教务管理系统是如何帮助学校和教育机构进行教学管理和运营的。

2.教务管理系统的发展历程:讲解教务管理系统从传统的手工操作到现代的信息化发展过程,以及我国教务管理系统的发展现状。

3.教务管理系统的作用和功能:详细介绍教务管理系统的主要功能,如课程安排、成绩管理、学生信息管理等,以及教务管理系统对教育管理的重要作用。

三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法。

包括:1.讲授法:教师讲解教务管理系统的定义、功能和作用,以及发展历程。

2.案例分析法:通过分析具体的教务管理系统案例,使学生更好地理解教务管理系统在实际应用中的重要性。

3.讨论法:学生进行小组讨论,分享对教务管理系统的认识和看法,激发学生对教育管理的热爱和责任感。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:提供一本关于教务管理系统的教材,用于学生学习和参考。

2.多媒体资料:制作PPT等多媒体资料,展示教务管理系统的功能和实际应用场景。

3.实验设备:如果条件允许,可以安排学生实际操作教务管理系统,加深对教务管理系统的理解和掌握。

五、教学评估本节课的教学评估将采用多种方式,以全面、客观、公正地评价学生的学习成果。

c语言教务管理系统

c语言教务管理系统

#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");}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("输入错误,请重新输入!");}}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){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){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);}。

c语言教务管理系统

c语言教务管理系统
student表课程course表选修关系表sc文件系统作业用c或c语言编写应用程序建立3个数据文件分别保存学生信息课程信息和选修信息并且完成以下任务
实验一 文件管理 一、实验目的 1.了解数据管理技术之文件系统管理数据的 特点; 2.掌握应用程序存取数据文件的方法; 3.通过实际体会与比较,为后面感受数据库 系统管理数据的优课程数据库,包括学生表 student,课程表course和选修表sc,如下表 所示:
Student表
课程course表
选修关系表SC
文件系统作业
用C或C++语言编写应用程序,建立3个数据文件分别保存学 生信息、课程信息和选修信息,并且完成以下任务: 1.编写数据插入功能模块,将以上各个数据表的数据分 别插入到对应的数据文件中,并显示输出各个数据表的数 据信息; 2.编写数据修改功能模块,将所有学生的年龄增加1岁, 并显示输出所有学生的信息; 3.编写数据删除功能模块,删除学号为95004的学生记录, 并显示输出所有学生的信息。 4.编写数据查询功能模块,查询选修了课程名为“信息系 统”的学生学号和姓名。

C教务管理系统设计与实现

C教务管理系统设计与实现

C#系统开发能力综合实训----教务管理系统设计与实现系别:班级:姓名:学号:日期:一、课程设计题目:教务管理系统二、课程设计目的一个综合性的实践环节,通过课程设计促进知识的复习和所学知识的巩固。

并利用所学知识能够利用VS2005开发一个简易的教务管理系统.三、课程设计要求需求分析在科学技术飞速发展的今天,计算机科学及互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。

各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。

现如今学校招生越来越多,必然就会有大量的学生信息需要处理。

如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,给管理这些数据带来了很大的不便,也越来越不适合学校发展的需要。

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量,就需要建立一个高效快捷的教务管理系统迫在眉睫。

其目的是为了提高学校对信息的管理,减少人力资源的开支和浪费,从而提高学校在各方面的工作效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

由于计算机和网络的普及,若建立一个C/S结构的教务管理系统,学生便可以通过网络来查询成绩并且查询自己的有关信息,使得学校的教务管理工作系统化,规范化,自动化,大大提高了学校管理教务信息的效率。

教务管理系统是一个庞大而复杂的系统,它包括对院系资料的管理,对课程资料的管理,对学生资料的管理和对学生成绩的管理等等主要的功能。

教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。

所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。

四、课程设计内容1.系统总体结构2.数据库模块由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,一部分数据库中的表如下所示:表1-1 admin表表1-2 teacher表图1-1 学生成绩管理结构教务管理学生信息管课程信息管理成绩信息管理用户管理学生信息管理添加学生信息修改学生信息删除学生信息查询学生信息审核学生修改成绩信息管理审核成绩修改修改成绩信息删除成绩信息查询成绩信息审核成绩修改课程信息管理添加课程信息修改课程信息删除课程信息查询课程信息审核课程修改用户管理添加用户成绩信息管理删除用户查询用户信息修改密码添加成绩信息表1-3 student表表1-4 class表2.运行界面如图1-1所示:图 1-1 主界面图 1-2 课程界面五、课程设计核心代码Login.aspx代码如下:protected void Login1_Authenticate(object sender, AuthenticateEventArgs e){try{string usertype =((System.Web.UI.WebControls.ListControl)(this.Login1.FindControl("Rad ioButtonList1"))).SelectedValue;int re = ercheck(usertype, erName, Login1.Password);if (re != 0){e.Authenticated = false;if (re == 1) { Login1.FailureText = "用户登录失败!"; }if (re == 2) { Login1.FailureText = "用户不存在!"; } }else{Session["User_id"] = erName;Session["user_power"] = usertype;e.Authenticated = true;}}catch (Exception){return;}addclass.aspx主要代码如下:protected void Btnadd_Click(object sender, EventArgs e){string sql = "insert into class(Class_id,Class_name,Class_college,Class_teacherid) values('"+TBxCid.Text+"','"+TBxCname.Text+"','"+TBxCollege.Text+"','"+DDLti d.SelectedValue+"')";int result = connection.ExecuteSql(sql);if (result >= 1){Response.Write(MyUtility.Alert("插入成功!"));}Response.Write("<scriptlanguge='javascript'>window.location.href='addclass.aspx'</script>");}choosecourse.aspx主要代码如下:protected void Page_Load(object sender, EventArgs e){string sql, Islocked;DataSet ds;if (!IsPostBack){sql = "SELECT x.Course_id, x.Course_name,x.Course_credit, x.Course_PreCId, teacher_course.SCno,teacher_course.Teacher_id, teacher_course.CMax,teacher_course.Class_id, teacher.Teacher_name, (SELECTCourse_name FROM course AS y WHERE (Course_id =x.Course_PreCId)) AS CPreCourse_name FROM teacher_course INNER JOIN teacher ON teacher_course.Teacher_id = teacher.Teacher_id INNER JOIN course AS x ON teacher_course.Course_id = x.Course_id WHERE (x.Course_kind = '2')";ds = connection.ExecuteSelectSql(sql);if (ds != null && ds.Tables.Count > 0){dgCourse.DataSource = ds.Tables[0];dgCourse.DataBind();for (int i = 0; i < ds.Tables[0].Rows.Count; i++){sql = "select count(*) from student_course where Course_id = " + ds.Tables[0].Rows[i]["Course_id"].ToString() + " and SCno=" + ds.Tables[0].Rows[i]["SCno"].ToString();DataSet ds1 = connection.ExecuteSelectSql(sql);if (ds1 != null && ds1.Tables.Count > 0 &&ds1.Tables[0].Rows.Count > 0)dgCourse.Items[i].Cells[6].Text =ds1.Tables[0].Rows[0][0].ToString();}}sql = "SELECT SLocked FROM student where Student_id='" + Session["User_id"].ToString() + "'";SqlCommand coursecommand = new SqlCommand(sql, connection.getconnection());coursecommand.Connection.Open();Islocked = coursecommand.ExecuteScalar().ToString();coursecommand.Connection.Close();if (Islocked == "1"){Session["Locked"] = true;}else{Session["Locked"] = false;}}sql = "selectcourse.Course_name,course.Course_credit,course.Course_kind,Teacher.Te acher_name,Teacher.Teacher_id,student_course.* fromstudent_course,Teacher,course,teacher_course wherestudent_course.Student_id = '" + Session["User_id"].ToString() + "'and student_course.SCno=teacher_course.SCno andstudent_course.Course_id = Course.Course_id andteacher_course.Teacher_id = Teacher.Teacher_id andteacher_course.Course_id = course.Course_id";ds = connection.ExecuteSelectSql(sql);if (ds != null && ds.Tables.Count > 0){dgselectedCourse.DataSource = ds.Tables[0];dgselectedCourse.DataBind();}bool locked = bool.Parse(Session["Locked"].ToString());if (!locked){lbLock.Text = "您尚未锁定选课信息!";}else{lbLock.Text = "选课信息已被锁定!";Label1.Text = "您所要学习的课程(必修和选修的):"; btnLock.Visible = false;dgselectedCourse.Columns[8].Visible = false;dgCourse.Columns[10].Visible = false;}addgrade.aspx主要代码如下:string sql;protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){sql = "selectteacher_course.SCno,teacher_course.Course_id,course.Course_name fromcourse,teacher_course where teacher_course.Teacher_id='" +Session["User_id"].ToString() + "' andteacher_course.Course_id=course.Course_id";DataSet ds = connection.ExecuteSelectSql(sql);if (ds != null && ds.Tables.Count > 0){DataView dv = new DataView(ds.Tables[0]);GVcourse.DataSource = dv;GVcourse.DataBind();GVcourse.SelectedIndex = -1;}}}protected void dgSC_EditCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e){dgSC.EditItemIndex = e.Item.ItemIndex;sql = "select student_course.*,Student_name fromstudent_course,student where Course_id = '" +Lblcid.Text + "' and SCno='" + Lblscno.Text + "' and student_course.Student_id = student.Student_id";dgscdatabind(sql);}六、课程设计心得体会本系统通过一组数据的测试后,可以实现基本的功能,但是功能不是很完善。

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

#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;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;}elsej++;}}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();}{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();}{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();}{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();}{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); }。

相关文档
最新文档