14课程设计

发布 2022-10-04 06:23:28 阅读 8405

分类号编号。

华北水利水电大学。

课程设计。课程名 c程序设计

题目职工工资管理系统

院系信息工程学院

专业计算机科学与技术

姓名。学号。

指导教师。2023年 1月 2日。

一)基础题目:

题目4】某个公司采用公用**传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

源**:#include<>

main()

int a,i,aa[4],t;

printf("基础题4");

printf("原始数据为:")

scanf("%d",&a);

aa[0]=a%10;

aa[1]=a%100/10;

aa[2]=a%1000/100;

aa[3]=a/1000;

for(i=0;i<=3;i++)

for(i=0;i<=3/2;i++)

printf("加密后数据为:")

for(i=3;i>=0;i--)

printf("%d",aa[i]);

printf("");

return 0;

运行结果:题目6】

编写一个将某个范围在0~32767之间的整数转换为r进制(r=2,8,16)的通用程序。

源**:#include <>

void trans(int n,int m)

if(n)

void main()

int n,m;

printf("基础题6");

printf("输入十进制数n和转化的进制数m:")

scanf("%d%d",&n,&m);

printf("十进制数%d转化成%d进制后的结果为:")

trans(n,m);

printf("");

运行结果:题目11】

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

源**:#include <>

#define n 10

void getin(int *p,int n)

printf("请输入%d个整数:",n);

int i;

for(i=0;i}

void getout(int *p, int n)

int i;

for(i=0;i putchar('');

void mv(int *p,int n,int m)

int *h, t,i;

h=p+n-m-1;

for(;h>=p;h--)

void main()

int a[n];

int m;

printf("基础题11");

getin(a,n); 输入整数。

getout(a,n); 处理前输出。

printf("你要把最后面多少个整数移到最前面?")scanf("%d",&m);

mv(a,n,m); 移位处理。

getout(a,n); 处理后输出。

运行结果:二)综合题目:

题目7】职工工资管理系统

功能设计要求

1. 输入记录:将每一个职工的姓名、id号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

5. 删除记录:可删除数据文件中的任一记录。

6. 统计: (a)计算各项工资平均工资及总工资, (b)统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。

(c)按字符**形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。 把统计的信息保存到数据文件中。

例如:职工工资信息表

id号姓名基本工资职务工资津贴医疗保险- 公积金- 总工资

01 张望 1286 794 198 109 135 2034

02 李明 1185 628 135 94 114 1740

03 王小民 895 438 98 64 73 1294

04 张效章 1350 868 210 116 150 2162

05 彭山 745 398 84 61 68 1098

各项平均工资 1092.2 625.2 145 88.8 108

程序分析:在输入职工信息时,运用void write()调用函数展开对文件的使用,首先定义一个指针文件,又以写的方式打开此文件,用一个for循环按照id号姓名基本工资职务工资津贴医疗保险公积金的格式循环获取职工的记录,接着又用了一个for循环将职工记录写入文件“ ”中,关闭文件。

在查询职工信息时,选择按职工姓名查询,首先是以只读的方式打开文件“ 然后输入要查询的职工姓名,用一个比较函数strcmp来查询要查找的人,之后在显示器上显示职工信息,然后关闭文件。

在修改职工信息时,选择按职工姓名修改,首先是以读写的方式打开文件“输入要修改的职工姓名并显示该职工的信息,然后对职工的信息进行修改,就可获得新的职工记录。之后文件指针指向该修改的记录开头,修改完成时系统会显示修改后的文件数据:id号姓名基本工资职务工资津贴医疗保险公积金总工资,然后关闭文件。

在删除职工信息时,选择按职工姓名删除记录,首先是只读的方式打开一个二进制文件“循环依次改后职工信息写入文件,并显示删除后文件中的职工信息,最后可以关闭文件。

在统计职工信息时,运用void sta ()调用函数展开对文件的使用。首先是以只读的方式打开文件“运用for循环,显示大于规定工资的职工工人数量,关闭文件,统计完成。

在输出职工信息时,运用void output()调用函数展开对文件的使用。首先以只读的方式打开一个文本文件”操作无误则用for循环输出正在查询职工的:d号姓名基本工资职务工资津贴医疗保险公积金总工资,这些完成后用fclose(fp)函数关闭文件。

源**://头文件。

#include<>

#include<>

#include<>

#define size 5

struct worker_type

char name[10];

int id;

int jiben;

int zhiwu;

int jintie;

int yibao;

int gongjijin;

int zong;

wok[size];

void menu() 菜单函数。

printf("");

printf计科156班 201315607");

printf("");

printf职工信息管理n");

printf1.录入职工信息");

printf2.浏览职工信息");

printf3.查询职工信息");

printf4.修改职工信息");

printf5.删除职工信息");

printf6.统计职工信息");

printf0.退出");

printfn");

printf("");

printf("");

void input()/写入数据。

file *fp;

int i;

if((fp=fopen(""wb"))null)

for(i=0;i if(fwrite(&wok[i],sizeof(struct worker_type),1,fp)!=1)

printf("file write error");

fclose(fp);

void input1(int a)//读数据进文件。

file *fp;

if((fp=fopen(""ab"))null)

14课程设计小结

2016年1月3 15日,我们进行了为期两周的机械设计基础课程设计,从中收获了不少,成长了许多。在这里也十分感谢老师的耐心指导,谆谆教诲。两周时间,说长不长说短不短,时间总是过得很快的。还记得第一天课程设计的那个早上,老师再一次把课程设计的目的,时间布置分配等又再一次和我们说了一遍。印象最深刻的一句...

14课程设计题目

14年课程设计题目。一 计算器设计 能进行 运算,浮点数运算时,显示小数点后4位。完成相关硬件的设计与制作,显示器可以用字符型或点阵型lcd。二 电子日历制作 显示年 月 日 时 分 秒,并能实现各时间段的调整。完成相关硬件的设计与制作,显示器12864点阵型lcd。三 动画显示 广告 屏 交替显示...

数电14课程设计

数字设计 第二阶段数字系统的优化设计。课程设计安排。要求 通过对7段译码器的优化设计,对各类不同设计方法进行分析对比。对于每种设计方案,要求详细说明设计过程,写出所使用的各类逻辑运算表达式,画出对应逻辑图,并进行文字分析讨论,说明该方案的特点 成本和延迟时间。1 对该器件进行芯片内设计,采用基本单元...