1、C语言学生成绩管理 C语言学生成绩管理 #include stdio.h #include stdlib.h #include malloc.h #include graphics.h #define LEN sizeof(STUDENT) #define N 3 typedef struct student char no11; char name15; int scoreN; int sum; float average; int order; struct student *next; STUDENT; STUDENT *enter()/*文件数据输入及生成链表 */ int n,i,f
2、lot; int sum=0; STUDENT *head,*p1,*p2,*h; n=0;flot=1; p1=p2=(STUDENT *)malloc(LEN); printf(please enter the students score with the order n); printf(no,name,enter scoreenter n); scanf(%s,p1-no); getchar(); scanf(%s,p1-name); getchar(); for(i=0;iN;i+) scanf(%d,p1-scorei); getchar(); sum=sum+p1-scorei
3、; p1-sum=sum; sum=0; p1-average=(p1-sum+0.1-0.1)/N; head=NULL; do n=n+1; if(n=1)head=p1; else p2-next=p1; p2=p1; p1=(STUDENT*)malloc(LEN); printf(please enter the students score with the order n); printf(no,name,enter scoreenter n); scanf(%s,p1-no); getchar(); scanf(%s,p1-name); getchar(); for(i=0;i
4、N;i+) scanf(%d,p1-scorei); getchar(); sum=sum+p1-scorei; p1-sum=sum; sum=0; p1-average=(p1-sum+0.1-0.1)/N; printf(if the score all enter ,please enter 0,else enter 1); scanf(%d,flot); while(flot!=0); p2-next=p1; p1-next=NULL; clrscr(); return(head); STUDENT *order1(STUDENT*head)/*排序*/ int i,n,s,max,
5、min; STUDENT*p; p=head; n=i=0; max=min=p-sum; while(p!=NULL) if (p-summax) max=p-sum; if(p-summin) min=p-sum; p=p-next; printf(%dn%d,min,max); for(s=max;s=min;s-) for(p=head;p!=NULL;p=p-next) if(p-sum=s) i=i+1; n=n+1; if(i!=1) n=n-1; if(i!=0) p-order=n; if(i1) n=n+i-1; i=0; return(head); void save(S
6、TUDENT*head) /*保存函数*/ FILE *fp; STUDENT *p; int i; char outfile10; p=head; printf(Enter outfile name ,for example c:f1te.text:n); scanf(%s,outfile); if(fp=fopen(outfile,w)=NULL) printf(can not open filen); exit(1); printf(n Saving file n); p=head; while(p!=NULL) fwrite(p,LEN,1,fp); p=p-next; fclose(
7、fp); printf(save success!n); STUDENT *load() STUDENT*p,*q,*h,*head; FILE *fp; char infile10; int i; h=NULL; printf(Enter infile name,for example c:f1te.txt:n); scanf(%s,infile); if(fp=fopen(infile,r)=NULL) printf(can not open filen); exit(1); printf(n -Loading file!-n); p=(STUDENT *)malloc(sizeof(ST
8、UDENT); if(!p) printf(out of memory!n); h=p; while(!feof(fp) if(1!=fread(p,sizeof(STUDENT),1,fp) break; p-next=(STUDENT *)malloc(sizeof(STUDENT); if(!p-next) printf(out of memory!n); q=p; p=p-next; q-next=NULL; fclose(fp); head=h; printf(-You have success read data from file!-n); do for(i=0;iN/2;i+)
9、 printf(tt%dn,h-scorei); printf(%st%st%d,h-no,h-name,h-scoreN/2); printf(t%dt%ft%dn,h-sum,h-average,h-order); for(i=N/2+1;iN;i+) printf(tt%dn,h-scorei); h=h-next; while(h!=NULL); return(head); void check()/*查找函数*/ char cha15; int i,j=0; STUDENT *p,*h; h=load(); printf(please enter the name or no); s
10、canf(%s,cha); p=h; while(p!=NULL) if(strcmp(p-name,cha)=0|strcmp(p-no,cha)=0) printf(notnametscoretsumtaveragetordern); j=1; for(i=0;iN/2;i+) printf(tt%dn,p-scorei); printf(%st%st%dt%dt%f,p-no,p-name,p-scoreN/2,p-sum,p-average); printf(t%dn,p-order); for(i=N/2+1;iN;i+) printf(tt%dn,p-scorei); break;
11、 else p=p-next; if(j=0) printf(can not find!); STUDENT *add()/*添加数据*/ FILE *fp; int i,n,sum=0; char outfile10; STUDENT *h,*p; p=(STUDENT*)malloc(LEN); h=load(); left: printf(please enter the students score with the order n); printf(no,name,enter scoreenter n); scanf(%s,p-no); scanf(%s,p-name); for(i
12、=0;iN;i+) scanf(%d,p-scorei); sum=sum+p-scorei; p-sum=sum; printf(%d,p-sum); p-average=sum/N; p-next=h; h=p; printf(if the score all enter please enter 0n); scanf(%d,n); if(n!=0) sum=0; p=(STUDENT*)malloc(LEN); goto left; printf(Enter outfile name ,for example c:f1te.text:n); scanf(%s,outfile); clrs
13、cr(); save(order1(p); void rewrite()/*数据修改*/ int i=0; char no11; char infile10; FILE *fp; STUDENT *p,*h,*q,*h2; q=p=load(); printf(Enter infile name,for example c:f1te.txt:n); scanf(%s,infile); printf(please enter the no which you want to rewriten); scanf(%s,no); do if(strcmp(p-no,no)=0) h=p; h2=p-n
14、ext; i=1; p=p-next; while(p!=NULL); if(i=0) printf(error,can find the no); goto cha; else p=h; printf(tt%dn,p-scorei); printf(%st%st%dt%dt%ft,p-no,p-name,p-scoreN/2,p-sum,p-average); printf(%dn,p-order); for(i=N/2+1;iN;i+) printf(tt%dn,p-scorei); printf(please enter the students score againn); print
15、f(please enter the students score with the order n); printf(no,name,enter score,enter n); scanf(%s,p-no); scanf(%s,p-name); p-sum=0; for(i=0;iN;i+) scanf(%d,p-scorei); p-sum=p-sum+p-scorei; p-average=(p-sum+0.1-0.1)/N; p-next=h2; clrscr(); save(order1(q); printf(rewrite success); cha:printf(rewrite
16、cant success); void dele()/*删除数据*/ STUDENT *p1,*p2,*h1; char no11; printf(enter the no which you want del); scanf(%s,no); h1=load(); clrscr(); p1=h1; while(p1!=NULLstrcmp(no,p1-no)!=0) p2=p1; p1=p1-next; if(strcmp(no,p1-no)=0) if(p1=h1) h1=p1-next; else p2-next=p1-next; save(order1(h1); else printf(
17、can not find!n); void order()/* 排名*/ STUDENT *h; int i,s,max,min;/*i 计算同分个数, n 为名次*/ STUDENT*p; h=load(); clrscr(); p=h; max=min=0; while(p!=NULL) if (p-summax) max=p-sum; else if(p-summin) min=p-sum; p=p-next; for(s=max;smin;s-) for(p=h;p!=NULL;p=p-next) if(p-sum=s) for(i=0;iN/2;i+) printf(tt%dn,p-
18、scorei); printf(%st%st%d,p-no,p-name,p-scoreN/2); printf(t%dt%ft%dn,p-sum,p-average,p-order); for(i=N/2+1;iN;i+) printf(tt%dn,p-scorei); void main() int n; loop:printf(please enter n n); printf(1 输入数据,2 排名,3 查找数据,4 添加数据,5 删除数据,6 数据修改,0 结束n); scanf(%d,n); if(n=0) goto end; switch(n) case 6:rewrite();
19、break; case 3:check();break; case 2:order();break; case 4:add();break; case 5:dele();break; case 1:save(order1(enter(); clrscr(); load(); ;break; default:printf(error;please check and enter n again!); goto loop; end:printf(谢谢使用); getch(); 劳动合同 一、 双方在签订本合同前, 应认真阅读本合同书。 本合同一经签订, 即具有法律效力, 双方必须严格履行。 二、
20、本合同必须由用人单位(甲方) 的法定代表人(或者委托代理人) 和职工(乙方) 亲自签章, 并加盖用人单位公章(或者劳动合同专用章) 方为有效。 三、 本合同中的空栏, 由双方协商确定后填写, 并不得违反法律、 法规和相关规定; 不需填写的空栏,划上 。 四、 工时制度分为标准工时、 不定时、 综合计算工时三种。 实行不定时、 综合计算工时工作制的, 应经劳动保障部门批准。 五、 本合同的未尽事宜, 可另行签订补充协议, 作为本合同的附件, 与本合同一并履行。 六、 本合同必须认真填写, 字迹清楚、 文字简练、 准确, 并不得擅自涂改。 七、 本合同(含附件) 签订后, 甲乙双方各保管一份备查。
21、 甲方(用人单位) : 乙方(职工) : 名称: 姓名: 法定代表人: 身份证号码: 地址: 现住址: 经济类型: 联系电话: 联系电话: 根据(中华人民共和国劳动法 和国家及省的有关规定, 甲乙双方按照平等自愿、 协商一致的原则订立本合同。 一、 合同期限 (一) 合同期限 双方同意按以下第 种方式确定本合同期限: 1、 有固定期限: 从 年 月 日起至 年 月 日止。 2、 无固定期限: 从 年 月 日起至本合同约定的终止条件出现时止(不得将法定解除条件约定为终止条件) 。 3、 以完成一定的工作为期限: 从 年 月 日起至 工作任务完成时止。 (二) 试用期限 双方同意按以下第 种方式确
22、定试用期期限(试用期包括在合同期内) : 1、 无试用期。 2、 试用期从 年 月 日起至 年 月 日止。 (试用期最长不超过六个月。 其中合同期限在六个月以下的, 试用期不得超过十五日; 合同期限在六个月以上一年以下的。 试用期不得超过三十日; 合同期限在一年以上两年以下的, 试用期不得超过六十日。 ) 二、 工作内容 (一) 乙方的工作岗位(工作地点、 部门、 工种或职务) 为 (二) 乙方的工作任务或职责是 (三) 甲方因生产经营需要调整乙方的工作岗位, 按变更本合同办理, 双方签章确认的协议或通知书作为本合同的附件。 (四) 如甲方派乙方到外单位工作, 应签订补充协议。 三、 工作时间
23、 (一) 甲乙双方同意按以下第 种方式确定乙方的工作时间: 1、 标准工时制, 即每日工作 小时, 每周工作 天, 每周至少休息一天。 2、 不定时工作制, 即经劳动保障部门审批, 乙方所在岗位实行不定时工作制。 3、 综合计算工时工作制, 即经劳动保障部门审批, 乙方所在岗位实行以 为周期, 总工时 小时的综合计算工时工作制。 (二) 甲方因生产(工作) 需要, 经与工会和乙方协商后可以延长工作时间。 除(劳动法) 第四十二条规定的情形外, 一般每日不得超过一小时, 因特殊原因最长每日不得超过三小时, 每月不得超过三十六小时。 四, 工资待遇 (一) 乙方正常工作时间的工资按下列第( ) 种
24、形式执行, 不得低于当地最低工资标准。 1、 乙方试用期工资 元 月; 试用期满工资 元 月(元 日) 。 2、 其他形式: 。 (二) 工资必须以法定货币支付, 不得以实物及有价证券替代货币支付。 (三) 甲方根据企业的经营状况和依法制定的工资分配办法调整乙方工资, 乙方在六十日内未提出异议的视为同意。 (四) 甲方每月 日发放工资。 如遇节假日或休息日, 则提前到最近的工作日支付。 (五) 甲方依法安排乙方延长工作时间的, 应按(劳动法) 第四十四条的规定支付延长工作时间的工资报酬。 五、 劳动保护和劳动条件 (一) 甲方按国家和省有关劳动保护规定提供符合国家劳动卫生标准的劳动作业场所,
25、切实保护乙方在生产工作中的安全和健康。 如乙方工作过程中可能产生职业病危害, 甲方应按职业病防治法 的规定保护乙方的健康及其相关权益。 (二) 甲方根据乙方从事的工作岗位, 按国家有关规定, 发给乙方必要的劳动保护用品, 并按劳动保护规定每 (年 季 月) 免费安排乙方进行体检。 (三) 乙方有权拒绝甲方的违章指挥、 强令冒险作业, 对甲方及其管理人员漠视乙方安全和健康的行为,有权要求改正并向有关部门检举、 控告。 六、 社会保险和福利待遇 (一) 合同期内, 甲方应依法为乙方办理参加养老、 医疗、 失业、 工伤、 生育等社会保险的手续, 社会保险费按规定的比例, 由甲乙双方负责。 (二) 乙
26、方患病或非因工负伤, 甲方应按国家和地方的规定给予医疗期和医疗待遇, 按医疗保险及其他相关规定报销医疗费用, 并在规定的医疗期内支付病假工资或疾病救济费。 (三) 乙方患职业病、 因工负伤或者因工死亡的, 甲方应按(工伤保险条例) 的规定办理。 (四) 甲方按规定给予乙方享受节日假、 年休假、 婚假、 丧假、 探亲假、 产假、 看护假等带薪假期, 并按本合同约定的工资标准支付工资。 七、 劳动纪律 (一) 甲方根据国家和省的有关法律、 法规通过民主程序制定的各项规章制度, 应向乙方公示; 乙方应自觉遵守国家和省规定的有关劳动纪律、 法规和企业依法制定的各项规章制度, 严格遵守安全操作规程,服从
27、管理, 按时完成工作任务。 (二) 甲方有权对乙方履行制度的情况进行检查、 督促、 考核和奖惩。 (三) 如乙方掌握甲方的商业秘密, 乙方有义务为甲方保守商业秘密, 并作如下约定: 八、 本合同的变更 (一) 任何一方要求变更本合同的有关内容, 都应以书面形式通知对方。 (二) 甲乙双方经协商一致, 可以变更本合同, 并办理变更本合同的手续。 九、 本合同的解除 (一) 经甲乙双方协商一致, 本合同可以解除。 由甲方解除本合同的, 应按规定支付经济补偿金。 (二) 属下列情形之一的, 甲方可以单方解除本合同: 1、 试用期内证明乙方不符合录用条件的; 2、 乙方严重违反劳动纪律或甲方规章制度的
28、; 3、 严重失职、 营私舞弊, 对甲方利益造成重大损害的; 4、 乙方被依法追究刑事责任的; 5、 甲方歇业、 停业、 濒临破产处于法定整顿期间或者生产经营状况发生严重困难的; 6、 乙方患病或非因工负伤, 医疗期满后不能从事本合同约定的工作, 也不能从事由甲方另行安排的工作的; 7、 乙方不能胜任工作, 经过培训或者调整工作岗位, 仍不能胜任工作的; 8、 本合同订立时所依据的客观情况发生重大变化, 致使本合同无法履行, 经当事人协商不能就变更本合同达成协议的; 9、 本合同约定的解除条件出现的。 甲方按照第 5、 6、 7、 8、 9 项规定解除本合同的, 需提前三十日书面通知乙方, 并
29、按规定向乙方支付经济补偿金, 其中按第 6 项解除本合同并符合有关规定的还需支付乙方医疗补助费。 (三) 乙方解除本合同, 应当提前三十日以书面形式通知甲方。 但属下列情形之一的, 乙方可以随时解除本合同: 1、 在试用期内的; 2、 甲方以暴力、 威胁或者非法限制人身自由的手段强迫劳动的; 3、 甲方不按本合同规定支付劳动报酬, 克扣或无故拖欠工资的; 4、 经国家有关部门确认, 甲方劳动安全卫生条件恶劣, 严重危害乙方身体健康的。 (四) 有下列情形之一的, 甲方不得解除本合同: 1、 乙方患病或非因工负伤, 在规定的医疗期内的; 2、 乙方患有职业病或因工负伤, 并经劳动能力鉴定委员会确认, 丧失或部分丧失劳动能力的; 3、 女职工在孕期、 产期、 哺乳期内的; 4、 法律、 法规规定的其他情形。 (五) 解除本合同后, 甲乙双方在七日内办理解除劳动合同有关手续。 十、 本合同的终止 本合同期满或甲乙双方约定的本合同终止条件出现, 本合同即行终止。 本合同期满前一个月, 甲方应向乙方提出终止或续订劳动合同的书面意向, 并及时办理有关手续。 甲方: (盖章) 乙方: (签名或盖章) 法定代表人: (或委托代理人) 20 年 月 日 20 年 月 日 鉴证机构(盖章) : 鉴证人: 鉴证日期: 20 年 月 日