C语言毕业课程设计报告格式要求与范例.docx
- 文档编号:25375559
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:26
- 大小:21.38KB
C语言毕业课程设计报告格式要求与范例.docx
《C语言毕业课程设计报告格式要求与范例.docx》由会员分享,可在线阅读,更多相关《C语言毕业课程设计报告格式要求与范例.docx(26页珍藏版)》请在冰豆网上搜索。
C语言毕业课程设计报告格式要求与范例
(此文档为word格式,下载后您可任意编辑修改!
)
《C语言程序设计》
课程设计报告
专业:
电子信息工程(自动化)
班级:
电信0904
姓名:
陈列慧
指导教师:
彭琼丁雄
2010年12月30日
C语言程序课程设计任务书
一、设计题目:
职工信息管理系统
二、设计目的
1、熟练掌握C语言课程中所学的理论知识;
2、通过综合C语言的基本知识来解决实际问题;
3、加强分析和解决问题的能力;
三、设计内容
设计对5项职工信息管理的课程信息管理系统,每个职工有职工号、姓名、性别、年龄、学历、工资等。
系统功能包括:
1、系统以菜单方式工作,密码登陆。
2、课程信息的录入功能(增加数据)。
用数组数据类型赋初值的方法把课程信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、课程信息的删除(删除数据)。
任意输入一门课程的编号,将它所有的信息从数组中删除。
4、课程信息的浏览功能(查找数据)。
任意输入一门课程的编号,打印出所有相关数据。
要求能多次查找。
5、课程信息的删除(修改数据)。
任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、课程信息的计算并排序。
计算所有课程的总学分及平均学分(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。
四、设计步骤
1、需求分析:
对系统的应实现的功能进行分析。
2、概要设计:
对系统功能进行模块分解,对模块的功能及模块之间的相互关系进行说明(如用到函数,则对函数间的接口进行说明),对系统使用的数据结构(各数组、主要变量的设置及其代表的含义)进行说明。
3、详细设计:
用流程图、伪代码等方法对各主要算法进行描述。
4、编写代码:
根据设计编写。
源程序要按照程序的格式规范来编写,要求结构清晰,界面友好,关键部分有必要的注释。
5、调试分析:
准备充分的测试数据对系统进行调试(对错误的数据输入也要进行测试,保证程序的容错性),并通过测试对系统提出改进设想。
目录
(空两行)
1………………………………………………………………页码
2………………………………………………………………页码
(要求:
给出一级目录,宋体加粗,四号字,1.5倍行距。
)
(报告正文部分):
(要求:
正文部分一律用小四号字,宋体,1.5倍行距。
一级大标题靠左,加粗。
二级大标题靠左,不加粗。
)
课程设计的内容如下:
1.课程设计目的(可参考任务书)
2.课程设计题目描述和要求(可参考任务书)
3.课程设计报告内容(以下仅供参考)
3.1整个系统的框架结构与各个模块的接口设计与简介(可用绘图的方式表达说明系统的结构和个接口的定义)
…….
3.2登陆与主界面模块功能的设计与实现(包括流程图、源代码以及适当功能说明)
………..
3.3具体负责的模块的功能的设计与实现(包括流程图、源代码以及适当功能说明)
……
3.4模块的集成与调试(描述模块的集成与调试的一些细节工作)
………
4.总结(总结设计过程中的心得、经验、解决问题的方法和技巧、自己的收获等等)
………
参考书目:
(五号,宋体加粗)
[1]谭浩强,《C语言程序设计教程》,北京,清华大学出版社,2009年
[2]…………………………………………………………………………..
(要求:
五号字,宋体,单倍行距。
按作者、书名、出版社、地点、出版时间格式逐一列出,中间用逗号格开)
附录(全部系统的源代码)
//#include"StdAfx.h"
#include
#include
#include
#include
#include
#definen120
#definem13
#defineN3
charzgxx[n1][m1][16];
structpeople
{
charnum[100];//*职工号
charname[15];//*姓名
charsex[20];//*性别
charage[20];//*年龄
charxueli[20];//*学历
chargongzi[20];//*工资
charaddress[20];//*地址
chartelephone[20];//*电话号码
}people[N];
voidinput(inti);
voidenter();
voidbrowse();
voidadd();
//voidno_input(inti,intn);
voidsearch();
voidmodify();
voidsave(intn);
intload();
intmodify_data(inti);
voidprintf_face();
voidprintf_back();
voidprintf_one(inti);
voidmenu();
voidchack_No(inti);
voidmima();
voidzggzpaixu();
voidchack_No(inti)
{
if(i>0)
{
for(intk=0;k
{
if(strcmp(people[k].num,people[i].num)==0)
{
cout<<"您输入的职工号已存在,请更换号码!
"< cout<<"职工号: "; cin>>people[i].num; chack_No(i); break; } } } } voidinput(inti) { //no_input(i,i); printf("职工号: "); scanf("%s",people[i].num); chack_No(i); printf("姓名: "); scanf("%s",people[i].name); printf("性别: "); scanf("%s",people[i].sex); printf("年龄: "); scanf("%s",people[i].age); printf("学历: "); scanf("%s",people[i].xueli); printf("工资: "); scanf("%s",people[i].gongzi); printf("住址: "); scanf("%s",people[i].address); printf("电话: "); scanf("%s",people[i].telephone); } voidenter() { inti,n; printf("请输入人数(0-%d): ",N-1); scanf("%d",&n); printf("\n录入信息\n"); for(i=0;i { printf("\n请输入第%d个人的信息.",i+1); input(i); } if(i! =0)save(n); printf_back(); } voidbrowse() { inti,n; n=load(); printf_face(); for(i=0;i { if((i! =0)&&(i%10==0)) { printf("\n\n按任意键继续...."); getch(); puts("\n\n"); } printf_one(i); } printf("\t共有%d条记录.\n",n); printf("\n按任意键继续..."); getch(); menu(); } voidadd() { inti,n,m,k; FILE*fp; n=load(); printf("你想添加的人数为(0-%d): ",N-1-n); scanf("%d",&m); k=m+n; for(i=n;i { printf("\n输入第%d个人的信息.",i-n+1); input(i); } if((fp=fopen("Pro.txt","ab"))==NULL) { printf("文件打开失败! \n"); } for(i=n;i if(fwrite(&people[i],sizeof(structpeople),1,fp)! =1) printf("文件写入失败! \n"); fclose(fp); printf_back(); } voidsearch() { inti,n,k,w1=1,w2,w3,w4,m,a; structpeoplep; n=load(); do { printf("\n选择你要查询的方式\n\t1).按学历2).按职工号[]\b\b"); scanf("%d",&m); switch(m) { case1: do { k=-1; printf("\n\n请输入你要查询的学历: "); scanf("%s",p.xueli); printf_face(); for(i=0;i if(strcmp(p.xueli,people[i].xueli)==0) { k=i; printf_one(k); break; } if(k==-1) { printf("\n\n你输入的学历不存在! "); printf("\n\n你想继续查询吗? \n\t1).是2).否[]\b\b"); scanf("%d",&w1); if(w1==2) printf_back(); } } while(k==-1&&w1==1); break; case2: do { k=-1; printf("\n\n请输入你要查询的职工号: "); scanf("%s",p.num); printf_face(); for(i=0;i if(strcmp(p.num,people[i].num)==0) { k=i; printf_one(k);break; } if(k==-1) { printf("\n\n你输入的职工号不存在! "); printf("\n\n你想继续查询吗? \n\t1).是2).否[]\b\b"); scanf("%d",&w1); if(w1==2) printf_back(); } } while(k==-1&&w1==1); break; } w4=0;w3=0; if(k! =-1) { printf("\n\n请选择你要进行的操作: \n\t1).查询2).修改3).删除4).返回主菜单[]\b\b"); scanf("%d",&w2); switch(w2) { case2: w3=modify_data(k); break; case3: printf("\n你确定要删除吗? \n\t1).是2).否[]\b\b"); scanf("%d",&w4); if(w4==1) for(a=k;a { strcpy(people[a].num,people[a+1].num); strcpy(people[a].name,people[a+1].name); strcpy(people[a].sex,people[a+1].sex); strcpy(people[a].age,people[a+1].age); strcpy(people[a].xueli,people[a+1].xueli); strcpy(people[a].gongzi,people[a+1].gongzi); strcpy(people[a].address,people[a+1].address); strcpy(people[a].telephone,people[a+1].telephone); } break; } if(w3==1||w4==1) { save(n); printf("\n\n操作成功! ^_^"); printf("\n\n请输入你要进行的操作: \n\t1).继续查询2).返回上一级[]\b\b"); scanf("%d",&w2); } } } while(w2==1); menu(); } voidmodify() { structpeoplep; inti,n,k,w0=1,w1,w2=0; n=load(); do { k=-1; printf_face(); for(i=0;i { if((i! =0)&&(i%10==0)) { printf("\n\n请记着你要修改的职工号。 按任意键继续..."); getch(); puts("\n\n"); } printf_one(i); } do { printf("\n\n请输入你要修改的职工信息的职工号: "); scanf("%s",p.num); for(i=0;i if(strcmp(p.num,people[i].num)==0) { k=i; p=people[i]; } if(k==-1)printf("\n\n你的输入有误,请重新输入"); } while(k==-1); printf_face(); printf_one(k); w1=modify_data(k); if(w1==1) { printf("\n操作成功! ^_^.\n是否继续修改? \n\n\t1).是2).否\t[]\b\b"); scanf("%d",&w0); w2=1; } else { w0=0; if(w2==1) people[k]=p; } if(w0! =1&&w2==1) save(n); } while(w0==1); menu(); } voidsave(intn) { FILE*fp; inti; if((fp=fopen("Pro.txt","wb"))==NULL) { printf("\n文件打开失败! \n"); } for(i=0;i if(people[i].num! =0) if(fwrite(&people[i],sizeof(structpeople),1,fp)! =1) printf("文件写入失败! \n"); fclose(fp); } intload() { FILE*fp; inti; if((fp=fopen("Pro.txt","rb"))==NULL) { printf("\n文件打开失败! \n"); returnNULL; } for(i=0;! feof(fp);i++) fread(&people[i],sizeof(structpeople),1,fp); fclose(fp); return(i-1); } intmodify_data(inti) { intc,w1; do { puts("\n请选择你要修改的选项\n\n1).职工号2).姓名3).性别4).年龄5).学历6)工资7)住址8)电话"); printf("您的选择是: []\b\b"); scanf("%d",&c); if(c>8||c<1) { puts("\n输入错误,请重新输入! "); getchar(); } } while(c>8||c<1); do { switch(c) { case1: printf("职工号: ");scanf("%s",people[i].num);break; case2: printf("姓名: ");scanf("%s",people[i].name);break; case3: printf("性别: ");scanf("%s",people[i].sex);break; case4: printf("年龄: ");scanf("%s",people[i].age);break; case5: printf("学历: ");scanf("%s",people[i].xueli);break; case6: printf("工资: ");scanf("%s",people[i].gongzi);break; case7: printf("住址: ");scanf("%s",people[i].address);break; case8: printf("电话: ");scanf("%s",people[i].telephone);break; } puts("\n现在信息: \n"); printf_face(); printf_one(i); printf("\n你确定吗\n\n\t1).是2).否3).返回且不保存[]\b\b"); scanf("%d",&w1); } while(w1==2); returnw1; } // voidno_input(inti,intn) { intj,k,w1; do { w1=0; for(j=0;people[i].num[j]! ='\0';j++) if(people[i].num[j]>'9') { puts("输入错误,请从新输入! \n"); w1=1;break; } if(w1! =1) for(k=0;k if(k! =i&&strcmp(people[k].num,people[i].num)==0) { puts("你输入的职工号已经存在了,请从新输入! \n"); } } while(w1==1); } voidprintf_face() { printf("职工号姓名性别年龄学历工资住址电话\n"); } voidprintf_one(inti) { printf("%9s%9s%9s%9s%9s%9s%10s%12s\n",people[i].num,people[i].name,people[i].sex,people[i].age,people [i].xueli,people[i].gongzi,people[i].address,people[i].telephone); } voidprintf_back() { intw; printf("\n\t操作成功! .^_^\n\n"); printf("请选择: \n\n\t1).浏览所有信息\t2).返回: []\b\b"); scanf("%d",&w); if(w==1) browse(); elsemenu(); } voidpai_x() { inti,j,t=0,x,z,max,m=5,n=3; floats=0; intf[m1]; charnum[100],age[20],address[20],name[15],gongzi[20],sex[20],telephone[20],xueli[20]; for(i=0;i { for(j=i;j { if(strcmp(people[i].gongzi,people[j].gongzi)<0) { strcpy(num,people[i].num); strcpy(people[i].num,people[j].num); strcpy(people[j].num,num); strcpy(age,people[i].age); strcpy(people[i].age,people[j].age); strcpy(people[j].age,age); strcpy(address,people[i].address); strcpy(people[i].address,people[j].address); strcpy(people[j].address,address); strcpy(name,people[i].name); strcpy(people[i].name,people[j].name); strcpy(people[j].name,name); strcpy(gongzi,people[i].gongzi); strcpy(people[i].gongzi,people[j].gongzi); strcpy(people[j].gongzi,gongzi); strcpy(xueli,people[i].xueli); strcpy(people[i].xueli,people[j].xueli); strcp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 毕业 课程设计 报告 格式 要求 范例