第一篇:C语言课程设计实习报告
C语言课程设计实习报告
题目
一、两个大数相乘问题
题目描述:本问题中,要求输入两个相对较大的正整数,能够通过程序计算出其结果。设计思路:用数组存储一个大数,数组的每个单元存储一位数据,结果的存储需要一个更大的数组。在解决了存储问题后,我们需要来实现乘法运送的过程,也就是说必须要把这个数组中的每一位数字单独来进行乘法运算,比如可以用一个数字和另外一个数组中的每一位去相乘,从而得到乘法运算中一行的数字,再将每一行数字错位相加。这就是乘法运算的过程。
运行效果图
附源程序如下:
#include
二、购房排队程序
题目描述
【要求】假定文本文件a1.txt中的内容是我校南望山庄二期购房报名名单,其中职称0为博导、教授,1为正教授,2为副教授,3为讲师,4为助教。请编程完成排名顺序。排队原则为首先按照职称排序,职称高者排前面,如职称一样的情况下按工龄排,工龄一样的情况下按年龄排,以此类推。将排序后的名单存入另外一个文本文件中,假设为a2.txt。另假定此次房源只有200套,请将前200名存入a3.txt文件中。
设计思路:
建立一个结构体数组,根据文本文件a1.txt中的内容,利用一个公式每个人得到一个成绩,根据每人的成绩高低排序,且排序结果与题目要求的相符。
运行效果图
附源程序如下
#include
void sort(TCH *a, int n)//根据score的大小排序,分数高者排在前面 {
} int i,j;TCH t;for(i=0;i for(j=i+1;j { } t=a[i];a[i]=a[j];a[j]=t;void main(){ int i,n=0;TCH a[1000]; FILE *fp;fp=fopen(“a1.txt”,“r”);while(!feof(fp)){ i=fscanf(fp,“%s%d%d%d”,&a[n].name,&a[n].zc,&a[n].workage,&a[n].age);if(i<4)break; a[n].score =(5-a[n].zc)* 10000 +(a[n].workage)* 100 +(a[n].age);//计算每人的分数 n++; } fclose(fp);sort(a,n);fp=fopen(“a2.txt”,“w”);//建立a2文本文档并将排序后的结果存入其中 for(i=0;i 序号 姓名 得分(Score)1 翁泽婷 55491 2 孙礼全 55483 3 霍少磊 55482 4 巴金 55481 5 程斌 55476 6 王天奇 55476 7 赵文鹏 55390 8 王兴龙 55387 9 张成志 55380 10 龚林锋 55376 11 甘传奇 55286 12 曾威 55286 13 胡浩 55281 14 杨明宇 55279 15 张利亚 55276 16 孙涛 55275 17 周渝 55187 18 徐振飞 55176 19 魏雯 55087 20 郭妙引 55081 21 杨德山 55081 22 钟南翀 55076 23 黄愉晋 54977 24 杨培 54969 25 李晓峰 54884 26 郭瑞玲 54882 27 徐颖 54877 28 金鹏 54875 29 付磊 54871 30 张银峰 54869 31 江政波 54868 32 吕萍 54781 33 尹金香 54768 34 冯海顺 54678 35 冯永岗 54669 36 刘蓓蓓 54668 37 赵永 54576 38 曹放 54566 39 张飞 54563 40 赵端昌 54379 41 庞龙飞 54374 42 郑丹 54374 43 董家兴 54372 44 林楠 54369 45 徐玉军 54362 46 李杰 54279 47 李博 54264 48 罗胜元 54170 49 王恒宇 54169 50 夏健 54160 51 曹阳 54069 52 陈勋 54066 53 唐铭 54062 54 舒朗 54060 55 王彦军 54059 56 付天宇 53976 57 陈晓翠 53969 58 罗森文 53968 59 龚振宇 53871 60 徐军辉 53868 61 郑保红 53862 62 罗会涛 53857 63 许程 53769 64 周文虎 53756 65 刘飞 53755 66 孙海涛 53658 67 蔡宁波 53657 68 樊航宇 53656 69 高成 53572 70 杨超 53553 71 贾盼盼 53469 72 张闻璟 53462 73 陈永照 53458 74 陈亚娣 53457 75 刘佳 53359 76 周荣贵 53358 77 饶宁 53358 78 彭鸿燕 53356 79 李国山 53259 80 姚田万 53254 81 王梅 53165 82 邓大飞 53159 83 张响荣 53150 84 杨承志 53060 85 宋吉峰 53054 86 杨健 53052 87 陈曦 53049 88 罗华 52958 89 刘璐 52860 90 邓新 52854 91 杨振 52848 92 许艳华 52752 93 张超 52749 94 童瑶函 52646 95 胡波 52645 96 方明慧 52562 97 何帆 52545 98 张宗言 44985 99 韩博洋 44982 100 秦明举 44977 101 刘国权 44870 102 向雄 44869 103 樊自春 44868 104 孙迎河 44868 105 张庆 44782 106 王德富 44774 107 高雅洁 44771 108 邸欣月 44766 109 张军 44682 110 袁东勋 44677 111 王强 44669 112 麻晓雨 44573 113 耿显雷 44565 114 周维维 44477 115 王伟洁 44477 116 马彦云 44475 117 郭峰亮 44466 118 王菲菲 44371 119 彭聪 44276 120 智铎强 44275 121 路晓亮 44273 122 杨志军 44266 123 王丹 44168 124 龙胜清 44167 125 骆逸婷 44166 126 潭松成 44074 127 邓柏松 44072 128 尹丹 44067 129 林川 44064 130 吴灵敏 44064 131 邢利琦 43975 132 赵莹彬 43958 133 易飞 43868 134 邵菁清 43866 135 杨帅 43865 136 徐子一 43862 137 郑周顺 43858 138 刘念 43770 139 陈剑波 43769 140 洪广福 43758 141 刘建宁 43756 142 徐华 43664 143 郑希 43560 144 赵志江 43471 145 谢福兵 43465 146 成浩 43461 147 李浩 43459 148 吴林忠 43452 149 刘芳 43452 150 李建峰 43365 151 杨栋 43359 152 刘俊红 43353 153 周兵 43262 154 刘旭明 43260 155 王强 43260 156 金亮宇 43258 157 朱俊翔 43163 158 王文洋 43157 159 张宗肖 43057 160 江潮 43055 161 刘常利 43051 162 董泽 42962 163 李伟伟 42955 164 王磊 42947 165 黄振威 42861 166 谭江渝 42859 167 杨勇 42763 168 高连涛 42762 169 吴剑 42758 170 付亮 42661 171 宋涛 42660 172 张冰冰 42652 173 王琰 42650 174 刘园 42647 175 刘伟 42555 176 魏凡 42554 177 杨逛 42553 178 赵进飞 42550 179 张震 42458 180 周晓宇 42455 181 付黎明 42448 182 张月峰 42356 183 吴元莉 42355 184 吴树春 42341 185 宫雪 42257 186 李永祥 42257 187 任志媛 42254 188 王伟虎 42158 189 李薏新 42146 190 吴皓 42145 191 刘振一 42056 192 王坤 42055 193 苗顺占 42052 194 何磊 42047 195 张行 42046 196 张矿 42039 197 张俊涛 34467 198 黄志全 34462 199 谢文涛 34379 200 江南 34378 201 陈旭 34373 202 易星 34372 203 沈芳 34363 204 罗恒 34277 205 包少明 34276 206 雷闯 34274 207 李学环 34269 208 孙辉 34264 209 杨文和 34170 210 洪冬 34075 211 高翔 34066 212 程鲁文 34066 213 俞璟睿 34058 214 刘和彪 34058 215 唐克非 33973 216 吴骏 33965 217 杨晓霞 33867 218 宁文鹤 33863 219 张涛 33770 220 陈雪娇 33767 221 梁波 33758 222 谈祥君 33757 223 胡晓芳 33756 224 智刚 33666 225 刘亮 33663 226 杨加亮 33658 227 王智 33658 228 唐开江 33571 229 王晓龙 33566 230 李彬 33564 231 李欢 33563 232 王军伟 33561 233 林向洋 33467 234 田梦黎 33461 235 吴言根 33455 236 赵亮 33453 237 严安 33370 238 谭子恒 33366 239 桂蕾 33364 240 沈璟璟 33361 241 杨吉伟 33357 242 张亮 33357 243 李伟 33352 244 张爽 33267 245 牛明远 33255 246 杨传超 33250 247 德西央宗 33155 248 兰天永 33154 249 朱金全 33149 250 方俊 33063 251 朱光辉 33056 252 邱红文 32963 253 赵远亮 32956 254 张晓兵 32859 255 刘仁专 32858 256 李韬 32856 257 陆竑宇 32855 258 梁俊俊 32850 259 贾玉洁 32846 260 李翔 32761 261 陈磊 32755 262 董立 32752 263 毛玉娇 32661 264 杨艳霞 32659 265 商震 32645 266 耿帆 32558 267 温建荣 32557 268 岑文攀 32550 269 李永宗 32460 270 周虎 32455 271 戴确男 32450 272 谭维佳 32442 273 施秋华 32354 274 于斌 32354 275 徐婷 32353 276 张楗钰 32352 277 熊凤娟 32351 278 姚品品 32346 279 方星 32343 280 李朝晖 32258 281 李栋广 32252 282 蔡晓亮 32250 283 王艳红 32249 284 李岩 32151 285 龚红梅 32150 286 李春阳 32150 287 王崖钦 32148 288 李卫民 32053 289 任中杰 31952 290 胡谦 31942 291 李沁泽 31850 292 孙广义 31849 293 栾燕 31839 294 李涛涛 31745 295 兰元丽 31744 296 杨云飞 31738 297 金鑫 31648 298 赵春茹 31644 299 王政 31548 300 叶春辉 31545 301 葛鹏 31535 302 张朝阳 23976 303 王钦贤 23974 304 高书杰 23971 305 张乾 23968 306 罗敏 23967 307 李文斌 23868 308 彭泽建 23866 309 王晓红 23863 310 夏晓燕 23861 311 刘力 23860 312 张海坤 23767 313 姚鹏程 23758 314 王夏 23665 315 严志伟 23661 316 张玮 23659 317 钟发基 23569 318 黄俊 23554 319 周岩 23471 320 刘志海 23466 321 蒋思勇 23461 322 杨勇 23453 323 徐彬彬 23366 324 周文雯 23365 325 卢刚 23363 326 叶彬 23358 327 文军 23268 328 王强波 23265 329 王伟 23260 330 赵建州 23257 331 罗旋峰 23256 332 杜泽辉 23255 333 曹东梅 23152 334 方权 23049 335 谭文权 22963 336 鲁有海 22962 337 杨贵来 22950 338 肖莉丽 22948 339 肖虎 22857 340 刘德利 22852 341 崔丽峰 22848 342 池小波 22847 343 薛生升 22763 344 韩磊 22748 345 陈甲才 22745 346 王生龙 22647 347 宁汉虎 22644 348 易峰 22561 349 孙维昌 22554 350 饶松 22552 351 钟妮 22544 352 格桑加措 22450 353 廖宗宝 22445 354 朱龙剑 22443 355 向鹏 22442 356 侯涛 22352 357 王海涛 22348 358 益西培杰 22348 359 李欣 22341 360 朱传伟 22252 361 王佳营 22249 362 欧阳洋 22247 363 随树波 22245 364 袁丹丹 22154 365 陈林 22147 366 汪洪强 22142 367 马奎祥 22048 368 何良伦 22038 369 满红梅 22038 370 宗睿元 21950 371 李涛 21949 372 黄俊 21847 373 黄佳 21845 374 赵玉龙 21845 375 代贞伟 21843 376 金晓波 21751 377 梅芹芹 21748 378 刘鹏飞 21737 379 张暑光 21647 380 赵锐 21639 381 张良刚 21636 382 张超 21635 383 刘杰 21635 384 王宏 21550 385 钟玉婷 21549 386 方莉丽 21541 387 雷亚平21539 388 侯宗博 21539 389 邬彪彪 21449 390 王泽鹏 21441 391 马成斐 21435 392 代广涛 21434 393 徐任章 21350 394 邓焰平21348 395 姜超 21339 396 寸金鸿 21338 397 魏继雨 21333 398 聂琼 21333 399 石步星 21244 400 严涛 21235 401 汪玉玲 21148 402 章志华 21133 403 姜兰 21133 404 王权 21133 405 邢琼 21045 406 刘勇 21039 407 周广镇 21029 408 谢小长 13355 409 王新荣 13354 410 田阳辉 13258 411 陈艮省 13252 412 洪柳 13168 413 殷力立 13064 414 杨小伟 13052 415 周昱辰 13051 416 冯培智 13049 417 周芳旭 13048 418 赵凯 12959 419 吴晓勤 12957 420 韦宇 12948 421 高超 12947 422 刘莹莹 12857 423 张小达 12854 424 邬建斌 12762 425 陈武珍 12761 426 王强 12753 427 王修平12746 428 张巍 12660 429 陈杰 12656 430 吕振宇 12656 431 王亮亮 12655 432 吴玉峰 12644 433 韩霞光 12555 434 吴亚君 12553 435 陈雯雯 12447 436 许新芳 12444 437 林贵 12443 438 曲扎 12359 439 朱杰清 12347 440 罗添 12345 441 张俭峰 12345 442 吴瑾 12343 443 张春生 12252 444 郭华 12248 445 罗钢 12245 446 杜威 12243 447 肖潇 12143 448 张玉峰 12053 449 黄卫 12046 450 王公位 12043 451 杨立文 12040 452 史雅静 11951 453 胡炜 11949 454 张逊 11942 455 胡志强 11941 456 胡程 11847 457 金磊 11846 458 李正财 11844 459 王梦涵 11754 460 张良 11746 461 张康 11736 462 李强 11643 463 陈晓 11642 464 薛远超 11545 465 王丹 11538 466 梁洪才 11450 467 赵岩 11438 468 田凯 11435 469 王西峰 11350 470 张超 11350 471 陈健 11346 472 邱轩 11343 473 刘刚 11337 474 尚小亮 11334 475 李俊 11333 476 张继军 11333 477 将幸福 11242 478 王岚 11141 479 朱永伟 11137 480 尼玛桑珠 11040 481 李苗 11040 482 冯涛 11038 483 曹进军 11037 484 戴耿师 11033 485 陈远兴 11033 486 董永刚 10943 487 于洋 10941 488 王波 10935 489 张磊 10932 490 杨正辑 10931 491 汪海洋 10928 492 霍振雷 10839 493 董峻麟 10835 494 郭巍 10738 495 贺玉川 10730 496 陈志柠 10730 497 李程 10634 498 崔炳松 10627 499 富金金 10625 500 武登辉 10538 501 王靖 10536 502 乔少华 10531 503 陈折 10528 504 冯延俊 10526 505 白云哲 10526 a3文本文档如下 序号 姓名 1 翁泽婷 55491 2 孙礼全 55483 3 霍少磊 55482 4 巴金 55481 5 程斌 55476 6 王天奇 55476 7 赵文鹏 55390 8 王兴龙 55387 9 张成志 55380 10 龚林锋 55376 11 甘传奇 55286 12 曾威 55286 13 胡浩 55281 14 杨明宇 55279 15 张利亚 55276 16 孙涛 55275 17 周渝 55187 18 徐振飞 55176 得分(Score)19 魏雯 55087 20 郭妙引 55081 21 杨德山 55081 22 钟南翀 55076 23 黄愉晋 54977 24 杨培 54969 25 李晓峰 54884 26 郭瑞玲 54882 27 徐颖 54877 28 金鹏 54875 29 付磊 54871 30 张银峰 54869 31 江政波 54868 32 吕萍 54781 33 尹金香 54768 34 冯海顺 54678 35 冯永岗 54669 36 刘蓓蓓 54668 37 赵永 54576 38 曹放 54566 39 张飞 54563 40 赵端昌 54379 41 庞龙飞 54374 42 郑丹 54374 43 董家兴 54372 44 林楠 54369 45 徐玉军 54362 46 李杰 54279 47 李博 54264 48 罗胜元 54170 49 王恒宇 54169 50 夏健 54160 51 曹阳 54069 52 陈勋 54066 53 唐铭 54062 54 舒朗 54060 55 王彦军 54059 56 付天宇 53976 57 陈晓翠 53969 58 罗森文 53968 59 龚振宇 53871 60 徐军辉 53868 61 郑保红 53862 62 罗会涛 53857 63 许程 53769 64 周文虎 53756 65 刘飞 53755 66 孙海涛 53658 67 蔡宁波 53657 68 樊航宇 53656 69 高成 53572 70 杨超 53553 71 贾盼盼 53469 72 张闻璟 53462 73 陈永照 53458 74 陈亚娣 53457 75 刘佳 53359 76 周荣贵 53358 77 饶宁 53358 78 彭鸿燕 53356 79 李国山 53259 80 姚田万 53254 81 王梅 53165 82 邓大飞 53159 83 张响荣 53150 84 杨承志 53060 85 宋吉峰 53054 86 杨健 53052 87 陈曦 53049 88 罗华 52958 89 刘璐 52860 90 邓新 52854 91 杨振 52848 92 许艳华 52752 93 张超 52749 94 童瑶函 52646 95 胡波 52645 96 方明慧 52562 97 何帆 52545 98 张宗言 44985 99 韩博洋 44982 100 秦明举 44977 101 刘国权 44870 102 向雄 44869 103 樊自春 44868 104 孙迎河 44868 105 张庆 44782 106 王德富 44774 107 高雅洁 44771 108 邸欣月 44766 109 张军 44682 110 袁东勋 44677 111 王强 44669 112 麻晓雨 44573 113 耿显雷 44565 114 周维维 44477 115 王伟洁 44477 116 马彦云 44475 117 郭峰亮 44466 118 王菲菲 44371 119 彭聪 44276 120 智铎强 44275 121 路晓亮 44273 122 杨志军 44266 123 王丹 44168 124 龙胜清 44167 125 骆逸婷 44166 126 潭松成 44074 127 邓柏松 44072 128 尹丹 44067 129 林川 44064 130 吴灵敏 44064 131 邢利琦 43975 132 赵莹彬 43958 133 易飞 43868 134 邵菁清 43866 135 杨帅 43865 136 徐子一 43862 137 郑周顺 43858 138 刘念 43770 139 陈剑波 43769 140 洪广福 43758 141 刘建宁 43756 142 徐华 43664 143 郑希 43560 144 赵志江 43471 145 谢福兵 43465 146 成浩 43461 147 李浩 43459 148 吴林忠 43452 149 刘芳 43452 150 李建峰 43365 151 杨栋 43359 152 刘俊红 43353 153 周兵 43262 154 刘旭明 43260 155 王强 43260 156 金亮宇 43258 157 朱俊翔 43163 158 王文洋 43157 159 张宗肖 43057 160 江潮 43055 161 刘常利 43051 162 董泽 42962 163 李伟伟 42955 164 王磊 42947 165 黄振威 42861 166 谭江渝 42859 167 杨勇 42763 168 高连涛 42762 169 吴剑 42758 170 付亮 42661 171 宋涛 42660 172 张冰冰 42652 173 王琰 42650 174 刘园 42647 175 刘伟 42555 176 魏凡 42554 177 杨逛 42553 178 赵进飞 42550 179 张震 42458 180 周晓宇 42455 181 付黎明 42448 182 张月峰 42356 183 吴元莉 42355 184 吴树春 42341 185 宫雪 42257 186 李永祥 42257 187 任志媛 42254 188 王伟虎 42158 189 李薏新 42146 190 吴皓 42145 191 刘振一 42056 192 王坤 42055 193 苗顺占 42052 194 何磊 42047 195 张行 42046 196 张矿 42039 197 张俊涛 34467 198 黄志全 34462 199 谢文涛 34379 200 江南 34378 题目三学生信息管理系统设计 题目描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 系统以文本菜单方式工作,学生信息录入功能(学生信息最好用文件保存)---输入 学生信息浏览功能---输出 查询、排序功能---算法 按学号查询 按姓名查询 学生信息的删除与修改(可选项) 设计思路 自定义一系列的函数实现本系统的的所有功能选项,通过switch-case来实现菜单选项。通过函数的调用,最终实现并输出我们所需的学生信息。 运行效果图 附源程序如下 #include int i=0;void input(){ char a;do{ printf(“n请输入学号:”);scanf(“%d”,&st[i].StuNo);fflush(stdin);printf(“n请输入姓名:”);gets(st[i].name);printf(“n”);printf(“请输入年龄:”);scanf(“%d”,&st[i].age);fflush(stdin);printf(“n请输入姓别:”);gets(st[i].sex);fflush(stdin);printf(“n请输入生日:”);gets(st[i].birthady);printf(“n请输入电话:”);gets(st[i].tel);fflush(stdin);printf(“n请输入籍贯:”);gets(st[i].nativeplace); fflush(stdin);printf(“n请输入邮箱:”);gets(st[i].email);printf(“n是否继续输入另外一个学生信息?(y/n)”);fflush(stdin);a=getchar();i++;}while(a=='y' && i<=50); }//输入学生的每一项信息 void display()//显示学生信息 { int j;printf(“学号t姓名t年龄t性别t生日t电话tt籍贯tttt邮箱n”);for(j=0;j void sort()//按年龄从大到小排序函数 { int j,k;int temp;for(j=0;j void find1()//按学生姓名查找学生信息 { int m;char name[20],b;do { printf(“n请输入想查找的学生姓名:”);fflush(stdin);gets(name);for(m=0;m { if(strcmp(name,st[m].name)==0) { printf(“nt您查找的学生在第%d个位置找到了!!n”,m+1);break;} } if(m>=20)printf(“nt没有找到这个学生!!n”);else { printf(“学号t姓名t年龄t性别t生日t电话tt籍贯tttt邮箱n”);printf(“%-8d%-8s%-8d%-8s%-8s%-16s%-32s%-sn”,st[m].StuNo,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace,st[m].email);} printf(“n是否要查找另一个学生的信息?请输入(y/n)”);fflush(stdin);b=getchar(); }while(b=='y');} void find2()//按学生学号查找学生信息 { int m;int StuNo,b;do { printf(“n请输入您想查找的学生学号:”);fflush(stdin);scanf(“%d”,&StuNo);for(m=0;m=20)printf(“nt没有找到这个学生!!n”);else { printf(“学号t姓名t年龄t性别t生日t电话tt籍贯tttt邮箱n”);printf(“%-8d%-8s%-8d%-8s%-8s%-16s%-32s%sn”,st[m].StuNo,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace,st[m].email);} printf(“n是否查找另一个学生的信息?(y/n)”);fflush(stdin);b=getchar(); }while(b=='y'); } void del()//删除学生信息 { char name[20],c;int a,b;do { printf(“n请输入要删除的学生姓名:n”);fflush(stdin);gets(name);for(a=0;ai)printf(“t很抱歉没有找到这个学生!!n”);else { i--;display();} printf(“n是否继续删除另一个学生信息?(y/n)”);fflush(stdin);c=getchar();}while(c=='y');} void insert()//插入学生信息 { input();sort();} void main()//主函数 { int change; do{ system(“cls”);printf(“>>>>>>>>>>>>>>>>>>>>欢迎进入学生信息管理系统<<<<<<<<<<<<<<<<<<< C语言课程设计实习报告 学生姓名: 萱冰伊寒 学 号: 22 日 期: 2011年3月3日 目录 一、程序分析与设计.......................................................................................................................1 二、流程图.......................................................................................................................................1 三、源程序清单...............................................................................................................................4 四、调试过程.................................................................................................................................10 五、程序有待改进的地方.............................................................................................................10 六、本次实习的收获和建议.........................................................................................................11 附录................................................................................................................................................11 C语言课程设计实习报告 一、程序分析与设计 1、使用分模块处理的函数形式,主调函数包括九个分函数,分别是: void read();//读文本 void write();//写文本 void average();//求每个学生平均分 void rank();//排名次 void courseaver();//求各科平均分 void nopass();//求不及格学生名单 void excellent();//求优等生名单 void fenshuduan();//求各分数段人数 void menu();//菜单 2、调用主函数,首先进入菜单,选择需要显示的内容。 3、用记事本编辑文件1.dat存储一个班学习成绩。然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。 4、利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。接着用冒泡法利用平均分的高低排出名次。最后用fprintf将每个学生的信息写入到2.dat文件。 5、利用循环将各个科目的所有分数相加后除以人数求出各科的平均分。 6、利用循环和if判断语句以10分为一个分数段(60分以下统一记为一个分数段),求出各个分数段的人数。 7、利用循环和if判断语句将各个科目小于60分的学生信息输出。 8、利用循环和if条件语句,添加一些限制条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上; 2)名次在前三名3)每门功课及格以上;作为优等生的最低要求,将优等生的名单输出。 9、结束程序。 二、流程图 (1)主程序 资工(基)10901 唐雪枭 (2)菜单 (4)读文本 (3)求各学生平均分 (5)写文本 C语言课程设计实习报告 (6)求名次 (7)求各科平均分 (8)求各科分数段 资工(基)10901 唐雪枭 (9)求不及格学生及优等生 三、源程序清单 #include C语言课程设计实习报告 void read();//读文本 void write();//写文本 void average();//求每名同学的平均分 void rank();//排名次 void courseaver();//求各科平均分 void nopass();//求不及格学生名单 void excellent();//求优等生名单 void fenshuduan();//求各分数段人数 void menu();//菜单 void main(){ int i;menu();read();average();rank();courseaver();for(;1;){ scanf(“%d”,&i);switch(i){ case 1:write();menu();break; case 2:fenshuduan();menu();break; case 3:nopass();menu();break; case 4:excellent();menu();break;case 0:exit(0);break;default:printf(“无效n”);break;} } } void menu(){ printf(“-------------欢迎进入学生成绩管理程序----------n”);printf(“nnn”); 资工(基)10901 唐雪枭 printf(“***********************************************n”);printf(“输入1 输出 学生成绩条 n”);printf(“输入2 输出 各科分数段及各科的平均成绩 n”);printf(“输入3 输出 不及格学生信息 n”);printf(“输入4 输出 优等生名单 n”);printf(“输入0 退出 n”);printf(“***********************************************n”);} void average(){ int i;for(i=0;i C语言课程设计实习报告 for(i=0;i 资工(基)10901 唐雪枭 void fenshuduan(){ int i;for(i=0;i for(i=0;i for(i=0;i C语言课程设计实习报告 if(NULL==(fp=fopen(“c://2.txt”,“w”))){ printf(“cannot open the file”);exit(0);} fprintf(fp,“序号t姓名t英语t数学t物理t平均分t名次n”);for(i=0;i fprintf(fp,“分数段tt英语tt数学tt物理n”);fprintf(fp,“<60tt%dtt%dtt%dn”,E[0],math[0],wu[0]);fprintf(fp,“60~69tt%dtt%dtt%dn”,E[1],math[1],wu[1]);fprintf(fp,“70~79tt%dtt%dtt%dn”,E[2],math[2],wu[2]);fprintf(fp,“80~89tt%dtt%dtt%dn”,E[3],math[3],wu[3]);fprintf(fp,“90~100tt%dtt%dtt%dn”,E[4],math[4],wu[4]);fprintf(fp,“平均成绩t%5.2ftt%5.2ftt%5.2fn”,eaver,mathaver,wuaver);fclose(fp);} void nopass(){ FILE *fp;int i;if((fp=fopen(“c://1.txt”,“r”))==NULL){ printf(“cannot open the filen”);exit(0);} for(i=0;i 资工(基)10901 唐雪枭 if(stu[i].score[2]<60)printf(“%dt%st%d物理n”,stu[i].num,stu[i].name,stu[i].score[2]);}} void excellent(){ int i;printf(“nn优等生名单n”);printf(“学号t姓名t英语t数学t物理t平均成绩t名次n”);for(i=0;i 四、调试过程 调试过程可以说是一波三折,首先要说的是关于文件的打开和写入,这两点作为这个程序的最基础,是非常重要的,由于之前并没有过多的接触,有些生疏,有时不注重一些细节地方经常会出现错误。 然后是在函数间的调用有时候十分的混乱,这个地方忘写了,那个地方放错了的情况经常出现。所以说关于函数调用,主函数等之间的关系有点生疏。 关于指针,结构体指针方面的问题,这是一个重点中也是一个难点,在调试过程中系统总是提示定义方面的错误,这个地方我认为是基础学习的不牢固导致的。 在调试过程中,关于分数的类型没有足够的认识,导致开始运行时出现错误,后将文本中的分数小数点去掉后才运行正常。 通过老师的讲解,调试过程是一个基础编程者必须要掌握的内容。经过这两周的反复练习,现在已经能够基本掌握了。 五、程序有待改进的地方 1程序有待改进的的地方还有许多,比如说这次的程序用的都是一些比较简单的语句。没有太多复杂的东西,可以说是优点也可以说是缺点。优点是让人容易看懂,缺点是内容不严密。 C语言课程设计实习报告 2我认为还有许多地方的语句都是重复的,可以对他们进行统一,但是这一点没有想出来。3还有许都地方的字符串也是重复的,这一点可以于主函数中对其进行定义,进而少上许多的多余字。这一点可以改进。 六、本次实习的收获和建议 通过这两周的C语言课程设计实习,在指导老师的讲解和帮助下,我初步理解了整个程序的编写、执行过程,经过自身的体验,明白了许多在C语言编程中经常出现的错误的解决方式,这次实习很好的将我们课堂上学习到的知识与实践相结合,提高了我对C语言相关知识的认识水平,在课设中,经常会出现这样或那样的问题导致程序无法继续执行,这时就需要我们用平和的心态来寻找问题、解决问题,积累经验,进而完善程序。俗话说熟能生巧,相信在更多的练习之后我会更加熟练的掌握C语言,编写出更好的程序。十分感谢王庆老师对我们的帮助和指导。这次实习是一次“知行结合”的好机会,希望以后能够有更多这样的机会。 附录 1、原始数据1.dat 1 陈龙 75 75 46 2 陈志明 85 95 85 3 程晨 75 75 86 4 郭伟 80 95 85 5 郭小锋 90 75 88 6 何军 85 85 86 7 李建奎 85 85 74 8 梁杰 70 85 86 9 梁宇超 85 95 90 10 梁智荣 85 65 85 11 刘辉 80 75 86 12 刘宇 90 75 84 13 楼俊婕 80 45 77 14 宁鹤飞 80 65 78 15 李华娟 80 75 85 15 彭伟杰 60 65 76 16 彭伟强 75 75 75 17 石岩松 75 85 85 18 孙冰冰 60 65 10 19 田筱 75 85 87 2、生成文件2.dat 序号 1 2 3 4 5 6 姓名 英语 数学 物理平均分 75 95 90 85 46 95 86 85 75 86 65.33 19 85 88.33 2 78.67 13 86.67 3 88 84.33 5 85.33 4 名次 陈龙 75 陈志明 程晨 75 郭伟 80 郭小锋 何军 85 11 资工(基)10901 唐雪枭李建奎 85 85 74 81.33 9 8 梁杰 70 85 86 80.33 10 9 梁宇超 85 95 90 90.00 1 10 梁智荣 85 65 85 78.33 14 11 刘辉 80 75 86 80.33 10 12 刘宇 90 75 84 83.00 6 13 楼俊婕 80 45 77 67.33 17 14 宁鹤飞 80 65 78 74.33 16 15 李华娟 80 75 85 80.00 12 15 彭伟杰 60 65 76 67.00 18 16 彭伟强 75 75 75 75.00 15 17 石岩松 75 85 85 81.67 8 18 孙冰冰 60 65 10 45.00 20 19 田筱 75 85 87 82.33 7 分数段 英语 数学 物理<60 0 1 2 60~69 2 4 0 70~79 6 7 5 80~89 10 5 12 90~100 2 3平均成绩 78.50 77.00 77.70 C语言课程设计实习报告 3、运行结果 资工(基)10901 唐雪枭 C语言课程设计报告 班 级: 10电子本1 学 号: 10303033122 姓 名: 指导老师: 方文森 完成日期: 温州大学城市学院课程设计 目 录 1、课程设计目的和要求.....................................................................................................2 2、课程设计任务内容.........................................................................................................2 3、详细设计说明.................................................................................................................3 3.1分析.........................................................................................................................3 3.2软件设计.................................................................................................................3 3.3软件调试(对编程中的错误进行记录,并给出你的解决办法).....................3 4、软件使用说明.................................................................................................................4 5、课程设计心得与体会.....................................................................................................4 附录1:参考文献................................................................................................................5 附录2:部分程序清单(带有较详细的注释)................................................................5 温州大学城市学院课程设计 C语言课程设计报告 1、课程设计目的和要求 目的:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握(2)掌握C语言编程和程序调试的基本技能(3)利用C语言进行基本的软件设计(4)掌握书写程序设计说明文档的能力(5)提高运用C语言解决实际问题的能力 要求:(1)分析课程设计题目的要求(2)写出详细设计说明 (3)编写程序代码,调试程序使其能正确运行(4)设计完成的软件要便于操作和使用(5)设计完成后提交课程设计报告 2、课程设计任务内容 1)一个班级有4个学生,共学习5门课程(大学英语、高等数学、C语言程序设计、VB程序设计、大学语文)。要求编写程序完成相应功能。2) 输入并保存]5门课程名称; 3) 输入并保存]4个学生的学号及其[个人相关信息]; 4) 输入并保存]每个学生对应的每门课程成绩; 5)求出每门功课的平均分; 6)找出有两门以上功课不及格的学生,输出他们的学号和全部课程成绩及该学生5门课程的平均成绩; 7)找出平均成绩在90分以上或者全部课程成绩在85分以上的学生,输出他们的学号和全部课程成绩及该学生5门课程的平均成绩; 8)计算每位学生的总分,并按总分进行排名,按由高到低输出他们的学号及总成绩; 9)对前面问题进行优化,即在一维数驵的基础上,考虑采用二维数组、函数及其参数传递的方式来解决相关问题; 10)对前面问题进行优化,在学号的基础上,增加学生的其它个人信息,包括:学号、姓名、年龄、性别,并采用结构体形式加以表示; 11)利用文件实现对输入及分析输出数据的存取操作。 12)参照教材P27页,3-11题引入选择功能,输入功能编号可以实现以上功能(考虑清屏函数,自查)。 温州大学城市学院课程设计 3、详细设计说明 3.1分析 3.2软件设计 开始菜单(功能选择)Key=?Key=1Key=2Key=3Key=4Key=5Key=0Key=99Key=6Key=7Key=8Key=9Key=10写入课程名读取课程名输入学生信息读取学生信息建立了学生信息及课程名称?退出程序读取课程、学生、成绩读取课程成绩输出功课的平均分两门以上功课不及格的学生输出高分的学生总分由高到低排序No保存保存Yes输入课程成绩(提示)必须输入课程名称、学生信息才能建立成绩保存清屏 3.3软件调试(对编程中的错误进行记录,并给出你的解决办法) 取地址。 温州大学城市学院课程设计 4、软件使用说明 1.2.3.4.5.6.7.8.9.10.11.12.[99]读取课程、学生、成绩 [1]输入课程名称.[2]读取课程名称.[3]输入学生信息.[4]读取学生信息.[5]输入课程成绩.[6]读取课程成绩.[7]功课的平均分.[8]两门以上功课不及格的学生 [9]-高分的学生-.[10]学生总分排序.[0]退出应用程序.5、课程设计心得与体会 在大家的共同努力下,忙碌了两个星期,我们顺利完成了对此程序的编译及试运行。在设计程序的过程中,我们了解到要设计一个完整的程序,其中最难的可能就属设计整个程序的框架,其中可能会需要经过很多次的修改与调试,所以必须要有耐心,直至最后设计出自己想要的程序。 另外平时学习c语言的基础也很关键,因为如果平时学得就不怎么样,那么你面对这么一个比较有难度的程序,可能会望而却步,看懂他人的程序都是个难点,更别说让自己去设计。为了解决此类问题,最好就是多向同学,老师请教,查找资料。 设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法。 感谢这次的课程设计,它使我更加深刻地体会到c语言程序编写过程的严谨与细致,还有就是无论做任何事都要有耐心。当然团队合作也是非常重要的一个环节,这会使你在学习过程中倍感轻松 总的来说,这次程序设计让我获益匪浅,对C语言也有了进一步的认识:C语言功能高、表达能力强、使用灵活方便、目标程序效率高等等。C语言是在国内外广泛使用的一种计算机语言,相信除了以上优点,还有许多我们还未发现,希望能在以后的学习中有更深入的认 温州大学城市学院课程设计 识。 附录1:参考文献 《C语言程序设计与实践教程》 附录2:部分程序清单(带有较详细的注释) #include #define N 4 #define M 5 #define Debug 1 typedef struct { char SNo[5];char SName[10];}Student; void ScoreRead(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i 温州大学城市学院课程设计 void ScoreWrite(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i void CoureseRead(char Cname[][20],char FileName[],char FileType[]){ FILE *fp;int i,j;char ch;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} i=0;j=0;while(1){ ch = fgetc(fp);if(ch==EOF)break;if(ch=='n'){ Cname[i][j]=' ';i++;j=0;6 温州大学城市学院课程设计 } else { Cname[i][j]=ch;j++;} } #if(Debug==1)for(i=0;i void CoureseWrite(char Cname[][20],char FileName[],char FileType[]){ FILE *fp;int i,j;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} for(i=0;i第二篇:C语言课程设计实习报告范本
第三篇:C语言课程设计报告