湖南工学院
计算机与信息科学系
C语言课程设计报告
——职工档案及简明信息生成
指导老师:高金华
学生班级:信本0802班
学生姓名及学号:贺玲(15) 黄源(16)
6月12日星期五
一、设计目的
通过本项课程设计,可以培养共同解决问题、综合运用所学知识的能力,能更好的巩固《C语言程序设计》这门课程的学习,为以后其它语言的学习奠定坚实的基础。
培养运用所学知识编程、动手上机操作、实际问题分析和共同探讨以解决实际问题的能力,最终达到能更好巩固学习这门课程的目的。
通过本项课程设计,使我们更加了解C语言程序设计的结构,掌握基本C语言程序设计的方法,了解C语言的好处和实用性,同时增强同学之间共同合作、共同交流、共同学习。
通过程序设计进一步熟悉C语言中for循环语句、if语句、switch语句、结构体、宏定义、数组、函数定义和声明、函数调用、库函数等基础知识的使用。
通过本次课程设计,以增强对以后学习其它语言的兴趣。
二、总体设计
函数框图
函数名函数功能main总控函数menu_select选择菜单函数readin输入职工信息函数disp输出原始职工信息函数srt制作简明职工信息函数函数流程图
三、详细设计
设计的内容
(1)建立wkrs职工数据结构体,结构体中含有姓名、序号、性别、年龄和薪水信息。
(2)建立一个结构数组以便放置N个职工信息。
(3)设计一个readin函数,以便采用问答式输入N个职工信息。
(4)编写一个disp函数,用来输出原始职工的信息。
(5)建立wks职工简明数据结构体,结构体中只含有姓名、年龄和薪水信息。
(6)编制一个srt函数,根据wks结构体建立的职工情况,把职工姓名、年龄和薪水信息抽出来,另外建一个只含职工姓名、年龄和薪水的wkshort结构的数组。
(7)用一个简单的菜单提供以上操作。菜单信息为:
1.输入数据
2.显示原始数据
3.制作简明数据
4.Goodbye!
Input 1-4:
2.设计的思想
运用所学知识来处理职工档案及简明信息的生成。
从键盘任意输入一个整数,判断输入的整数是否符合程序的要求,若整数的范围大于4,小于等于0,则要求重新输入一个整数,直到整数的范围为1-4。输入整数1,执行要求再从键盘上输入N个职工信息的函数,输入的职工信息包括序号、姓名、性别、年龄、薪水。输入整数2,执行输出原始职工信息的函数,输出原始的职工信息。输入整数3,执行制作职工信息的函数,输出简明的职工信息。输入整数4,输出Goodbye!语句。
函数的功能、入口、返回
在该课程设计中,用到一些函数,现在将这些函数的功能、入口、返回罗列如下:
主调函数
原型:void main()
功能:总控
参数:无
返回值:无
被调函数
1.原型:int menu_select();
功能:选择菜单函数
参数:无
返回值:整数
2.原型:void readin()
功能:输入职工信息
参数:无
返回值:无
3.原型:void disp()
功能:输出原始职工信息
参数:无
返回值:无
4.原型:void srt()
功能:制作简明职工信息
参数:无
返回值:无
四、调试方法
调试过程中的问题及解决的方法
由于void srt()中调用了strcpy函数,在程序开头要加上#include //字符串函数//。
menu_select()函数有一个函数返回值,则在其定义中要使用return语句来使其值返回。
在语句printf("序号:");scanf("%s",wk[i].num);中,为什么wk[i].num不需要加&?
在程序开头定义的结构体中已定义num为一个数组名,而数组名就是地址。
五、程序清单:
#include //输入输出函数//
#include //动态储存分配函数//
#include //字符串函数//
#define N 5//定义一个不带参数的宏//
struct wkrs{
char num[10];
char name[10];
char sex[5];
int age;
int wage;
}wk[N];//声明一个wkrs职工数据结构体类型,并定义了变量//
struct wks{
char name[10];
int age;
int wage;
}wkshort[N];//声明一个wks职工简明数据结构体类型,并定义了变量//
int menu_select();//对menu_select函数的声明//
void readin();//对readin函数的声明//
void disp();//对disp函数的声明//
void