1、长江大学机械学院2011级计算机上机实习指导书一完成内容 每个学生须完成两大题内容。第一大题为必作内容,第二、第三大题为选作内容,可从其中任选择一题。二实习要求 学生按规定的上机时间安排表上机,不得无故迟到、早退、旷课,上机时间内不做与实习无关的内容。三实习报告要求 程序上机通过后,应编写实习报告。实习报告应包括对题目的分析设计与说明、程序框图、源程序清单、原始数据及结果、程序有待改进的意见,对本次实习的意见与建仪、收获等。要求实习报告为机算机打印稿。报告封面采用统一格式,见附一。四答辩完成编程和实习报告后,每个学生还须通过答辩。答辩时由学生自己先讲述4-5分钟左右,内容包括:程序设计思路、程
2、序结构介绍、程序运行演示等。然后问答指导教师提出的若干问题。指导教师根据学生实习阶段的出勤、上机、程序及答辩的情况确定学生的实习成绩。计算机上机实习题目一 学生成绩管理一. 建立原始数据文件1. 用文字处理软件(用记事本写字板wordtc,不能用excel)新建一个文本文件, 将本班M名学生在本学期的N门课程成绩录入到这个文件中,按如下形式存放。要求:学生人数M不少于30人,课程门数N不小于5, 姓名为本班的真实姓名。学号 姓名 英语 数学 大学物理 机械制图 C程序设计 注:表头可以不录入 1 张国庆 76 80 85 82 83 2 王艳 91 90 88 92 75 3 李小华 56 6
3、5 70 69 66 4 王红 78 88 90 85 76 5 胡小明 78 88 90 85 76 .2将学生的基本信息按如下形式存入第二个文件中学号 姓名 性别 年龄 职务 注:表头可以不录入1 张国庆 男 19 无 2 王艳 女 20 文体委员 3 李小华 男 20 生活委员 4 王红 女 21 团支书 5 胡小明 男 19 无 .3. 将本学期的N门课程及学分输入到第三个文件中。形式如下: 编号 课程名称 课程学分 注:表头可以不录入 1 英语 5.0 2 数学 5.03 大学物理 4.04 机械制图 4.55 C程序设计 4.06 上机实习 2.0二编写一个学生成绩管理程序,要求完
4、成以下功能1读取原始数据文件的内容,计算每个学生的加权平均分 (保留一位小数,4舍5入) ,按平均分排名次,平均分相同则名次相同。创建一个数据文件(建议为:文本文件) ,存放班级的成绩表,按下列式形存放。学号 姓名 性别 职务 英语 数学 大学物理 机械制图 C程序设计 平均分 名次1 张国庆 男 无 76 80 85 82 83 2 王艳 女 文体委员 91 90 88 92 75 3 李小华 男 班长 56 65 70 69 66 4 王红 女 团支部书记 78 88 90 85 76 5 胡小明 男 无 78 88 90 85 76 . 注:计算加权平均分的公式如下2分别统计全班每门课的
5、平均分。计算各分数段(=90(优秀) 3 6 5 .8089(良好) 10 11 12 . .3. 分别统计男生和女生每门课的平均分。结果存放在一个数据文件中4. 输出所有存在不及格课程学生的名单,包括:学号、姓名、性别、不及格课程名称、课程学分及成绩。结果存放在一个数据文件中。5. 输出优秀学生名单,包括:学号、姓名、性别、名门课成绩、平均分和名次。结果存放在一个数据文件中。优秀学生的条件为:1平均分90 2. 名次在本班前3名3. 平均分85,并且至少有一门课的成绩为95分4平均分85,并且至少有二门课的成绩为90分 6.输出优秀学生干部名单,包括:学号、姓名、性别、职务、名门课成绩、平均
6、分和名次。结果存放在一个数据文件中。优秀学生的条件为:1平均分85 2. 名次在本班前20%名3平均分80,并且至少有一门课的成绩为95分4平均分80,并且至少有二门课的成绩为90分 三题目一的要求1学生及课程数据的表示及文件读写定义结构体数组表示全班学生的数据及课程的数据, 结构体成员中包括学号、姓名、性别、职务成绩等内容。 为便于结果的显示、检查,建议文件读写时均采用“文本文件”方式。分别由fscanf()和fprintf()函数实现原始数据的读入和计算结果的输出。凡需输出的内容,除按要求写入文件外,均应同时在屏幕上显示,以便观察计算结果。程序结构要求为使程序结构清晰,要求将各大题中的所有
7、小问题编成相应的函数,由主函数通过“菜单”方式调用相应的函数。下面列举一个简易的两级“菜单”的例子供参考。 # includestdio.h # includeconio.h void main() /*主菜单*/ char ch1; do clrscr(); /*清屏*/ printf(nnnnnnnnn); printf( * C语言程序设计上机实习 *n); printf( -nn); printf( 1 学生成绩管理nn); printf( 2 破译密码nn); printf( 3 显示心形nn); printf( 4 退 出nn); printf( 输入选择序号n); while(
8、(ch1=getchar(), ch1!=1& ch1!=2 &ch1!=3&ch1!=4 ) ; switch(ch1) case 1 : section1(); break; case 2 : section2(); break;case 3 : section3(); break; case 4 : exit(0); while(1); section1() /*第1个2级菜单*/ char ch21; do clrscr(); printf(nnnnnnnnnn); printf( *学 生 成 绩 管 理 系 统*n); printf( -nn); printf( 1. 读入原始数据
9、并显示 2. 计算平均分及名次nn);printf( 3. 输出课程平均分和各分数段人数 4 输出男生和女生课程平均成绩nn); printf( 5. 统计不及格情况 6. 输出优秀学生nn); printf( 7. 输出优秀学生干部 8. 返回上级菜单nn); printf( 输入选择序号n); while(ch21=getchar(),ch21!=1&ch21!=2&ch21!=3&ch21!=4&ch21!=5&ch21!=6&ch21!=7&ch21!=8) ; switch(ch21) case 1 : function1_1(); break; case 2 : function1
10、_2(); break; case 3 : function1_3(); break; case 4 : function1_4(); break; case 5 : function1_5(); break; case 6 : function1_6(); break; case 7 : function1_7(); break; case 8 : return(0); while(1); section2() /*第2个2级菜单*/ char ch22; do clrscr();printf(nnnnnnnnnn); printf( *破译密码*n); printf( -n); print
11、f( 1. 运行nn); printf( 2. 返回上级菜单nn); printf( 输入选择序号n); while( (ch22=getchar(), ch22!=1& ch22!=2) ; switch(ch22) case 1 : function2_1(); break; ase 2 : return(0); while(1); section3() /*第3个2级菜单*/ char ch23; do clrscr();printf(nnnnnnnnnn); printf( *显示心形*n); printf( -n); printf( 1. 运行nn); printf( 2. 返回上级
12、菜单nn); printf( 输入选择序号n); while( (ch23=getchar(), ch23!=1& ch23!=2) ; switch(ch23) case 1 : function3_1(); break; case 2 : return(0); while(1); function1_1() printf(加入读入原始数据并显示的程序内容n); printf( *按Enter键继续*n); getchar();getchar(); function1_2() printf(加入计算平均分及名次的程序内容n); printf( *按Enter键继续*n); getchar()
13、; getchar();function1_3() printf(加入计算课程平均分和分数段人数程序内容n); printf( *按Enter键继续*n); getchar();getchar();function1_4() printf(加入计算男生和女生课程平均成绩程序内容n ); printf( *按Enter键继续*n); getchar();getchar();function1_5() printf(加入统计不及格情况程序内容n); printf( *按Enter键继续*n); getchar();getchar();function1_6() printf(加入输出优秀学生程序内
14、容n); printf( *按Enter键继续*n); getchar();getchar();function1_7() printf(加入输出优秀学生干部程序内容n); printf( *按Enter键继续*n); getchar();getchar();function2_1() printf(加入破译密码的程序内容n); printf( *按Enter键继续*n); getchar();getchar();function3_1() printf(加入显示心形的程序内容n); printf( *按Enter键继续*n); getchar();getchar();题目二. 破译密码1题目
15、有一个加密文件,它的密钥是从100至200中的一个素数,加密方法是每三个字母加上密钥中对应的数字,超出26个大写和小写的字母范围的减去26,空格和标点符号不加密。例如,假设密钥为139,要加密的字符串为“We are students”,第一个字母“W”加密为W+1=X,第二个字母加密后为e+3=h,第三个字母加密后为a+9=j,第四个字母加密后为r+1=s, 第五个字母加密后为e+3=h,第六个字母加密后s+9超过了字母范围,所以减去26得,s+9-26=b,.。读入已加密的文件,进行破译,将可能的密钥和相应的解密结果输出到另一个文件。2编程要点:1)用fgets函数读入字符串2)编一个函数
16、处理所有可能的密钥,即计算从100到200的所有素数3)将密钥化成三个元素的整型数组,分别对应百位、十位和个位4)将所有英文字符按序轮换减去对应的数组元素,原来是大(小)写英文字符超出大(小)写英文字符范围加上26。3密码文件内容 Jk fpz nfy aij jpwyfha bszxjy, ztb bwl bs lyhlmqloy zuzkfsa.题目三. 显示心形在屏幕上用字符输出一个心形,心形的极坐标方程为r=20(1-sinq),x=r*cosq+26,y=5-r*sinq。提示:定义字符数组char cs5250,先均赋空格,计算出坐标x和y后取整作为字符数组的下标,使该字符取H,再
17、输出该数组。答辩记录运行情况原始数据成绩排名平均分和分数段统计男女生成绩统计不及格统计优秀生统计优秀学生干部统计破译密码显示心形回答问题12345附一计算机上机实习实 习 报 告班 级 学 号 姓 名 指导教师 完成日期 合同管理制度1 范围本标准规定了龙腾公司合同管理工作的管理机构、职责、合同的授权委托、洽谈、承办、会签、订阅、履行和变更、终止及争议处理和合同管理的处罚、奖励;本标准适用于龙腾公司项目建设期间的各类合同管理工作,厂内各类合同的管理,厂内所属各具法人资格的部门,参照本标准执行。2 规范性引用中华人民共和国合同法龙腾公司合同管理办法3 定义、符号、缩略语无4 职责4.1 总经理:
18、龙腾公司经营管理的法定代表人。负责对厂内各类合同管理工作实行统一领导。以法人代表名义或授权委托他人签订各类合法合同,并对电厂负责。4.2 工程部:是发电厂建设施工安装等工程合同签订管理部门;负责签订管理基建、安装、人工技术的工程合同。4.3 经营部:是合同签订管理部门,负责管理设备、材料、物资的订购合同。4.5 合同管理部门履行以下职责:4.5.1 建立健全合同管理办法并逐步完善规范;4.5.2 参与合同的洽谈、起草、审查、签约、变更、解除以及合同的签证、公证、调解、诉讼等活动,全程跟踪和检查合同的履行质量;4.5.3 审查、登记合同对方单位代表资格及单位资质,包括营业执照、经营范围、技术装备
19、、信誉、越区域经营许可等证件及履约能力(必要时要求对方提供担保),检查合同的履行情况;4.5.4 保管法人代表授权委托书、合同专用章,并按编号归口使用;4.5.5 建立合同管理台帐,对合同文本资料进行编号统计管理;4.5.6 组织对法规、制度的学习和贯彻执行,定期向有关领导和部门报告工作;4.5.7 在总经理领导下,做好合同管理的其他工作,4.6 工程技术部:专职合同管理员及材料、燃料供应部兼职合同管理员履行以下职责:4.6.1 在主任领导下,做好本部门负责的各项合同的管理工作,负责保管“法人授权委托书”;4.6.2 签订合同时,检查对方的有关证件,对合同文本内容依照法规进行检查,检查合同标的数量、金额、日期、地点、质量要求、安全责任、违约责任是否明确,并提出补充及修改意见。重大问题应及时向有关领导报告,提出解决方案;4.6.3 对专业对口的合同统一编号、登记、建立台帐,分类整理归档。对合同承办部门提供相关法规咨询和日常协作服务工作;4.6.4 工程技术部专职合同管理员负责收集整理各类合同,建立合同统计台帐,并负责8