c语言课程设计课程信息管理(共20页).doc
精选优质文档-倾情为你奉上#include <stdio.h> #include<windows.h> #include <conio.h> /Console Input/Output(控制台输入输出) #include <string.h> #define n1 20 /控制课程个数的存储空间 #define m1 5 /控制课程属性个数的存储空间空间 char couinfon1m116; /定义全局数组 char d16, b6; char password="" /原密码int a, i,j,t=0,c=0,n=4,m=5; /定义全局变量 /主函数模块 void main() void pasd(); /声明密码函数 void zhujie(); /声明zhujie()函数 zhujie(); /调用zhujie()函数 pasd(); /调用密码函数 void zhujie() printf("t * * $ * * $ * *n"); printf("t* * $ * * $ * *n"); printf(" t* * $ * * $ * *n"); printf("t $ $n"); printf("t$ $ $n"); printf("t $ $ $n");printf("t * $ *n"); printf("t* *n"); printf("t * *n"); printf("t * $ * $ *n"); printf("t* $ 欢迎进入课程管理信息系统 $ *n"); printf("t * $ * $ *n"); printf("t * *n"); printf("t* *n"); printf("t * $ *n"); printf("t $ $ $n"); printf("t$ $ $n"); printf("t $ $n"); printf("t * * $ * * $ * *n"); printf("t* * $ * * $ * *n"); printf("t * * $ * * $ * *n"); /密码模块 void pasd(void) /定义密码函数 void yewu(); /声明业务函数 int i; char p9; int n=3; /密码输入次数控制 do printf("please enter password:n"); /输入密码 for(i=0;i<6;i+) pi=getch(); if (pi=8) /控制退格 i=i-2; printf("b b"); else printf("*"); if(pi=13) break; /回车控制 p6='0' if(strcmp(p,password)=0) /密码匹配strcmp(p,password) printf("n"); c=1; yewu(); /调用业务函数 break; else printf("please enter password again:n"); n-; while(n>0); /业务模块 void yewu() /定义业务函数 void inputcouinfo(void); /声明输入函数 void addcouinfo(void); /声明添加函数 void findcouinfo(void); /声明查询函数 void ordercouinfo(void); /声明排序函数 void delcouinfo(void); /声明删除函数 void updatecouinfo(void); /声明修改函数 char d; system("cls"); if (c=1) inputcouinfo(); /调用输入函数 printf("t课程信息查询请输入: 1 nt课程信息删除请输入: 2 nt课程信息修改请输入: 3 nt课程信息排序请输入: 4 nt课程信息添加请输入:5n"); printf("您是否进行其他操作,否输入0,否则输入其他:"); scanf("%d",&a); for (i=0;i+) if(a!=0) printf("请输入要操作的选项:"); scanf("%s",&d); switch(d) case '1':findcouinfo();break; /调用课程信息查询函数 case '2':delcouinfo();break; /调用课程信息删除函数 case '3':updatecouinfo();break; /调用课程信息修改函数 case '4':ordercouinfo();break; /调用课程信息排序函数 case '5':addcouinfo(); break; /调用课程信息添加函数 default: break; /课程信息输入模块 void inputcouinfo(void) /定义课程信息输入函数 int x=1; printf("ttt *n"); printf("ttt 欢迎进入信息输入系统!n"); printf("ttt *n"); printf("请注意:性质为必修(B)或选修(X)n"); printf("tt课程号 名称 性质 总学时 学分n"); for (i=0;i<n;i+) printf("输入课程编号%d:",x+); for (j=0;j<m;j+) scanf("%s",&couinfoij); printf("课程号 名称 性质 总学时 学分n"); for (i=0;i<n;i+) for (j=0;j<m;j+) printf("%st",couinfoij); printf("n"); void addcouinfo(void) /课程信息添加函数 int d,t,z; printf("ttt*n"); printf("ttt欢迎进入信息添加系统!n"); printf("ttt*n"); for(d=1;d+) printf("n是否进行添加,“否” 请输入0,进行输入其他n"); scanf("%d",&t); if(t!=0) printf("请输入要添加的第%d个课程信息:n",d); printf("课程号 名称 性质 总学时 学分n"); z=n+; for (j=0;j<m;j+) scanf("%s",&couinfozj); printf("%st",couinfozj); else break; system("cls"); printf("t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n"); void findcouinfo(void) /课程信息查询函数 char y16; int d,t,z; printf("ttt*n"); printf("ttt欢迎进入信息查询系统!n"); printf("ttt*n"); for(d=1;d+) printf("n是否进行查询,“否” 请输入0n"); scanf("%d",&t); if(t!=0) printf("请输入要查询的课程号:"); scanf("%s",&y); printf("课程号 名称 性质 总学时 学分n"); for(i=0;z=i,i<n1;i+) if(strcmp(y,couinfoi0)=0) for (j=0;j<m;j+) printf("%st",couinfoij); break; if(z=n) printf("没有此课程号信息n"); else break; system("cls"); printf("t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n"); void delcouinfo(void) /课程信息删除函数 char y16; char y116; int d,x,z; printf("ttt*n"); printf("ttt欢迎进入信息删除系统!n"); printf("ttt*n"); for(d=1;d+) printf("是否进行删除信息,否请输入: 0 进行输入其他数字:n"); scanf("%d",&x); if(x!=0) printf("请输入要删除的课程号:"); scanf("%s",&y); printf("请再次输入要删除的课程号:"); scanf("%s",&y1); printf("课程号 名称 性质 总学时 学分n"); if (strcmp(y,y1)=0) for (i=0;i<n;i+) if (strcmp(y,couinfoi0)=0) z=i; printf("要删除的课程信息是n"); for (j=0;j<m;j+) printf("%st",couinfoij); t+; printf("n"); for (i=z;i<n-t;i+) for (j=0;j<m;j+) strcpy(couinfoij,couinfoi+1j); if(z=n) printf("没有此课程号信息n"); else break; printf("课程号 名称 性质 总学时 学分n"); for (i=0;i<n-t;i+) for (j=0;j<m;j+) printf("%st",couinfoij); printf("n"); system("cls"); printf("t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n"); /课程修改函数 void updatecouinfo(void) char h16,h116,h216; int d,b,x,z,e,f; printf("ttt*n"); printf("ttt欢迎进入信息修改系统!n"); printf("ttt*n"); for(d=1;d+) printf("是否进行信息修改,否请输入: 0 进行输入其他数字:n"); scanf("%d",&x); if(x!=0) printf("请输入要修改的课程号:"); scanf("%s",&h); printf("请再次输入要修改的课程号:"); scanf("%s",&h1); if (strcmp(h,h1)=0) for(i=0;z=i,i<n;i+) if (strcmp(h,couinfoi0)=0) printf("要修改的课程信息是n"); for (j=0;j<m;j+) printf("%st",couinfoij); printf("n请输入你要修改第几项n");scanf("%d",&b); printf("请输入你要修改的内容n");scanf("%s",&h2); strcpy(couinfoib-1,h2); for(e=0;e+) printf("您是否进行其他修改,否请输入 0,否则输入其他:"); scanf("%d",&f); if(f!=0) printf("n请输入你要修改第几项n");scanf("%d",&b); printf("请输入你要修改的内容n");scanf("%s",&h2); else break; strcpy(couinfoib-1,h2); for(j=0;j<m;j+) printf("%st",couinfoij); printf("n"); break; if(z=n-t) printf("没有此课程号信息n"); else break; system("cls"); printf("t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5n"); /排序模块 void ordercouinfo(void) /按学分排序 int fm1; int x,z,max; float s=0; printf("ttt*n"); printf("ttt欢迎进入学分排序系统!n"); printf("ttt*n"); for (i=0;i<n-t;i+) for (j=0;j<m;j+) printf("%st",couinfoij); printf("n"); printf("请按序输入课程学分n"); for(i=0;i<n-t;i+) scanf("%d",&fi); for(i=0;i<n-t;i+) s=s+fi; printf("总学分是%6.2f平均学分是%6.2fn",s,s/(n-t); for(i=0;i<n-t;i+) for(j=0,max=0;j<n-t;j+) if(max<fj) max=fj,x=j; fx=0; for(z=0;z<m;z+) printf("%st",couinfoxz); printf("n"); printf("t课程查询请输入: 1 nt课程删除请输入: 2 nt课程修改请输入: 3 nt课程排序请输入: 4 nt课程添加请输入:5 n"); 1一 月二 月三 月产品名称数量金额利润产品名称数量金额利润产品名称数量金额利润合 计合 计合 计四 月五 月六 月产品名称数量金额利润产品名称数量金额利润产品名称数量金额利润合 计合 计合 计下午13:0017:00B实行不定时工作制的员工,在保证完成甲方工作任务情况下,经公司同意,可自行安排工作和休息时间。312打卡制度3.1.2.1公司实行上、下班指纹录入打卡制度。全体员工都必须自觉遵守工作时间,实行不定时工作制的员工不必打卡。3.1.2.2打卡次数:一日两次,即早上上班打卡一次,下午下班打卡一次。3.1.2.3打卡时间:打卡时间为上班到岗时间和下班离岗时间; 3.1.2.4因公外出不能打卡:因公外出不能打卡应填写外勤登记表,注明外出日期、事由、外勤起止时间。因公外出需事先申请,如因特殊情况不能事先申请,应在事毕到岗当日完成申请、审批手续,否则按旷工处理。因停电、卡钟(工卡)故障未打卡的员工,上班前、下班后要及时到部门考勤员处填写未打卡补签申请表,由直接主管签字证明当日的出勤状况,报部门经理、人力资源部批准后,月底由部门考勤员据此上报考勤。上述情况考勤由各部门或分公司和项目文员协助人力资源部进行管理。3.1.2.5手工考勤制度3.1.2.6手工考勤制申请:由于工作性质,员工无法正常打卡(如外围人员、出差),可由各部门提出人员名单,经主管副总批准后,报人力资源部审批备案。3.1.2.7参与手工考勤的员工,需由其主管部门的部门考勤员(文员)或部门指定人员进行考勤管理,并于每月26日前向人力资源部递交考勤报表。3.1.2.8参与手工考勤的员工如有请假情况发生,应遵守相关请、休假制度,如实填报相关表单。3.1.2.9 外派员工在外派工作期间的考勤,需在外派公司打卡记录;如遇中途出差,持出差证明,出差期间的考勤在出差地所在公司打卡记录;3.2加班管理3.2.1定义加班是指员工在节假日或公司规定的休息日仍照常工作的情况。A现场管理人员和劳务人员的加班应严格控制,各部门应按月工时标准,合理安排工作班次。部门经理要严格审批员工排班表,保证员工有效工时达到要求。凡是达到月工时标准的,应扣减员工本人的存休或工资;对超出月工时标准的,应说明理由,报主管副总和人力资源部审批。 B因员工月薪工资中的补贴已包括延时工作补贴,所以延时工作在4小时(不含)以下的,不再另计加班工资。因工作需要,一般员工延时工作4小时至8小时可申报加班半天,超过8小时可申报加班1天。对主管(含)以上管理人员,一般情况下延时工作不计加班,因特殊情况经总经理以上领导批准的延时工作,可按以上标准计加班。3.2.2.2员工加班应提前申请,事先填写加班申请表,因无法确定加班工时的,应在本次加班完成后3个工作日内补填加班申请表。加班申请表经部门经理同意,主管副总经理审核报总经理批准后有效。加班申请表必须事前当月内上报有效,如遇特殊情况,也必须在一周内上报至总经理批准。如未履行上述程序,视为乙方自愿加班。3.2.2.3员工加班,也应按规定打卡,没有打卡记录的加班,公司不予承认;有打卡记录但无公司总经理批准的加班,公司不予承认加班。3.2.2.4原则上,参加公司组织的各种培训、集体活动不计加班。3.2.2.5加班工资的补偿:员工在排班休息日的加班,可以以倒休形式安排补休。原则上,员工加班以倒休形式补休的,公司将根据工作需要统一安排在春节前后补休。加班可按1:1的比例冲抵病、事假。3.2.3加班的申请、审批、确认流程3.2.3.1加班申请表在各部门文员处领取,加班统计周期为上月26日至本月25日。3.2.3.2员工加班也要按规定打卡,没有打卡记录的加班,公司不予承认。各部门的考勤员(文员)负责加班申请表的保管及加班申报。员工加班应提前申请,事先填写加班申请表加班前到部门考勤员(文员)处领取加班申请表,加班申请表经项目管理中心或部门经理同意,主管副总审核,总经理签字批准后有效。填写并履行完审批手续后交由部门考勤员(文员)保管。3.2.3.3部门考勤员(文员)负责检查、复核确认考勤记录的真实有效性并在每月27日汇总交人力资源部,逾期未交的加班记录公司不予承认。下午13:0017:00度。全体员工都必须自觉遵守工作时间,实行不定时工作制的员工不必打卡。3.1.2.2打卡次数:一日两次,即早上上班打卡一次,下午下班打卡一次。3.1.2.3打卡时间:打卡时间为上班到岗时间和下班离岗时间; 3.1.2.4因公外出不能打卡:因公外出不能打卡应填写外勤登记表,注明外出日期、事由、外勤起止时间。因公外出需事先申请,如因特殊情况不能事先申请,应在事毕到岗当日完成申请、审批手续,否则按旷工处理。因停电、卡钟(工卡)故障未打卡的员工,上班前、下班后要及时到部门考勤员处填写未打卡补签申请表,由直接主管签字证明当日的出勤状况,报部门经理、人力资源部批准后,月底由部门考勤员据此上报考勤。上述情况考勤由各部门或分公司和项目文员协助人力资源部进行管理。3.1.2.5手工考勤制度3.1.2.6手工考勤制申请:由于工作性质,员工无法正常打卡(如外围人员、出差),可由各部门提出人员名单,经主管副总批准后,报人力资源部审批备案。3.1.2.7参与手工考勤的员工,需由其主管部门的部门考勤员(文员)或部门指定人员进行考勤管理,并于每月26日前向人力资源部递交考勤报表。3.1.2.8参与手工考勤的员工如有请假情况发生,应遵守相关请、休假制度,如实填报相关表单。3.1.2.9 外派员工在外派工作期间的考勤,需在外派公司打卡记录;如遇中途出差,持出差证明,出差期间的考勤在出差地所在公司打卡记录;3.2加班管理3.2.1定义加班是指员工在节假日或公司规定的休息日仍照常工作的情况。A现场管理人员和劳务人员的加班应严格控制,各部门应按月工时标准,合理安排工作班次。部门经理要严格审批员工排班表,保证员工有效工时达到要求。凡是达到月工时标准的,应扣减员工本人的存休或工资;对超出月工时标准的,应说明理由,报主管副总和人力资源部审批。 B因员工月薪工资中的补贴已包括延时工作补贴,所以延时工作在4小时(不含)以下的,不再另计加班工资