版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序号:0301学号:10416313课程设计设计课程名称:C语言课程设计题目:成绩统计系统进制转换系统学生姓名:韩建东学院(系):怀德学院专业班级:计算机101指导教师:倪彤光设计时间:年6月13日年6月27日
常州大学课程设计任务书一怀德学院计算机专业计算机101班同学:韩建东一、设计题目成绩统计系统二、设计内容假设某校学生通讯录基础信息关键包含:学号、姓名、通讯地址、电话等,本系统应能对这些基础信息进行管理,并要求含有以下功效:1、含有学生信息添加功效2、含有学生信息删除功效3、含有学生信息浏览功效4、含有学生信息查询功效5、含有学生信息排序功效三、基础要求1、编写源程序要求:(1)能够实现任务书中功效;(2)尽可能使界面友好、直观、易操作(3)源程序要有合适注释,使程序轻易阅读。2、撰写“课程设计汇报”,要求以下:(1)封面:统一采取《江苏工业学院课程设计说明书》封面格式(2)任务书(3)目录(4)“课程设计汇报”正文3、课程设计验收要求:(1)运行所设计系统;(2)回复相关问题;(3)提交课程设计汇报;(4)提交源程序。四、进度安排1、系统分析、设计准备阶段:4课时2、编程调试阶段:22课时3、总结和书写课程设计汇报阶段:2课时4、考评阶段:2课时指导老师:倪彤光年6月7日系主任:苏兵年6月7日教学院长:杨长春年6月7日常州大学课程设计任务书二怀德学院计算机专业计算机101班同学:韩建东一、设计题目进制转换系统二、设计内容本系统要求含有以下功效:1、含有将十进制转换为二进制功效2、含有将十进制转换为十六进制功效3、含有将二进制转换为十进制功效 4、含有将十六进制转换为十进制功效三、基础要求1、编写源程序要求:(1)能够实现任务书中功效;(2)尽可能使界面友好、直观、易操作(3)源程序要有合适注释,使程序轻易阅读。2、撰写“课程设计汇报”,要求以下:(1)封面:统一采取《江苏工业学院课程设计说明书》封面格式(2)任务书(3)目录(4)“课程设计汇报”正文3、课程设计验收要求:(1)运行所设计系统;(2)回复相关问题;(3)提交课程设计汇报;(4)提交源程序。四、进度安排1、系统分析、设计准备阶段:4课时2、编程调试阶段:22课时3、总结和书写课程设计汇报阶段:2课时4、考评阶段:2课时指导老师:倪彤光年6月7日系主任:苏兵年6月7日教学院长:杨长春年6月7日1.意义及功效 51.1系统意义 51.1.1成绩管理信息系统意义 51.1.2进制算法设计意义 51.2系统功效 51.2.1成绩管理信息系统功效 51.2.2进制算法设计功效 52功效结构图 52.1成绩管理信息系统 52.2进制算法设计 53.步骤图 63.1成绩管理信息系统步骤图 64调试运行 64.1成绩管理信息系统 64.2进制算法设计 65使用说明 65.1成绩管理信息系统 65.2进制算法设计 66C语言源程序代码 76.1成绩管理信息系统 76.2进制算法设计 77心得体会 88实习日志 89参考文件 91.意义及功效1.1系统意义1.1.1成绩管理信息系统意义为了方便学校用来统计学生数据,为学校能够省下大量人力和物力,同时也省下了时间。1.1.2进制算法设计意义为了方便广大初学学生愈加好了解进制之间转换。1.2系统功效1.2.1成绩管理信息系统功效1、含有学生信息添加功效2、含有学生信息删除功效3、含有学生信息浏览功效4、含有学生信息查询功效5、含有学生信息排序功效1.2.2进制算法设计功效1、含有将十进制转换为二进制功效2、含有将十进制转换为十六进制功效3、含有将二进制转换为十进制功效 4、含有将十六进制转换为十进制功效2功效结构图2.1成绩管理信息系统输入学生信息输入学生信息添加学生信息删除学生信息显示学生信息排序学生信息2.2进制算法设计输入数据输入数据要转换进制输出数据3.步骤图3.1成绩管理信息系统步骤图4调试运行4.1成绩管理信息系统4.2进制算法设计5使用说明5.1成绩管理信息系统1是添加学生信息,2是删除学生信息,3是查询学生信息,4是排序学生信息,5是显示学生信息,6是退出程序5.2进制算法设计先输入要转换为多少进制数,在输入要转换多少进制数6C语言源程序代码6.1成绩管理信息系统#include"stdio.h"#include"stdlib.h"#include"string.h"#defineMAX50voidadd();voiddel();voidquery();voidsort();voidlist();typedefstructemployee{intnumber; charname[20]; charsex[2];intage; charxueli[10]; floatsalary; charaddress[30]; chartel[11];}EMP;voidmain(){charc;inti; do { system("cls"); for(i=0;i<80;i++) printf("*"); printf("\t1:添加学生信息\n"); printf("\t2:删除学生信息\n"); printf("\t3:查询\n"); printf("\t4:排序\n");printf("\t5:显示\n");printf("\t6:退出\n"); printf("\t请选择输入选项[1\\2\\3\\4\\5\\6]:\n"); do { c=getchar(); }while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6'); getchar(); switch(c) {case'1':add();break; case'2':del();break; case'3':query();break; case'4':sort();break;case'5':list();break;case'6':exit(0); } printf("按任意键返回主菜单:\n"); getchar(); system("cls"); }while(1);}voidadd(){EMPemploy; FILE*fp; /*以下为输入学生信息代码*/ printf("请输入学生信息"); printf("\n学生号(整数0001—1999):");scanf("%d",&employ.number); getchar();printf("\n学生姓名:"); gets();printf("\n学生性别(请输入男或女):"); gets(employ.sex);printf("\n学生年纪:"); scanf("%d",&employ.age);getchar();printf("\n学生成绩:"); gets(employ.xueli);printf("\n学生班级:"); scanf("%f",&employ.salary);getchar();printf("\n学生地址:");gets(employ.address); printf("\n学生电话:"); gets(employ.tel);/*学生信息输入代码结束*/ printf("该学生信息为:%d%s%s%d%s%.2f%s%s\n",employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.address,employ.tel);/*将学生信息保留到文件中*/if((fp=fopen("XX.out","ab"))==NULL) {printf(""); getchar(); exit(0); }if(fwrite(&employ,sizeof(employ),1,fp)!=1) printf("filewriteerror\n");fclose(fp);/*保留学生信息代码结束*/}voidquery(){intflag,number,count;EMPemploy; FILE*fp; charname[10]; printf("请输入查找方法:"); printf("1--代表根据学生号2--代表根据姓名\n"); scanf("%d",&flag);getchar(); if(flag==1) {printf("请输入学生号:"); scanf("%d",&number);getchar(); if((fp=fopen("XX.out","rb"))==NULL) {printf("cannotopenfileexit!"); getchar(); exit(0); }do { count=fread(&employ,sizeof(employ),1,fp);if(employ.number==number){printf("该学生信息为:%d%s%s%d%s%.2f%s%s\n",employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.address,employ.tel); break; } }while(count==1); //printf("%d",flag); fclose(fp); } else {printf("%d",flag); } printf("该学生不存在!\n");}voiddel(){intcount,i=0,number,j; FILE*fp; EMPemploy[MAX]; charflag;if((fp=fopen("XX.out","rb"))==NULL) {printf("cannotopenfileexit!"); getchar(); exit(0); }/*从文件中读入数据*/ do{count=fread(&employ[i],sizeof(employ[0]),1,fp);if(count==1){i++;} }while(count==1); /*for(count=0;count<i;count++) printf("%d",employ[count].number); */ fclose(fp);printf("\n请输入删除学生学生号:"); scanf("%d",&number);getchar();printf("\n你确定删除该学生吗(y/n)");flag=getchar(); if(flag=='y'){ /*找被删除下标识为count*/ for(count=0;count<i;count++) if(number==employ[count].number)break;/*以下为删除代码*/if(count<i){/*先将数组中信息删除*/for(j=count+1;j<i;j++) { employ[j-1].number=employ[j].number; strcpy(employ[j-1].address,employ[j].address); employ[j-1].age=employ[j].age; strcpy(employ[j-1].name,employ[j].name); employ[j-1].salary=employ[j].salary; strcpy(employ[j-1].sex,employ[j].sex); strcpy(employ[j-1].tel,employ[j].tel); strcpy(employ[j-1].xueli,employ[j].xueli); } /*写入删除后数据*/ if((fp=fopen("XX.out","wb"))==NULL) {printf("cannotopenfileexit!"); getchar(); exit(0); }fwrite(employ,sizeof(employ[0]),i-1,fp);fclose(fp); } elseprintf("你输入学生号不存在\n"); }}voidsort(){EMPemploy[MAX],temp; FILE*fp;intcount,n=0,flag,i,j;/*打开文件*/ if((fp=fopen("XX.out","rb"))==NULL) {printf("cannotopenfileexit!"); getchar(); exit(0); }/*从文件中读入数据*/ do{count=fread(&employ[n],sizeof(employ[0]),1,fp);if(count==1){n++;} }while(count==1); fclose(fp);printf("1--代表根据学生号升序排序2--代表根据学生号降序排序\n"); scanf("%d",&flag);getchar(); if(flag==1){ //升序排序 for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) {if(employ[j].number>employ[j+1].number) {temp.number=employ[j].number;strcpy(,employ[j].name); strcpy(temp.sex,employ[j].sex); temp.age=employ[j].age;strcpy(temp.xueli,employ[j].xueli);temp.salary=employ[j].salary;strcpy(temp.address,employ[j].address); strcpy(temp.tel,employ[j].tel); employ[j].number=employ[j+1].number;strcpy(employ[j].name,employ[j+1].name); strcpy(employ[j].sex,employ[j+1].sex); employ[j].age=employ[j+1].age;strcpy(employ[j].xueli,employ[j+1].xueli);employ[j].salary=employ[j+1].salary;strcpy(employ[j].address,employ[j+1].address); strcpy(employ[j].tel,employ[j+1].tel);employ[j+1].number=temp.number;strcpy(employ[j+1].name,); strcpy(employ[j+1].sex,temp.sex); employ[j+1].age=temp.age;strcpy(employ[j+1].xueli,temp.xueli);employ[j+1].salary=temp.salary;strcpy(employ[j+1].address,temp.address); strcpy(employ[j+1].tel,temp.tel); } } } else{ //降序排序 for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) {if(employ[j].number<employ[j+1].number) {temp.number=employ[j].number;strcpy(,employ[j].name); strcpy(temp.sex,employ[j].sex); temp.age=employ[j].age;strcpy(temp.xueli,employ[j].xueli);temp.salary=employ[j].salary;strcpy(temp.address,employ[j].address); strcpy(temp.tel,employ[j].tel); employ[j].number=employ[j+1].number;strcpy(employ[j].name,employ[j+1].name); strcpy(employ[j].sex,employ[j+1].sex); employ[j].age=employ[j+1].age;strcpy(employ[j].xueli,employ[j+1].xueli);employ[j].salary=employ[j+1].salary;strcpy(employ[j].address,employ[j+1].address); strcpy(employ[j].tel,employ[j+1].tel);employ[j+1].number=temp.number;strcpy(employ[j+1].name,); strcpy(employ[j+1].sex,temp.sex); employ[j+1].age=temp.age;strcpy(employ[j+1].xueli,temp.xueli);employ[j+1].salary=temp.salary;strcpy(employ[j+1].address,temp.address); strcpy(employ[j+1].tel,temp.tel); } } }for(i=0;i<n;i++)printf("该学生信息为:%d%s%s%d%s%.2f%s%s\n",employ[i].number,employ[i].name,employ[i].sex,employ[i].age,employ[i].xueli,employ[i].salary,employ[i].address,employ[i].tel); }voidlist(){EMPemploy;FILE*fp;intcount;if((fp=fopen("XX.out","rb"))==NULL) {printf("cannotopenfileexit!"); getchar(); exit(0); }do{ count=fread(&employ,sizeof(employ),1,fp);if(count==1)printf("该学生信息为:%d%s%s%d%s%.2f%s%s\n",employ.number,,employ.sex,employ.age,employ.xueli,employ.salary,employ.address,employ.tel);}while(count==1);fclose(fp);}6.2进制算法设计#include<stdio.h>#include<malloc.h>//malloc函数头文件#defineINITSIZE100//初始分配空间大小typedefintElemType;//要据需要定义数据类型typedefstruct{ElemType*data;//用于存放元素动态数组空间inttop;//栈顶指针intstacksize;//目前栈空间长度}linkStack;voidinitstack(linkStack*s)//初始化栈{s->data=(ElemType*)malloc(INITSIZE*sizeof(ElemType));//分配空间s->top=0;//栈顶指针初始化s->stacksize=INITSIZE;//初始化栈空间}intpush(linkStack*s,ElemTypex)//元素入栈{if(s->top>s->stacksize)//假如分配空间已满,从新分配{s->data=(ElemType*)realloc(s->data,(s->stacksize+1)*sizeof(ElemType));if(!s->data)return0;//分配失败,反回零s->stacksize++;//增加空间大小}s->data[s->top++]=x;//把元素X入栈return1;}intpop(linkStack*s)//元素出栈{if(s->top==0)return0;returns->data[--s->top];}voidlist(linkStacks)//输出栈内元素{inti,hex;charchhex;for(i=s.top-1;i>=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺租赁解除合同法律意见书
- 项目咨询服务合同条件
- 电子借款合同格式
- 安全评估招标指南
- 房屋买卖合同中契税缴纳的注意事项
- 供应商品质保证书
- 商务楼卫生维护契约
- 供货协议合同模板
- 春运出行完全手册解析
- 传递正能量的保证宣言
- 用电安全专项检查工作方案模版(3篇)
- 《汽车构造》期末考试复习题库(含答案)
- 2025年广东省春季高考数学仿真模拟试卷试题(含答案解析+答题卡)
- 陕西省咸阳市2023-2024学年高一上学期期末考试 地理 含答案
- 微积分(I)知到智慧树章节测试课后答案2024年秋南昌大学
- 口腔技术入股股份协议书(2篇)
- 2024年消防员劳动合同书
- 计量器具管理制度计量器具使用、维护、保养规章制度
- 齐白石介绍课件
- 《建设工程施工合同(示范文本)》(GF-2017-0201)
- 第二十五章 锐角的三角比(单元重点综合测试)
评论
0/150
提交评论