C语言课程设计.docx

上传人:b****6 文档编号:8158361 上传时间:2023-01-29 格式:DOCX 页数:22 大小:196.70KB
下载 相关 举报
C语言课程设计.docx_第1页
第1页 / 共22页
C语言课程设计.docx_第2页
第2页 / 共22页
C语言课程设计.docx_第3页
第3页 / 共22页
C语言课程设计.docx_第4页
第4页 / 共22页
C语言课程设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言课程设计.docx

《C语言课程设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计.docx(22页珍藏版)》请在冰豆网上搜索。

C语言课程设计.docx

C语言课程设计

┊┊

课程设计

 

服务课程名称:

C语言

系:

专业:

班级:

学号:

姓名:

指导教师:

课程设计周次:

起始日期:

2008.6.16至2008.6.20

目录

1.C语言课程设计成绩评定表…………………….02页

2.C语言课程设计任务书………………………….03页

3.程序基本框架结构图…………………………….04页

4.程序设计说明书………………………………….05页

5.源代码清单……………………………………….06页

6.课程设计总结…………………………………….18页

┊┊

课程设计成绩评定表

班级

学号

姓名

项目组

第3组

项目组长

项目组组员

本人工作简介:

此次编程我的主要工作是排序部分的编译。

组长评语:

在这次的C语言课程设计中,做了程序的“排序”部分的编写。

不但程序编写的没有错误,而且在小组的讨论中积极发表观点,起到了举足轻重的作用。

成绩评定标准

A

B

C

D

E

报告完成情况

很好

比较好

一般

不好

纪律表现

很好

比较好

一般

不好

程序功能性

较强

一般

较弱

界面美观性

很好

一般

较差

不好

程序可操作性

很好

一般

较差

不好

答辩表现

很好

一般

较差

不好

所起作用程度

80%以上

60%以上

60%以下

最后成绩

优秀

A>=5

C<=0

良好

A>=3

C<=0

 

中等

B>=2

C>=4

 

及格

A=0

B=0

C>=3

不及格

A=0

B=0

C<=2

E>=1

负责指导教师:

(签名)

指导教师:

(签名)

班C语言课程设计任务书

一、设计目的

通过本次课程设计使学生进一步加深对C语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握C语言的编程方法和技巧,提高学生用C语言解决实际问题的能力。

二、设计要求

1、认真查阅参考书、资料2、遵守课程设计时间安排

3、按时上机,认真调试程序4、认真完成课程设计报告

三、课设报告装订内容及顺序

1、课程设计封皮2、目录

3、课程设计成绩评定表4、课程设计任务书

5、程序基本框架图6、程序设计说明书

7、源代码清单8、课设总结与心得

四、设计题目

学生档案管理

宾馆住宿管理

学生宿舍管理

学生成绩管理

学生选修课程系统

工资管理

五、时间安排(一周:

从06月16日到06月20日)

1、查阅资料及程序设计(1天)2、程序编制及调试(3天)

3、成绩评定(0.5天)3、打印报告(0.5天)

六、参考文献

1、《C语言程序设计》李淑华/李贞编大连理工大学出版社

2、《C语言程序设计》孙连科/姚大鹏编辽海出版社

3、《C++时尚编程百例》网冠科技编.机械工业出版社

4、《TURBOC实用大全》徐金梧等编.机械工业出版社

程序基本框架结构图

 

 

 

 

程序设计说明书

首先,组员讨论分工,确定我所负责的部分是排序函数。

我们初步确定数据结构全为字符型,分:

学号,姓名,性别,专业,寝室共5个数据项。

确定需要编译的系统功能为:

输入,追加,显示,查询,排序五项功能。

排序:

从文件中读取文件中的数据并记录数据个数。

用for循环将数据单挑比较,strcmp(a[j].qsh,a[j-1].qsh)<0当此值为真a[j].qsh的长度小于a[j-1].qsh两者交换,实现数据升序排列,属冒泡排序。

for(i=0;i

再输出显示在屏幕上,供用户使用。

 

源代码清单

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#include"ctype.h"

typedefstructstudent//寝室学生记录结构

{charxho[20];//学号

charname[20];//姓名

charsex[5];//性别

characlass[20];//专业

charqsh[10];//寝室

}STU;

 

voidmenu();//菜单选择函数

voidinput();//输入函数

voidlist();//显示函数

voidappend();//追加记录函数

voidsearch();

voidsort();

voidsearchxho();//按照学号查找的函数

voidsearchname();//按照姓名查找的函数

voidsearchaclass();//按照专业查找的函数

voidsortxho();//按照学号排序的函数

voidsortaclass();//按照专业排序的函数

voidsortqsh();//按照寝室排序的函数

voidwronglist1();

voidwronglist2();

voidwronglist3();

main()

{

menu();

}

voidmenu()

{inta;

do

{system("cls");

printf("\t\t欢迎使用学生宿舍管理系统\n");

printf("\t\t***************************************\n");

printf("\t\t*编制人员:

汪*李*迟**赵***\n");

printf("\t\t*版本号:

072-3*\n");

printf("\t\t***************************************\n");

printf("\n\n\n\n\t\t\t学生宿舍管理系统\n");

printf("\t\t***************************************\n");

printf("\t\t*1--------输入*\n");

printf("\t\t*2--------显示*\n");

printf("\t\t*3--------追加*\n");

printf("\t\t*4--------查询*\n");

printf("\t\t*5--------排序*\n");

printf("\t\t*0--------退出系统*\n");

printf("\t\t***************************************\n");

printf("\t\t请选择:

");

scanf("%d",&a);

switch(a)

{case1:

input();break;

case2:

list();break;

case3:

append();break;

case4:

search();break;

case5:

sort();break;

case0:

printf("\t\t***********谢谢使用***************\n");exit(0);

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(a!

=0);

}

 

voidinput()

{inti,n;

STUa;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","wb"))==NULL)

{printf("error!

\n");exit(0);}

printf("\n\t请输入学生人数:

");

scanf("%d",&n);

for(i=0;i

{printf("\n\n\t学号:

");

scanf("%s",a.xho);

printf("\t姓名:

");

scanf("%s",a.name);

printf("\t性别:

");

scanf("%s",a.sex);

printf("\t专业:

");

scanf("%s",a.aclass);

printf("\t寝室号:

");

scanf("%s",a.qsh);

fwrite(&a,sizeof(STU),1,fp);

}

printf("\n\n\t********************输入完毕*******************\n");

fclose(fp);

printf("\n\n\n\n\n\t*****************请按<0>键返回**************\n");

do{scanf("%d",&i);

switch(i)

{case0:

menu();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(i!

=0);

}

 

voidlist()

{STUa;

inti;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

printf("\n\n\n\t*******************************************************\n");

printf("\t\t学号\t\t姓名\t性别\t专业\t寝室\n\n");

while(fread(&a,sizeof(STU),1,fp)!

=0)

printf("\t\t%s\t\t%s\t%s\t%s\t%s\n",a.xho,a.name,a.sex,a.aclass,a.qsh);

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&i);

switch(i)

{case0:

menu();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(i!

=0);

}

 

voidappend()

{STUt;

inti,n,m;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","ab"))==NULL)

{printf("error!

\n");exit(0);}

printf("\t\t\t追加学生人数:

");

scanf("%d",&n);

for(i=0;i

{printf("\n\n\t学号:

");

scanf("%s",t.xho);

printf("\t姓名:

");

scanf("%s",t.name);

printf("\t性别:

");

scanf("%s",t.sex);

printf("\t专业:

");

scanf("%s",t.aclass);

printf("\t寝室号:

");

scanf("%s",t.qsh);

fwrite(&t,sizeof(STU),1,fp);

}

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&m);

switch(m)

{case0:

menu();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(m!

=0);

}

 

voidsearch()

{inta;

do

{system("cls");

printf("\n\n\n\n\t\t\t学生宿舍管理查询系统\n");

printf("\t\t***************************************\n");

printf("\t\t*1--------按学号查询*\n");

printf("\t\t*2--------按姓名查询*\n");

printf("\t\t*3--------按专业查询*\n");

printf("\t\t*0--------返回*\n");

printf("\t\t***************************************\n");

printf("\t\t请选择:

");

scanf("%d",&a);

switch(a)

{case1:

searchxho();break;

case2:

searchname();break;

case3:

searchaclass();break;

case0:

menu();

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(a!

=0);

}

 

voidsort()

{inta;

do{system("cls");

printf("\n\n\n\n\t\t\t学生宿舍管理排序系统\n");

printf("\t\t***************************************\n");

printf("\t\t*1--------按学号排序*\n");

printf("\t\t*2--------按专业排序*\n");

printf("\t\t*3--------按寝室排序*\n");

printf("\t\t*0--------返回*\n");

printf("\t\t***************************************\n");

printf("\t\t请选择:

");

scanf("%d",&a);

switch(a)

{case1:

sortxho();break;

case2:

sortaclass();break;

case3:

sortqsh();break;

case0:

menu();

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(a!

=0);

}

 

voidsortxho()

{inti,j,m,n=0;

STUa[10],t;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

while(fread(&a[n],sizeof(STU),1,fp)!

=0)

n++;

for(i=0;i

for(j=n;j>i;j--)

if(strcmp(a[j].xho,a[j-1].xho)<0)

{t=a[j];a[j]=a[j-1];a[j-1]=t;}

printf("\n\n\t***************按学号排序************************\n");

printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n");

for(i=0;i

printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh);

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&m);

switch(m)

{case0:

sort();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(m!

=0);

}

 

voidsortaclass()

{inti,j,n=0,m;

STUa[10],t;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

while(fread(&a[n],sizeof(STU),1,fp)!

=0)

n++;

for(i=0;i

for(j=n;j>i;j--)

if(strcmp(a[j].aclass,a[j-1].aclass)<0)

{t=a[j];a[j]=a[j-1];a[j-1]=t;}

printf("\n\n\t***************按专业排序************************\n");

printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n");

for(i=0;i

printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh);

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&m);

switch(m)

{case0:

sort();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(m!

=0);

}

 

voidsortqsh()

{inti,j,n=0,m;

STUa[10],t;

FILE*fp;

system("cls");

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

while(fread(&a[n],sizeof(STU),1,fp)!

=0)

n++;

for(i=0;i

{for(j=n;j>i;j--)

if(strcmp(a[j].qsh,a[j-1].qsh)<0)

{t=a[j];a[j]=a[j-1];a[j-1]=t;}

}

printf("\n\n\t***************按寝室排序************************\n");

printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n");

for(i=0;i

printf("\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh);

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&m);

switch(m)

{case0:

sort();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(m!

=0);

}

voidsearchname()

{inti,n=0,m;

charname[20];

STUa[20];

FILE*fp;

system("cls");

printf("\n\n\t\t请输入要查找的姓名:

");

scanf("%s",name);

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

while(fread(&a[n],sizeof(STU),1,fp)!

=0)

n++;

for(i=0;i

if(strcmp(a[i].name,name)==0)

{printf("\n\n\t*****************查询信息**********************\n");

printf("\t\t学号\t姓名\t性别\t专业\t寝室\n\n");

printf("\n\t\t%s\t%s\t%s\t%s\t%s\n",a[i].xho,a[i].name,a[i].sex,a[i].aclass,a[i].qsh);

}

elsewronglist1();

fclose(fp);

printf("\n\n\n\t*****************请按<0>键返回*******************\n");

do{scanf("%d",&m);

switch(m)

{case0:

sort();break;

default:

printf("\t\t\t输入错误请重新输入:

");

}

}while(m!

=0);

}

 

voidwronglist1()

{inta;

printf("\n\n\t\t没有要查找的信息,请确认后重新查询");

printf("\n\t\t是否重新查找(否0/是1):

");

scanf("%d",&a);

switch(a)

{case0:

search();break;

case1:

searchname();break;

default:

printf("输入错误!

系统将自动返回");search();

}

}

 

voidsearchxho()

{inti,n=0,m;

charxho[20];

STUa[20];

FILE*fp;

system("cls");

printf("\n\n\t\t请输入要查找的学号:

");

scanf("%s",xho);

if((fp=fopen("e:

\\file1","rb"))==NULL)

{printf("error!

\n");exit(0);}

while(fread(&a[n],sizeof(STU),1,fp)!

=0)

n++;

for(i=0;i

{if(strcmp(a[i].xho,xho)==0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1