教师课程管理系统(c++课程设计源代码)
C语言课程设计---班级成绩管理系统
![C语言课程设计---班级成绩管理系统](https://img.taocdn.com/s3/m/0d86cd84cc22bcd126ff0c72.png)
课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言 (1)二、总体设计 (2)三、详细设计 (4)四、问题分析及总结 (13)五、参考文献 (15)六、附件 (15)一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。
⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。
2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。
2) 建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。
通过提示用户输入一个数字选项,调用相应的功能函数。
(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。
C语言课程设计学生成绩管理系统源代码吉林大学
![C语言课程设计学生成绩管理系统源代码吉林大学](https://img.taocdn.com/s3/m/fd498427f242336c1eb95eb3.png)
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>typedef struct student{ /*定义结构体*/char IDNumber[16];/*学号*/char FamilyName[16]; /*姓*/char GivenName[16]; /*名*/int sex; /*性别(0代表“女”,1代表“男”)*/int BirthYear; /*出生年*/int BirthMonth; /*出生月*/int BirthDay; /*出生日*/float score[4]; /*成绩*/float sum; /*总分*/float average; /*平均分*/}stu;typedef struct Lnode{student data;Lnode *next;}st, *linklist;/***************************************************************************/ struct tm* ptm;float Sumstu(linklist L);float Averstu(linklist L);float Sumstu(linklist L){ /*计算总分*/linklist s;s=L;int i;s->data.sum=0;for(i=0;i<=4;i++){s->data.sum+=s->data.score[i];}return (s->data.sum);}float Averstu(linklist L){linklist q;q=L;Sumstu(q);q->data.average=q->data.sum/4;return (q->data.average);}void TimeNow() /*获取系统时间*/{struct tm* ptm;long ts;int y,m,d,h,n,s;ts = time(NULL);ptm = localtime(&ts);y = ptm-> tm_year+1900; //年m = ptm-> tm_mon+1; //月d = ptm-> tm_mday; //日h = ptm-> tm_hour; //时n = ptm-> tm_min; //分s = ptm-> tm_sec; //秒}int Menu() /*菜单函数*/{int n;printf("\t\t\t\n\n\n\n欢迎使用学生成绩管理系统\n\n\t\t\t按任意键进入系统!");system("pause");system("cls");printf("************************************************************************* *\n");printf("\n\t\t\t学生成绩管理系统\n\t\t\t\t制作人陈光林(52101407)\n");printf("-------------------------------菜单(Menu)---------------------------------\n");printf("\n\t 1. Enter list 输入记录\n");printf(" \t 2. Delete a record from list 删除记录\n");printf(" \t 3. Print list 显示所有记录\n");printf(" \t 4. Search record on name 按照姓名查找记录\n");printf(" \t 5. Save the file 保存记录到文件中\n");printf(" \t 6. Load the file 从文件中读入记录\n");printf(" \t 7. Compute the score 计算所有学生的总分和均分\n");printf(" \t 8. Query by class 按班级查询显示学生总分\n");printf(" \t 9. Insert record to list 插入记录到表中\n");printf(" \t 0. Quit 退出系统\n");printf("---------------------------------------------------------------------------\n");printf("************************************************************************* ***\n");do{printf("\n\t\t\t 请选择你需要的操作(0—9):");scanf("%d",&n);}while(n<1||n>5); /*如果选择项不在1—9之间则重输*/return(n); /*返回选择项*/}/***************************************************************************/linklist initlist(void) /*建立一个空链表*/{linklist L=(linklist)malloc(sizeof(st));L->next=NULL;return NULL;}/*建立学生信息链表*/st *creastlist(linklist L){int i;float s;linklist p;for(;;){p=(linklist)malloc(sizeof(st)); /*开辟新的节点*/if(!p){printf("\n Out of memory.");return (L);}printf("请输入学生学号");scanf("%s",p->data.IDNumber);if(p->data.IDNumber[0]=='0') break;printf("请输入姓:");scanf("%s",p->data.FamilyName);printf("请输入名:");scanf("%s",p->data.GivenName);printf("请输入性别(0女/1男):");scanf("%d",&p->data.sex);printf("请输入生日:");scanf("%d %d %d",&p->data.BirthYear, &p->data.BirthMonth,&p->data.BirthDay);printf("请输入成绩\n",4);s=0;for(i=0;i<4;i++){do{printf("score%d:",i+1);scanf("%f",&p->data.score[i]);if(p->data.score[i]<0 || p->data.score[i]>100)printf(" Data error,please enter again.\n");}while(p->data.score[i]<0 || p->data.score[i]>100);s=s+p->data.score[i];}p->data.sum=s;p->data.average=s/4;p->next=L;L=p;}return(L);}/****************************************************************************** *****************//*void creastlist(linklist L){st *p;linklist head=NULL;p=(linklist)malloc(sizeof(st));p=L;for(;;){printf("请输入学生学号:\n");scanf("%s",p->data.IDNumber);printf("请依次输入学生姓名:\n");scanf("%s%s",p->data.FamilyName,p->data.GivenName);printf("请输入出生年月日:\n");scanf("%d%d%d",p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay);TimeNow();if(p->data.BirthYear>=ptm-> tm_year+1900){ printf("错误!学生年龄不能为负值!请重新输入!");continue;}else if(p->data.BirthMonth>=ptm-> tm_mon+1){printf("错误!学生年龄不能为负值!请重新输入!");continue;}else if(p->data.BirthDay>=ptm-> tm_mday){printf("错误!学生年龄不能为负值!请重新输入!");continue;}else{printf("请输入性别(0代表女,1代表男:\n");scanf("%d",p->data.sex);if(p->data.sex!=0||p->data.sex!=1) {printf("错误!学生年龄不能为负值!请重新输入!");continue;}else{printf("请分别输入外语、高数、C语言、马哲四门成绩:\n");scanf("%f%f%f%f",&p->data.score[0],&p->data.score[1],&p->data.score[2],&p->data.score[3]);p->next=head;head=p;}}}}*//*输出所有学生的信息*/void print(linklist head){linklist p;p=head;printf("************************************************************************* *");printf("| 学号| 姓名|性别|出生年月日|外语C语言高数马哲|总分|平均分|");printf("--------------------------------------------------------------------------");Sumstu(p);Averstu(p);while(p!=NULL){printf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->dat a.GivenName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average) ;printf("\n");p=p->next;}printf("\n");}/****************************************************************************** **************/void insert(linklist L){ //插入新的结点linklist s,p=L;stu e;s=(linklist)malloc(sizeof(st));s->data=e; //头插法s->next=p->next;p->next=s;}/****************************************************************************** *************/void search(linklist L){int flag=1;char familyname[16];linklist p;printf("请输入要查询的学生姓名:\n");scanf("%s",familyname);p=L->next;while(p!=NULL){if(strcmp(familyname,p->data.FamilyName)==0){system("cls");Sumstu(p);Averstu(p);printf("************************************************************************* *");printf("| 学号| 姓名|性别|出生年月日|外语C语言高数马哲|总分|平均分|");printf("--------------------------------------------------------------------------");printf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->data.Gi venName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average);printf("\n");flag=0;break;}elsep=p->next;}if(flag)printf("没有该学生信息或输入错误");Menu();}/****************************************************************************** *************************/void Delete(linklist L){linklist p,q;char num[16];int label=1;printf("请输入要删除的学生学号:\n");scanf("%s",num);p=L->next;q=L;do{if(strcmp(num,p->data.IDNumber)==0){system("cls");printf("\t发现要删除的学生信息,确认删除吗?\n");printf("\t\t确认(Y)取消(N)");getchar();if('y'||'Y'){q->next=p->next;delete p;printf("删除成功!");label=0;}else{exit(0);}}else{q=q->next;p=q->next;}} while(q->next!=NULL);if(label)printf("输入错误或者信息不存在!");}/****************************************************************************** ***************************/void Paixu(linklist L){linklist p;float s1=90,s2=80,s3=70,s4=60;p=L;int i;for(i=0;i<=4;i++){printf("****************************************************");printf("第%d科90分以上的学生:",i);if(p->data.score[i]>=s1){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s2<=p->data.score[i]<s1){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s3<=p->data.score[i]<s2){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s4<=p->data.score[i]<s3){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(p->data.score[i]<s4){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}}}/***************************************************************************************************//*void Query(linklist L){ //此处假设学号形式为20101407linklist p;p=L;char classs[2];float sumclass;printf("请输入您想查询的班级:\n");scanf("%s",classs);do{sumclass=p->data.score[0]+p->data.score[1]+p->data.score[2]+p->data.score[3] ;printf("%s%f",p->data.IDNumber,p->data.sum);}while((strcmp(classs[1],p->data.IDNumber[5])==0)&&(strcmp(classs[2],p->data.IDNu mber[6])==0));}/****************************************************************************** ********************/void ComputeProject(linklist L){linklist p;float sumall[4],averall[4];float Su=0,Av=0;//sumall[4]={0,0,0,0};averall[4]={0,0,0,0};int i,m=0;p=L;for(i=0;i<=4;i++){for(p=L;p->next!=NULL;p=p->next){m++;sumall[i]+=p->data.score[i];}averall[i]=sumall[i]/4;printf("第%d科的平均成绩是:\n",averall[i]);Su+=averall[i];}Av=Su/4;printf("总的平均成绩是:%f\n",Av);}/****************************************************************************** ******************/void compute(linklist L){linklist p;p=L;Sumstu(p);Averstu(p);do{printf("学号:%s\n",p->data.IDNumber);printf("总分:%f\n平均分:%f\n",p->data.sum,p->data.average);p=p->next;}while(p->next!=NULL);}/****************************************************************************** **************/void insert(linklist L, stu e){ //插入新的结点linklist s,p=L;printf("请输入要插入的学生信息:\n");scanf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->data.Gi venName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average);s=(linklist)malloc(sizeof(st));s->data=e; //头插法s->next=p->next;p->next=s;}/****************************************************************************** *************/void save(linklist L){FILE *fp;linklist p; /* 定义移动指针*/char out];scanf("%s",outfile);if((fp=fopen(outfile,"w"))==NULL) /*为输出打开一个二进制文件,为只写方式*/{printf("Cannot open the file\n");return; /*若打不开则返回菜单*/}p=L; /*移动指针从头指针开始*/while(p!=NULL) /*如p不为空*/{fwrite(p,sizeof(st),1,fp); /*写入一条记录*/p=p->next; /*指针后移*/}fclose(fp); /*关闭文件*/printf("Save the !\n");}/* 从文件读数据函数*/st *Load(linklist L){linklist p1,p2,head=NULL; /*定义记录指针变量*/FILE *fp; /* 定义指向文件的指针*/char in];scanf("%s",infile);if((fp=fopen(infile,"r"))==NULL) /*打开一个二进制文件,为只读方式*/{printf("Can not open the file.\n");return(head);}printf("\nLoading the file!\n");p1=(linklist)malloc(sizeof(st)); /*开辟一个新单元*/if(!p1){printf("Out of memory!\n");return(head);}head=p1;while(!feof(fp)) /*循环读数据直到文件尾结束*/{if(fread(p1,sizeof(st),1,fp)!=1) break; /*如果没读到数据,跳出循环*/p1->next=(linklist)malloc(sizeof(st)); /*为下一个结点开辟空间*/if(!p1->next){printf("Out of memory!\n");return (head);}p2=p1; /*使p2指向刚才p1指向的结点*/p1=p1->next; /*指针后移,新读入数据链到当前表尾*/}p2->next=NULL; /*最后一个结点的后继指针为空*/fclose(fp);printf("\nYou have success to read data from the file!\n");return (L);}/****************************************************************************** **************//****************************************************************************** ***************/void main(){linklist head=initlist();for(;;){switch(Menu()){case 1 :creastlist(head);case 2 :Delete(head);case 3 :print(head);case 4 :search(head);case 5 :save(head);//case 6 :load(head);case 7 :compute(head);//case 8 : Query(head);case 9 :insert(head);case 0 :exit(0);}}}。
课程设计源代码
![课程设计源代码](https://img.taocdn.com/s3/m/d09348980d22590102020740be1e650e52eacfbe.png)
课程设计源代码一、教学目标本课程的教学目标是让学生掌握Python编程的基础知识,包括数据类型、控制结构、函数、列表等,能够运用Python编写简单的程序,培养学生的编程思维和解决问题的能力。
具体来说,知识目标包括:1.理解Python编程的基本概念和语法。
2.掌握基本数据类型(整数、浮点数、字符串、列表、元组、字典、集合)的使用方法。
3.掌握控制结构(if语句、for循环、while循环)的编写方法。
4.理解函数的定义和调用,能够编写简单的函数。
5.掌握文件的基本操作,包括打开、读取、写入和关闭。
技能目标包括:1.能够使用Python编写简单的程序,解决实际问题。
2.能够阅读和理解简单的Python代码。
3.能够对程序进行调试和优化。
情感态度价值观目标包括:1.培养学生对编程的兴趣和热情,提高学生的问题解决能力。
2.培养学生团队合作的精神,学会与他人交流和分享。
3.培养学生的好奇心和探索精神,勇于尝试和挑战。
二、教学内容本课程的教学内容主要包括Python编程的基础知识和编程实践。
具体来说,教学大纲如下:1.引言:介绍Python编程的基本概念和环境搭建。
2.数据类型:讲解整数、浮点数、字符串、列表、元组、字典、集合等基本数据类型的使用方法。
3.控制结构:讲解if语句、for循环、while循环的编写方法。
4.函数:讲解函数的定义和调用,以及常用的内置函数。
5.文件操作:讲解文件的基本操作,包括打开、读取、写入和关闭。
6.编程实践:通过实际案例,让学生运用所学知识编写程序,解决实际问题。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:用于讲解Python编程的基本概念和语法。
2.讨论法:用于引导学生主动思考和解决问题,培养学生的编程思维。
3.案例分析法:通过分析实际案例,让学生理解和掌握编程方法。
4.实验法:通过编写和运行代码,让学生实践和巩固所学知识。
c语言课程设计+报告+源代码
![c语言课程设计+报告+源代码](https://img.taocdn.com/s3/m/562c013edcccda38376baf1ffc4ffe473368fd3c.png)
西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。
二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。
用户密码的修改。
而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。
三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。
2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。
3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。
4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。
5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。
6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。
b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。
C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。
7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。
8.输出现有职工的信息: 会显示现在记录的职工的各项信息。
c语言课程设计及源代码
![c语言课程设计及源代码](https://img.taocdn.com/s3/m/32d5be6c53ea551810a6f524ccbff121dc36c57f.png)
c语言课程设计及源代码一、教学目标本课程旨在让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的程序设计能力。
通过本课程的学习,学生将能够:1.理解C语言的基本语法和编程规则;2.熟练使用C语言进行简单的程序设计;3.掌握常用的数据结构和算法;4.培养良好的编程习惯和问题解决能力。
二、教学内容教学内容将按照教材的章节进行,主要包括:1.C语言的基本语法和编程规则;2.数据类型的定义和运算;3.控制语句和函数的使用;4.常用的数据结构和算法;5.指针和内存管理;6.文件操作和编程实践。
三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法:1.讲授法:通过讲解和演示,让学生掌握C语言的基本语法和编程规则;2.讨论法:通过小组讨论和实践,让学生深入理解和运用数据结构和算法;3.案例分析法:通过分析实际案例,让学生学会解决实际编程问题;4.实验法:通过上机实验,让学生动手实践,巩固所学知识。
四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用权威、实用的C语言教材;2.参考书:提供相关的参考书籍,供学生自主学习;3.多媒体资料:制作PPT和教学视频,辅助讲解和演示;4.实验设备:提供计算机实验室,让学生进行上机实验。
通过以上教学设计,相信学生能够顺利完成本课程的学习,掌握C语言编程的基本技能。
五、教学评估为了全面、客观、公正地评估学生的学习成果,将采用多种评估方式:1.平时表现:通过课堂参与、提问和讨论,评估学生的学习态度和理解程度;2.作业:布置适量的作业,评估学生的编程能力和实践能力;3.考试:进行期中和期末考试,评估学生对课程知识的掌握程度;4.项目实践:课程项目,让学生综合运用所学知识解决问题,评估学生的综合能力。
六、教学安排教学安排将根据课程内容和学生的实际情况进行设计:1.教学进度:按照教材的章节顺序,合理安排每一节课的教学内容;2.教学时间:根据学生的作息时间,选择合适的时间段进行授课;3.教学地点:选择适宜的教室或实验室,保证教学环境的舒适和设施的齐全;4.教学活动:结合学生的兴趣爱好,安排一些实践活动,提高学生的学习积极性。
c语言课课程设计管理系统
![c语言课课程设计管理系统](https://img.taocdn.com/s3/m/3aa4a079a9114431b90d6c85ec3a87c241288a5a.png)
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语言课程设计](https://img.taocdn.com/s3/m/4de462b25ff7ba0d4a7302768e9951e79b896985.png)
教室管理系统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语言课程设计实践报告—学生选课管理系统[内附程序源代码](可编辑)](https://img.taocdn.com/s3/m/8842e6c581eb6294dd88d0d233d4b14e85243e36.png)
C语言大型作业实践报告计算机1001制作者:李菁华张兆丰秦恒加2011年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等信息。
学生可按要求(如总学分不能少于20学分)选课。
课程信息维护,如录入、修改、删除等,课程信息用文件保存。
课程信息浏览?输出。
学生选课功能。
查询功能包括:按学分、课程性质、学生等查询。
统计功能。
统计各门课程的选修人数。
本系统要有通用性、界面美观、操作方便。
要考虑系统安全。
课程信息录入系统选修课程信息录入选修课程信息保存主程序目录选择总体设计思路(流程图):学生选课系统课程信息读入学生信息输入选课系统数据保存选修课数据维护系统添加修改删除以word格式输出密码系统密码验证系统权限限制系统密码对退出程序密码对选修课程信息查找按各种类型查找密码错3次以上具体算法流程设计思路(流程图):主程序目录选择1.学生选课系统;2.选修课程信息输出;3.选修课程信息查找;4.管理员选项;5.退出系统。
管理员选项密码验证系统读入系统时间,通过强制转换成unsigned long int型数据作为初始密码用户输入密码(若是管理员会拥有密码钥匙,得出现在的密码,该密码每分钟都会变化)密码正确进入管理员管理界面,密码不正确重新输入密码输入错误3次以上 12 3学生选课系统选修课程信息以word2003形式输出返回主菜单选修课程信息查找选修课程信息从文件内读入输入按什么查找1.课程编号;2.课程名;3.课程种类;4.总课时;5.教学课时;6实验课时;7.学分;8.开课学期;9.已选人数。
输入查找的关键字从文件内读入的课程信息与关键字逐一对比,完全匹配输出;查找完毕学生信息输入课程信息浏览不选少于这门20分选课系统课选课成功判断学分是否大于20分大于20分结束选课选课信息储存退出程序管理员模块管理员模块 3目录选择1.学生选课系统;2.选修课程信息管理系统;3.退出系统12 5学生选课系统二级目录选择1.新建选修课程信息;2.管理选修课程信息;3.统计每门课程选择人数;4.选修课程信息输出;5.回到主菜单。
C++课程设计---图书信息管理系统设计源代码
![C++课程设计---图书信息管理系统设计源代码](https://img.taocdn.com/s3/m/88a74f0d844769eae009ed73.png)
if(r==0)
cout<<setw(6)<<"编号"<<setw(10)<<"书名"<<setw(10)<<"作者"<<setw(10)<<"出版社"<<setw(15)<<"出版时间"<<setw(15)<<"图书价格"<<setw(10)<<"存量"<<endl;
const int Maxb=100; //最多的图书数
const int Maxbor=5; //每位读者最多借的书
class Book
{//图书类,实现对图书的描述,图书的编号,书名,借出,还入等功能
private:
int tag; //删除标记 1:已删 0:未删
int no; //图书编号
b=query1(bookid);
if(b!=NULL)
{
cout<<"该编号已经存在,不能添加!"<<endl;
e=&book[i];
e->disp();
r++;
}
if(r==0)
cout<<"找不到该书!"<<endl;
return NULL;
}
void bookdata(); //图书库信息
void disp()
}
int getcbtime()
c语言课程设计报告+学生成绩信息管理系统+源代码
![c语言课程设计报告+学生成绩信息管理系统+源代码](https://img.taocdn.com/s3/m/a29ea979fab069dc51220176.png)
实验报告一、问题陈述及其需求分析(一)问题陈述学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:(1)增加一个学生的信息(需输入要增加学生的所有信息);(2)统计本班学生总人数及男女生人数。
(3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。
(4)按学号对所有学生信息排序,并输出结果;(5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。
(二)功能需求分析学生信息管理系统设计学生信息包括:学号,姓名,性别,出生年月,电话使之提供以下功能:1、系统以菜单方式工作2、建立链表并显示3、插入新的学生信息4、删除某学号的学生信息5、查找某学号的学生信息6、对学生信息排序7、统计学生人数8、输出学生信息二总体设计(一)模块依据程序的数据结构,描述该程序的层次结构,如下图:1、建立链表并显示voidcreatelist(structstucode**r);2、插入新的学生信息voidinsert(structstucode**r);3、删除某学号的学生信息voiddel(structstucode**r);4、查找某学号的学生信息voidsearch1(structstucode*r);5、对学生信息排序voidsort(structstucode**r);6、统计学生人数voidsearch2(structstucode*r);7、输出学生信息voidout(structstucode*r);(二)程序总体框架模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。
程序总体框架是该程序的总体流程图。
改程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。
因此选用菜单方式是较佳的方案,程序总体框架如下图:(三)运行环境(软,硬件环境)硬件:CPU,内存,主板,硬盘,显卡,键盘,显示器等等。
软件:WindowsXPtruboc应用软件。
c课程设计源代码医院就诊
![c课程设计源代码医院就诊](https://img.taocdn.com/s3/m/bdc5d10dac02de80d4d8d15abe23482fb4da02bd.png)
c 课程设计源代码医院就诊一、教学目标本课程的教学目标是使学生掌握C语言编程的基本语法和编程思想,培养学生具备基本的编程能力和问题解决能力。
具体包括以下三个方面:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,增强学生的自信心和自主学习能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言的基本语法和编程规范。
2.数据类型、运算符和表达式。
3.控制结构,包括顺序结构、选择结构和循环结构。
4.函数的定义和调用。
5.指针和数组。
6.字符串和文件操作。
7.编程实践,包括常见算法和实际问题的解决。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法和编程思想,使学生能够理解并掌握相关知识。
2.案例分析法:通过分析实际案例,让学生了解如何运用C语言解决实际问题。
3.实验法:让学生动手编写程序,培养学生的编程能力和问题解决能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流和合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习材料。
2.参考书:提供一些经典的C语言编程参考书,帮助学生深入理解C语言。
3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣。
4.实验设备:为学生提供充足的计算机设备,确保每个学生都能动手实践。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解程度。
2.作业:布置适量的作业,要求学生按时完成,并对其进行批改,了解学生的掌握情况。
3.考试:安排期中考试和期末考试,测试学生对C语言知识的掌握和运用能力。
《C语言程序设计》课程标准
![《C语言程序设计》课程标准](https://img.taocdn.com/s3/m/85b1edd9dc88d0d233d4b14e852458fb770b38f6.png)
《C语言程序设计》课程标准课程代码:040070 课程类别:行业通用能力培养课程学时:76一、课程定位和课程设计(一)课程性质与作用课程的性质:本课程是电子信息工程技术专业的行业通用能力培养课程,是校企合作开发的基于面向过程程序开发工作过程的课程。
课程的作用:本课程主要培养学生面向过程程序开发岗位的行业通用能力和职业素质,是一门面向职业岗位的技术应用类课程。
《C语言程序设计》课程包含有一定的理论知识,同时也强调对学生的编程能力的培养。
本课程是电子信息工程技术专业的一门专业基础课程,是一门理论与实践相结合的课程,具有一定的理论深度与实践难度。
通过对本课程的学习,不仅能为后续课程(如:《单片机》、《电子产品设计》等)打下基础,还为学生从事C语言程序设计方向的深入编程打下基础。
(二)课程基本理念根据教育部的规定,程序设计语言作为计算机基础教育的核心内容之一已经成为高等院校理工类学生的公共基础课程。
我们通过教学方式和手段改革、教学内容和教材建设、课程设计遵循“设计导向”的职教观,“以学生为根本,以能力培养为核心”的能力本位的质量观。
重在理论与实践相结合,使学生通过“做中学”,掌握实际工作的过程和方法,形成建构主义的知识观,提高职业能力,养成终身学习的教育观。
(三)课程设计思路为了提高学生职业技能,落实工学结合的教育理念,根据软件开发岗位群及能力要求,改革了传统的课程体系和教学方法。
将原来以课堂理论教学为主,辅助以相应的实践教学的课程设计思路,改革为以实践技能培养为主,理论知识够用为度的设计思路。
在课程内容设计方面,以软件项目开发过程内容为主线进行设计,积极与行业企业合作开发课程,共同开发模块化的课程,进一步体现课程设计职业性、实践性的特点。
教学内容的组织安排是根据整个课程的内容,确定一定的载体,将整个课程划分为几个大的基本模块,根据模块内容,可将多个单元的训练要求综合考虑,设计内含多个训练任务的、具有平行、递进关系或包含关系的一级训练项目。
教师管理系统的课程设计
![教师管理系统的课程设计](https://img.taocdn.com/s3/m/005d9ca3c9d376eeaeaad1f34693daef5ef71397.png)
教师管理系统的课程设计一、课程目标知识目标:1. 学生能理解教师管理系统的基本概念,掌握系统的主要功能模块及其操作流程。
2. 学生能够运用所学知识,分析并描述教师管理系统在教育教学中的应用场景。
3. 学生了解教师管理系统在提高教育教学质量、促进教育信息化方面的重要意义。
技能目标:1. 学生能够独立完成教师管理系统的注册、登录、信息维护等基本操作。
2. 学生能够运用系统进行教学资源搜索、课程安排、作业发布与批改等教学活动。
3. 学生通过实践操作,培养解决实际教育问题的能力,提高信息技术应用水平。
情感态度价值观目标:1. 学生通过学习教师管理系统,认识到信息技术在教育领域的重要作用,增强对教育信息化的认同感。
2. 学生在学习过程中,培养合作、探究、创新的精神,提高学习积极性和主动性。
3. 学生能够遵循网络道德规范,树立正确的网络安全意识,养成良好的人际沟通与协作习惯。
课程性质:本课程为实用性强的信息技术课程,旨在帮助学生掌握教师管理系统的操作技能,提高教育教学质量。
学生特点:本课程针对的是具有一定信息技术基础知识和操作能力的初中生,他们对新鲜事物充满好奇,学习积极性高,但注意力容易分散。
教学要求:结合学生特点,教师需采用生动有趣的教学方法,激发学生学习兴趣,注重实践操作,培养学生的动手能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,使他们在掌握知识技能的同时,形成正确的价值观。
通过分解课程目标为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 教师管理系统概述:介绍教师管理系统的定义、发展历程、功能特点及其在教育信息化中的作用。
2. 系统模块功能介绍:- 注册与登录模块:讲解如何注册账号、登录系统、修改密码等操作。
- 信息维护模块:介绍个人信息、课程信息、教学资源信息的维护方法。
- 教学活动模块:包括课程安排、作业发布与批改、在线答疑等功能的使用方法。
课程设计:学生学籍管理系统源代码
![课程设计:学生学籍管理系统源代码](https://img.taocdn.com/s3/m/c72b8ff2581b6bd97e19eab8.png)
#include”stdio。
h”#include"conio。
h”#include"stdlib。
h”#include”string。
h"#define N 1000 //N为可输入的学生总人数,可根据需要更改#define M 2 //M为宏定义的(在创建密码函数中)可建立的登陆用户个数,可更改struct student //定义学生信息结构体数组{char num[9]; //学号char name[20]; //姓名char depar[15]; //院系char zhuanye[15];//专业char classes[5]; //班级char age[3];//年龄char sex[4]; //性别char nation[5]; //民族char birth[9]; //出生日期char add[10];//籍贯};struct code //定义密码结构体数组{char name[20];char code[7];}co[M],s0;//确认是否新创建密码文件模块int code(){FILE *fp;if((fp=fopen("学生学籍管理系统__code。
txt","rt"))==NULL){printf(”密码文件不存在,请输入新的用户名及密码:\n");//若不存在此密码文件,则提示用户创建密码printf("请输入任意键继续!”);getch();system("cls");return 1; //无密码文件返回1 }elsereturn 0; //已有密码文件返回0 }//新创建初始密码void code_input(){FILE *fp;int i;if((fp=fopen(”学生学籍管理系统__code。
txt”,"wt"))==NULL);//当建立密码文件成功时,进入for循环for(i=0;i〈M;i++) //M为宏定义的可建立的登陆用户个数,可更改{printf("请录入第%d个用户名:",i+1);//创建不同的用户名及密码scanf(”%s",co[i]。
教师信息管理系统(设计说明书范本)
![教师信息管理系统(设计说明书范本)](https://img.taocdn.com/s3/m/97df3b7f7f1922791788e86e.png)
. ..C程序设计课程设计任务书及说明书设计题目教师信息管理系统学院计算机与通信专业、年级物联网工程学生王明明学号 _____ 14530008_指导教师时间 2015 年春季学期目录1 摘要 (3)2 前言 (4)3 正文 (5)3.1系统分析(需求分析)3.2系统总体设计3.3详细设计3.4系统测试及使用(操作)说明4 总结 (18)5 参考文献 (18)致谢附录: 程序源代码1 摘要本次课程设计采用C语言,开发了一个基本的教师信息管理系统,该系统具备了按教师姓名查找并输出教师信息,按教师号查找并输出教师信息,按教师姓名查找并删除数据,输出全部教师信息数据,对教师的管理也可以更加方便快捷。
关键词:C语言;课程设计;教师信息管理系统2 前言随着教育的广泛性的提高,教师的数量逐渐增多,但是在教师管理是出现教师姓名、年龄等出现错误的诸多问题。
本文针对上述问题,采用软件工程的开发原理,根据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个教师信息管理系统。
采用c语言作为开发工具,设计了这个教师信息管理系统,解决了教师信息管理中存在的数据安全性、数据一致性等问题。
3、正文3.1 系统分析3.3.1.设计要求该设计要求教师以学校教师信息管理业务为背景,设计、开发一套“教师信息管理系统”软件。
通过该题目的设计过程,可以培养教师结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
3.3.2设计任务1、以教师信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;2、完成软件结构设计和算法设计;3、完成系统的软件开发和测试工作;教师信息包括:教师号,,年龄,性别,出生年月,地址,,E-mail等。
数据结构课程设计-职工信息管理系统-单链表实现程序源代码
![数据结构课程设计-职工信息管理系统-单链表实现程序源代码](https://img.taocdn.com/s3/m/64165894bb0d4a7302768e9951e79b896902680d.png)
printf(”请你输入要查找的工号:");
scanf(”%s",findmess);
p=Locate(l,findmess,”num”);
if(p)
{
printf(”\t\t\t\t查找结果\n”);
printstart(); //打印横线
printc(); //打印各学科标题
printe(p); //打印p结点各个数据成员的值
printf(”\t* [7] 排序 [8] 保存职工信息 *\n");
printf(”\t* [9] 显示数据 [0] 退出系统 *\n”);
printf(”\t* *\n”);
printf("\t*****************************************************************\n”);
}
void Wrong()
{
printf("\n=====>提示:输入错误!\n");
}
void Nofind()
{
printf("\n=====〉提示:没有找到该职工!\n”);
}
void printc() /* 本函数用于输出中文 */
{
printf(" 工号\t 姓名 性别 部门 职称 工资 总工资 平均工资\n");
Node *p,*r; /*实现删除操作的临时的结构体指针变量*/
char findmess[20];
if(!l—〉next) //当list无后继结点时,提示和结束返回del()
{
printf("\n=====>提示:没有记录可以删除!\n");
c课课程设计以及源代码
![c课课程设计以及源代码](https://img.taocdn.com/s3/m/6da64292a0c7aa00b52acfc789eb172dec639967.png)
c 课课程设计以及源代码一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,培养学生编程思维和解决问题的能力。
具体目标如下:1.知识目标:(1)理解C语言的基本语法,包括变量、数据类型、运算符、表达式等;(2)掌握函数的定义和调用,了解作用域规则;(3)熟悉数组的声明和使用,理解字符串的基本操作;(4)了解指针的概念和应用,掌握指针与数组、指针与函数的关系;(5)学习结构体和联合体,掌握文件操作的基本方法。
2.技能目标:(1)能够运用C语言编写简单的程序,实现输入输出、数据处理等功能;(2)学会使用调试工具,能够发现和解决程序中的错误;(3)掌握常用的算法,如排序、查找、递归等,并能够灵活运用;(4)具备一定的编程规范和编程习惯,能够阅读和理解他人的代码。
3.情感态度价值观目标:(1)培养学生对计算机科学的兴趣和好奇心,激发学生主动学习的动力;(2)培养学生团队合作的精神,学会与他人交流和分享;(3)培养学生勇于面对困难和挑战,培养解决问题的能力;(4)培养学生具有良好的职业操守,注重诚信和责任心。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法:变量、数据类型、运算符、表达式、函数等;2.数据结构:数组、字符串、指针、结构体、联合体等;3.算法:排序、查找、递归等常用算法;4.文件操作:文件的打开、关闭、读写等基本操作;5.编程实践:编写简单的程序,锻炼编程能力和解决问题的能力。
三、教学方法为了达到课程目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和演示,使学生掌握C语言的基本语法和数据结构;2.讨论法:学生进行小组讨论,培养学生的团队合作能力和解决问题的能力;3.案例分析法:分析典型的编程案例,使学生了解C语言在实际应用中的重要性;4.实验法:让学生动手编写程序,培养学生的编程能力和实践能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料;2.参考书:提供相关的参考书籍,丰富学生的知识体系;3.多媒体资料:制作课件、教学视频等,增强课堂教学的趣味性和生动性;4.实验设备:提供计算机实验室,让学生进行编程实践和实验操作。
c语言课程设计考勤管理系统
![c语言课程设计考勤管理系统](https://img.taocdn.com/s3/m/12fca295bb0d4a7302768e9951e79b8968026827.png)
c语言课程设计考勤管理系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本知识,能够运用C语言设计一个简单的考勤管理系统。
具体目标如下:1.掌握C语言的基本语法和数据结构。
2.了解函数的定义和调用。
3.学习线性表、栈和队列等数据结构的基本操作。
4.能够使用C语言编写简单的程序。
5.学会使用C语言进行程序调试。
6.能够独立设计并实现一个考勤管理系统。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生解决问题的能力。
2.培养学生团队合作的精神,学会与他人分享和交流。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及考勤管理系统的设计和实现。
具体安排如下:1.C语言的基本语法:变量、数据类型、运算符、表达式、语句等。
2.数据结构:线性表、栈、队列、链表等。
3.函数的定义和调用:函数的定义、声明、调用、返回值等。
4.考勤管理系统的设计和实现:系统需求分析、系统设计、模块划分、编码实现、系统测试等。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解C语言的基本语法、数据结构和函数的定义和调用,使学生掌握相关知识。
2.案例分析法:通过分析典型的考勤管理系统的案例,使学生了解并学会设计一个考勤管理系统。
3.实验法:通过上机实验,让学生动手编写代码,巩固所学知识,提高编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《C程序设计原理与应用》作为主要教材,辅助以《C语言程序设计》等参考书。
2.多媒体资料:提供C语言编程相关的视频教程、课件等。
3.实验设备:计算机、编程软件、调试工具等。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面客观地评价学生的学习成果。
1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和参与程度。
2.作业:布置适量的编程作业,评估学生的编程能力和对知识的掌握程度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<iostream>#include<iomanip>#include<conio.h>#include<fstream>#include<string>#include<windows.h>using namespace std;using std::string;class ke;ostream&operator<<(ostream&dist,ke&k);istream&operator>>(istream&sour,ke&k);class teacher;ostream&operator<<(ostream&dist,teacher&t);istream&operator>>(istream&sour,teacher&t);class ke{protected:static int keID;string keName;char keJB;int keXS;int keJC;int keBH;public:ke(string name="未命名的课程",char jb='0',int xs=0,int jc=0,int bh=0);void show();friend ostream&operator<<(ostream&dist,ke&k);friend istream&operator>>(istream&sour,ke&k);int getkeJC(){return keJC;}string getkeName(){return keName;}};int ke::keID=0;ke::ke(string name,char jb,int xs,int jc,int bh){keID++;bh=keID;keName=name;keJB=jb;keXS=xs;keJC=jc;keBH=bh;}void ke::show(){cout<<"课程编号:"<<keBH<<endl;cout<<"课程名称:"<<keName<<endl;cout<<"课程级别:";switch (keJB){case '1':cout<<"公共基础课"<<endl;break;case '2':cout<<"专业基础课"<<endl;break;case '3':cout<<"专业课"<<endl;break;case '4':cout<<"公选课"<<endl;}cout<<"学时:"<<keXS<<endl;cout<<"基本课酬:"<<keJC<<endl;}ostream&operator<<(ostream&dist,ke&k){dist<<right<<setw(10)<<k.keBH;dist<<left<<setw(20)<<k.keName;dist<<right<<setw(10)<<k.keJB<<setw(10)<<k.keXS<<setw(10)<<k.keJC<<endl;return dist;}istream&operator>>(istream&sour,ke&k){sour>>k.keBH>>k.keName>>k.keJB>>k.keXS>>k.keJC;return sour;}class keDB:public ke{public:int judge();void add();void del();};void keDB::add(){cout<<"请输入课程名称:";cin>>keName;cout<<"1)公共基础课2)专业基础课3)专业课4)公选课"<<endl;cout<<"请输入课程级别(序号):";cin>>keJB;while(keJB!='1'&&keJB!='2'&&keJB!='3'&&keJB!='4'){cout<<"错了!让你输1、2、3、4你还输别的,专业点好不好=_=...."<<endl;cout<<"1)公共基础课2)专业基础课3)专业课4)公选课"<<endl;cout<<"请重新输入课程级别(序号):";cin>>keJB;}cout<<"请输入学时:";cin>>keXS;while(keXS<=0||keXS>=100){cout<<"要么学时太多超出范围,要么你就输入了什么奇怪的东西,重新输!"<<endl;cout<<"请重新输入学时:";cin>>keXS;}cout<<"请输入基本课酬:";cin>>keJC;while(keJC<=0||keJC>=100000){if(keJC>=10000) cout<<"这个价位也太高了吧,你确定不是在洗黑钱?"<<endl;else if(keJC<=0) cout<<"给人上课还倒贴钱,脑子进水了吧=_="<<endl;cout<<"请重新输入基本课酬:";cin>>keJC;}cout<<"课程编号(自动生成):"<<keBH<<endl;}void keDB::del(){keName="未命名的课程";keJB='0';keXS=0;keJC=0;}int keDB::judge(){return keJB;}class teacher{protected:static int teachID;string teName;int teNo;string teClass;int teNumber;double teMoney;string kName;keDB k[100];public:teacher(string kname="none",int no=0,string name="none",string tclass="none",int number=0,int money=0){teachID++;kName=kname;teNo=teachID;teName=name;teClass=tclass;teNumber=number;teMoney=money;}string getkeName(){return teName;}friend ostream&operator<<(ostream&dist,teacher&t);friend istream&operator>>(istream&sour,teacher&t);void show(){if(teName!="none"){pay();cout<<"教师编号:"<<teNo<<endl;cout<<"教师姓名:"<<teName<<endl;cout<<"课程名称:"<<kName<<endl;cout<<"教授班级编号:"<<teClass<<endl;cout<<"教授班级数量:"<<teNumber<<endl;cout<<"课酬:"<<teMoney<<endl;}else cout<<"该老师不存在!"<<endl;}void pay(){keDB k[100];int i=0,n=0,m=0;ifstream ifile("D:\\课程数据.data");for(i=0;i<100;i++) ifile>>k[i];ifile.close();for(i=0;i<100;i++){if(k[i].getkeName()==kName){m=i;break;}}switch(k[m].judge()){case '1':if(teNumber<=3) teMoney=k[m].getkeJC()*teNumber;else{if(teNumber<=6) teMoney=k[m].getkeJC()*teNumber*1.1;else teMoney=k[m].getkeJC()*teNumber*1.2;}break;case '2':teMoney=k[m].getkeJC()*1.2*teNumber;break;case '3':teMoney=k[m].getkeJC()*1.2*teNumber;break;case '4':teMoney=k[m].getkeJC()*teNumber;break;}}};int teacher::teachID=0;ostream&operator<<(ostream&dist,teacher&t){dist<<right<<setw(10)<<t.teNo;dist<<left<<setw(20)<<t.teName<<setw(20)<<t.kName<<setw(60)<<t.teClass;dist<<right<<setw(10)<<t.teNumber<<setw(10)<<t.teMoney<<endl;return dist;}istream&operator>>(istream&sour,teacher&t){sour>>t.teNo>>t.teName>>t.kName>>t.teClass>>t.teNumber>>t.teMoney;return sour;}class teacherDB:public teacher{public:int judge(){return teNumber;}void add(){int i=0;string temp,a="、";cout<<"请输入教师名称:";cin>>teName;cout<<"请输入老师所教授课程的名称";cin>>kName;cout<<"请输入教师所教授班级的数量";cin>>teNumber;teClass="";cout<<"请输入教师所教授班级的编号";for(i=0;i<teNumber;i++){cin>>temp;teClass+=temp;teClass+=a;}cout<<"教师编号(自动生成):"<<teNo<<endl;pay();cout<<"教师课酬(自动生成):"<<teMoney<<endl;}void del(){teName="none";kName="none";teClass="none";teNumber=0;teMoney=0;}};int main(){int i,c;char a,b='1',d,e;string str;keDB k[100];teacherDB t[100];cout<<" ╔@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@╗"<<endl;cout<<" @@ "<<endl;cout<<" @C++ 真难@ "<<endl;cout<<" @@ "<<endl;cout<<" @(→_→)(←_←)@ "<<endl;cout<<" @@ "<<endl;cout<<" @(——)@ "<<endl;cout<<" @@"<<endl;cout<<" @ ▂▃▄▅▅▅▅▄▃▂@ "<<endl;cout<<" ╚@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@╝"<<endl;cout<<" 按任意键继续。