C语言专业课程设计.docx
《C语言专业课程设计.docx》由会员分享,可在线阅读,更多相关《C语言专业课程设计.docx(23页珍藏版)》请在冰豆网上搜索。
![C语言专业课程设计.docx](https://file1.bdocx.com/fileroot1/2022-10/9/54adaba9-547b-4283-876e-e40a618c26b6/54adaba9-547b-4283-876e-e40a618c26b61.gif)
C语言专业课程设计
C语言专业课程设计
序号:
0301
学号:
10416313
课程设计
设计课程名称:
C语言课程设计
题目:
成绩统计系统进制转换系统
学生姓名:
韩建东
学院(系):
怀德学院专业班级:
计算机101
指导教师:
倪彤光
设计时间:
2011年6月13日~2011年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学时
指导教师:
倪彤光2011年6月7日
系主任:
苏兵2011年6月7日
教学院长:
杨长春2011年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学时
指导教师:
倪彤光2011年6月7日
系主任:
苏兵2011年6月7日
教学院长:
杨长春2011年6月7日
1.意义及功能
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"
#defineMAX50
voidadd();
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(employ.name);
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.name,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.name,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
printf("%d",employ[count].number);*/
fclose(fp);
printf("\n请输入删除学生的学生号:
");
scanf("%d",&number);getchar();
printf("\n