当前位置:文档之家› C语言程序设计-职工信息管理系统[1]

C语言程序设计-职工信息管理系统[1]

C语言程序设计-职工信息管理系统[1]
C语言程序设计-职工信息管理系统[1]

C语言课程设计

C语言课程设计任务书

一、题目:职工信息管理系统

二、目的和要求

目的:要求熟练掌握C语言的基本知识和编辑技能;

基本掌握结构化程序设计的基本思路和方法。

要求:设计一个职工信息管理系统,使之能提供以下功能:

1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面

应尽可能清晰美观!

2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成

若干条记录的输入。

3、浏览功能:完成对全部职工信息的显示。

4、查找功能:①完成按职工的职工号查询职工的相关信息,并显示。

②完成按职工的学历查询职工的相关信息,并显示。

③完成按职工的电话号码查询职工的相关信息,并显

示。

5、删除功能:通过输入职工的姓名完成对该名职工的信息进行删除。

6、添加功能:完成添加新职工的信息的任务。

7、修改功能:通过输入职工的姓名完成对该名职工的信息进行修改。

8、退出职工信息管理系统。

三、信息描述

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等。

四、解决方案

1、首先进行需求分析,搞清楚系统功能和任务;

2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;

3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。确定每一模块采用的数据结构和模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口;

4、根据分析编写C语言代码。

五、进度安排

课程设计时间为两周,分为五个阶段完成:

1、分析设计阶段。在老师的指导下自主学习和钻研问题,明确设计要求,

找出现实方法。按照需求分析、总体设计、详细设计几个步骤进行。这一

阶段前1-2天完成;

2、编码调试阶段。根据设计分析方案编写C语言代码,然后调试该代码,

实现课题要求的功能。这一阶段在3-7天完成;

3、总结报告阶段。总结设计工作,写出课程设计说明书,包括需求分析、

总体设计、详细设计、编码、测试的步骤和内容。这一阶段在8-9天完成;

4、考核阶段。

六、写课程设计总结

课程设计报告要求

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结和参考资料等。

七、参考资料

《C程序设计》(第三版)谭浩强著清华大学出版社

《C程序设计题解与上机指导》(第三版)谭浩强编著清华大学出版社

目录

1.总体设计方案 (3)

2.使用说明及运行实例 (5)

3.项目源程序代码 (10)

4.课程设计心得 (23)

总体设计方案

一.系统的总体流程图

图1.系统的总体流程图

二. 为了方便使用结构此系统结构均为全局类型定义

struct employee //定义一个职工信息的结构体

{

int num;

char name[10];

char sex;

int age;

char xueli[30];

int wage;

char addr[30];

char tel[20];

}em[100];

三.各模块的功能和实现

1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。

2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。

3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。

4.浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。

5.删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。

6.添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。

7.按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的void search_num()函数来实现。

8.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。

9.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的void search_tel函数来实现。

10.修改模块:可以修改需要修改的职工的相关信息,通过自己定义的void modify()函数来实现。

11.退出系统模块:退出职工信息管理系统,通过头文件windows.h中的exit(0)函数来实现。

使用说明及运行实例

1.运行程序,进入职工信息管理系统的主菜单:

图1:进入主菜单界面

2.输入数字“1”进行录入职工信息:

图2:录入职工信息

3.输入“y”返回主菜单(界面同图1)。

4.输入“2”浏览职工信息:

图3:浏览职工信息

5.输入“y”后继续,输入“3”进行查询职工信息:

图4:按职工号及学历查询职工信息

图5:按电话号码查询职工信息6.进入主菜单,输入“4”进行删除职工信息:

图6:删除职工信息

7.进入主菜单输入“5”进行添加职工信息:

图7:添加职工信息

8.进入主菜单输入“6”进行修改职工信息:

图8:修改职工信息

9.进入主菜单输入”7”退出职工信息管理系统。

职工信息管理系统源程序代码#include

#include

#include

#define N 100

struct employee

{

int num;

char name[20];

char sex;

int age;

char xueli[30];

int wage;

char addr[30];

char tel[20];

}em[100]; /*定义一个结构体*/

void menu();

void input();

void save(int);

void display();

void del();

void add();

void search();

void search_num();

void search_xueli();

void search_tel();

void modify(); /*定义各函数*/

void main()

{

menu();

int n,flag;

char a;

do

{

printf("请选择你需要操作的步骤(1--7):\n");

scanf("%d",&n);

if(n>=1&&n<=7)

flag=1;

break;

}

else

{

flag=0;

printf("您输入有误,请重新选择!");

}

}

while(flag==0);

while(flag==1)

{

switch(n)

{

case 1:printf(" ◆◆◆输入职工信息◆◆◆\n");printf("\n");input();break;

case 2:printf(" ◆◆◆浏览职工信息◆◆◆\n");printf("\n");display();break;

case 3:printf(" ◆◆◆按职工号查询职工信息◆◆◆\n");printf("\n");search();break;

case 4:printf(" ◆◆◆删除职工信息◆◆◆\n");printf("\n");del();break;

case 5:printf(" ◆◆◆添加职工信息◆◆◆\n");printf("\n");add();break;

case 6:printf(" ◆◆◆修改职工信息◆◆◆\n");printf("\n");modify();break;

case 7:exit(0);break;

default :break;

}

getchar();

printf("\n");

printf("是否继续进行(y or n):\n");

scanf("%c",&a);

if(a=='y')

{

flag=1;

system("cls"); /*清屏*/

menu(); /*调用菜单函数*/

printf("请再次选择你需要操作的步骤(1--7):\n");

scanf("%d",&n);

printf("\n");

}

exit(0);

}

}

void menu() /*菜单函数*/

{

printf(" ************欢迎进入职工信息管理系统**********\n"); printf(" 1.录入职工信息");

printf(" 2.浏览职工信息\n");

printf(" 3.查询职工信息");

printf(" 4.删除职工信息\n");

printf(" 5.添加职工信息");

printf(" 6.修改职工信息\n");

printf(" 7.退出\n");

printf(" ********************谢谢使用******************\n"); printf("\n");

printf("\n");

}

void input() /*录入函数*/

{

int i,m;

printf("请输入需要创建信息的职工人数(1--100):\n");

scanf("%d",&m);

for (i=0;i

{

printf("请输入职工号: ");

scanf("%d",&em[i].num);

printf("请输入姓名: ");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女 m--男): ");

scanf("%c",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].addr);

printf("请输入电话: ");

scanf("%s",em[i].tel);

printf("\n");

}

printf("\n创建完毕!\n");

save(m);

}

void save(int m) /*保存文件函数*/

{

int i;

FILE*fp;

if ((fp=fopen("employee_list","wb"))==NULL)

{

printf ("cannot open file\n");

exit(0);

}

for (i=0;i

printf("file write error\n");

fclose(fp);

}

int load() /*导入函数*/

{

FILE*fp;

int i=0;

if((fp=fopen("employee_list","rb"))==NULL)

{

printf ("cannot open file\n");

exit(0);

}

else

{

do

{

fread(&em[i],sizeof(struct employee),1,fp);

i++;

}

while(feof(fp)==0);

}

fclose(fp);

return(i-1);

}

void display() /*浏览函数*/

{

int i;

int m=load();

printf(" 职工号\t姓名\t\t性别\t\t年龄 \n");

for(i=0;i

printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n 学历\t\t工资\t\t住址\t\t电话 \n");

for(i=0;i

printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

}

void del() /*删除函数*/

{

int m=load();

int i,j,n,t,flag;

char name[20];

printf("\n 原来的职工信息:\n");

display();

printf("\n");

printf("请输入要删除的职工的姓名:\n");

scanf("%s",name);

for(flag=1,i=0;flag&&i

{

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

{

printf("\n已找到此人,原始记录为:\n");

printf(" 职工号\t姓名\t\t性别\t\t年龄 \n");

printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n 学历\t\t工资\t\t住址\t\t电话 \n");

printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); printf("\n确实要删除此人信息请按1,不删除请按0\n");

scanf("%d",&n);

if(n==1)

{

for(j=i;j

{

strcpy(em[j].name,em[j+1].name);

em[j].num=em[j+1].num;

em[j].sex=em[j+1].sex;

em[j].age=em[j+1].age;

strcpy(em[j].xueli,em[j+1].xueli); em[j].wage=em[j+1].wage;

strcpy(em[j].addr,em[j+1].addr); strcpy(em[j].tel,em[j+1].tel);

}

flag=0;

}

}

}

if(!flag)

m=m-1;

else

printf("\n对不起,查无此人!\n");

printf("\n 浏览删除后的所有职工信息:\n");

save(m); /*调用保存函数*/

display(); /*调用浏览函数*/

printf("\n继续删除请按1,不再删除请按0\n");

scanf("%d",&t);

switch(t)

{

case 1:del();break;

case 0:break;

default :break;

}

}

void add()/*添加函数*/

{

FILE*fp;

int n;

int count=0;

int i;

int m=load();

printf("\n 原来的职工信息:\n");

display();

printf("\n");

fp=fopen("emploee_list","a");

printf("请输入想增加的职工数:\n");

scanf("%d",&n);

for (i=m;i<(m+n);i++)

{

printf("\n 请输入新增加职工的信息:\n");

printf("请输入职工号: ");

scanf("%d",&em[i].num);

printf("\n");

printf("请输入姓名: ");

scanf("%s",em[i].name);

getchar();

printf("请输入性别(f--女 m--男): ");

scanf("%c",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].addr);

printf("请输入电话: ");

scanf("%s",em[i].tel);

printf("\n");

count=count+1;

printf("已增加的人数:\n");

printf("%d\n",count);

}

printf("\n添加完毕!\n");

m=m+count;

printf("\n浏览增加后的所有职工信息:\n");

printf("\n");

save(m);

display();

fclose(fp);

}

void search()/*查询函数*/

{

int t,flag;

do

{

printf("\n按职工号查询请按1; 按学历查询请按2; 按电话号码查询请按3;进入主函数请按4\n");

scanf("%d",&t);

if(t>=1&&t<=4)

{

flag=1;

break;

}

else

{

flag=0;

printf("您输入有误,请重新选择!");

}

}

while(flag==0);

while(flag==1)

{

switch(t)

{

case 1:printf("按职工号查询\n");search_num();break;

case 2:printf("按学历查询\n");search_xueli();break;

case 3:printf("按电话号码查询\n");search_tel();break;

case 4:main();break;

default:break;

}

}

}

void search_num()

{

int num;

int i,t;

int m=load();

printf("请输入要查找的职工号:\n");

scanf("%d",&num);

for(i=0;i

if(num==em[i].num)

{

printf("\n已找到此人,其记录为:\n");

printf(" 职工号\t姓名\t\t性别\t\t年龄 \n");

printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n 学历\t\t工资\t\t住址\t\t电话 \n");

printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

break;

}

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1,继续查询职工号请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();break;

case 2: break;

default:break;

}

}

void search_xueli()

{

char xueli[30];

int i,t;

int m=load();

printf("请输入要查找的学历:\n");

scanf("%s",xueli);

for(i=0;i

if(strcmp(em[i].xueli,xueli)==0)

{

printf("\n已找到,其记录为:\n");

printf(" 职工号\t姓名\t\t性别\t\t年龄 \n");

printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); printf("\n 学历\t\t工资\t\t住址\t\t电话 \n");

printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel); }

if(i==m)

printf("\n对不起,查无此人\n");

printf("\n");

printf("返回查询函数请按1,继续查询学历请按2\n");

scanf("%d",&t);

switch(t)

{

case 1:search();break;

case 2:break;

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

C版本学生信息管理系统方案

目录 一、课程设计目的---------------------------------------------------------3 二、功能描述---------------------------------------------------------------3 三、系统分析-------------------------------------------------------------3 3.1需求分析-------------------------------------------------------- 3 3.2开发环境----------------------------------------------------3 四、总体设计-------------------------------------------------------------4 4.1功能构成------------------------------------------------------4 4.2业务流程图--------------------------------------------------------------------------------------4 五、数据库设计-----------------------------------------------------------5 5.1需求分析---------------------------------------------------5 5.2实体E—R图--------------------------------------------------------------------------5 5.3数据表设计--------------------------------------------------------6 六、实现过程--------------------------------------------------------------7 6.1登录的实现-----------------------------------------------7 6.2主界面-------------------------------------------------------------9 6.3学生管理信息界面-------------------------------------------------11 6.4成绩信息管理界面-------------------------------------------------13 6.5选课信息界面-----------------------------------------------------15 6.6添加学生信息界面-------------------------------------------------16 6.7学生列表界面------------------------------------------------------18 6.8添加成绩界面------------------------------------------------------19 6.9选课添加界面------------------------------------------------------20

职工信息管理系统

职工信息管理系统 1.可行性分析 在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。 当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。员工信息管理系统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以SQL2000数据库作为开发平台,使用java编写程序、完成数据输入、修改、存储、调用查询等功能。并使用SQL 2000数据库形成数据,进行数据存储。本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 1.1 技术可行性 根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需技术是否具备。本系统主要采用数据库管理方法,服务器选用MySQL Server 数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好的运行该软件。 1.2操作可行性 由系统分系可以看出本系统的开发在技术上具有可行性。首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。因此该项目具有良好的易用性。用户只要具备简单的应用计算机的能力无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。 1.3经济可行性 估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。 1.4法律及社会效益方面的可行性

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

职工信息管理系统C语言源代码

#include #include #include #define N 100 struct employee { int num; char name[20]; char sex; int age; char xueli[30]; int wage; char addr[30]; char tel[20]; }em[100]; /* 定义一个结构体*/ void menu(); void input(); void save(int); void display(); void del(); void add(); void search(); void search_num(); void search_xueli(); void search_tel(); void modify(); /* 定义各函数*/ void main() {menu(); int n,flag; char a; do { printf(" 请选择你需要操作的步骤(1--7):\n"); scanf("%d",&n); if(n>=1 && n<=7) { flag=1; break; } else { flag=0; printf(" 您输入有误,请重新选择!"); }

while(flag==0); while(flag==1) {switch(n) {case 1:printf(" \n");printf("\n");input();break; case 2:printf(" \n");printf("\n");display();break; case 3:printf(" \n");printf("\n");search();break; case 4:printf(" case 5:printf(" case 6:printf(" \n");printf("\n");modify();break; case 7:exit(0);break; default :break; } getchar(); printf("\n"); printf(" 是否继续进行(y or n):\n"); scanf("%c",&a); if(a=='y') ???输入职工信息??? ???浏览职工信息??? ???按职工号查询职工信息??? ???删除职工信息??? ???添加职工信息??? ??? \n");printf("\n");del();break; \n");printf("\n");add();break; 修改职工信息??? {flag=1; system("cls"); /* 清屏*/ menu(); /* 调用菜单函数*/ printf(" 请再次选择你需要操作的步骤(1--7):\n"); scanf("%d",&n); printf("\n"); } else exit(0); } } void menu() { /* 菜单函数*/ printf(" ************ 欢迎进入职 printf(" 1.录入职工信息"); printf(" 2.浏览职工信息\n"); printf(" 3.查询职工信息"); printf(" 4.删除职工信息\n"); printf(" 5.添加职工信息"); printf(" 6.修改职工信息\n"); printf(" 7.退出\n"); **********\n");

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

学生信息管理系统c语言代码

#include #include #include #define LEN 15 #define N 100 struct record //定义结构体{ char code[LEN]; char name[LEN]; int age; char sex[3]; char time[LEN]; char add[30]; char tel[LEN]; char mail[30]; }stu[N]; int k=1,n,m; //引用 void readfile(); void seek(); void modify(); void insert(); void del(); void display(); void save();

void menu(); int main() { while(k) menu(); system("pause"); return 0; } void help() { printf("\n0.欢迎使用系统帮助!\n"); printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n"); printf("\n3.增加学生信息后,切记保存按;\n"); printf("\n4.谢谢您的使用!\n"); } void readfile()//建立信息 { char *p="student.txt"; FILE *fp; int i=0; if ((fp=fopen("C:\\Users\\86139\\Desktop\\student.txt","r+"))==NULL) { printf("Open file %s error! Strike any key to exit!",p); system("pause");//暂停的意思,等待用户信号

企业职工信息管理系统

企业职工信息管理系统 EWIMSystem(Enterprise Workers Information Manager System) 目录 第一章绪论 (3) 1.1 相关背景 (3) 1.2 开发目的 (3) 1.3 论文内容 (3) 1.4 意义 (3) 1.5 分工 (4) 第二章系统需求分析 (5) 2.1系统功能需求分析 (5) 2.2辅助功能需求分析 (6) 2.2.1打印报表.............................................................................. 错误!未定义书签。 2.2.2修改密码 (6) 2.3 软件的运行环境 (6) 2.3.1 硬件平台 (6) 2.3.2 软件平台 (6) 2.3.3 开发环境 (6) 第三章系统功能设计与实现 (7) 3.1 系统目标设计 (7) 3.2 数据库分析与设计 (9) 3.2.1数据库表设计 (9) 3.2.2数据库表关系图 (12) 3.3 系统功能概要设计 (13) 3.4 系统功能详细设计 (14)

企业职工信息管理系统 摘要 随着科技的不断发展,企业的不断壮大,传统的企业人事管理主要以人工为主,人工管理既费力、费时,又容易出现错误,严重制约了企业员工管理的实施,目前人工管理已不能满足市场的需要,所以建立现代化的智能化的企业职工信息管理系统势在必行。这样可以提高企业的管理效率,同时减轻了人事部门的工作量,使原本复杂和枯燥无味的工作变得简单而轻松。 企业职工信息管理系统是一个基于C/S模式的管理系统。 关键字:企业职工信息管理系统,C/S模式

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

国家开放大学C语言程序设计A第一次形考任务与答案(20201127230652)

一、选择题(共40分,每小题2分) 1 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()* A.main B. MAIN C. name D. function 题目2 1 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj * D.c 题目3 1 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4

程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为() A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

* D.空格或回车 题目5 1 每个C语言程序文件的编译错误被分为()。 A. 1类 ” B.2 类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} + D.{y=10} 题目7 1 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()

B. 语句 C. 参数表 D. 函数体 题目9 1 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用 的起止定界符为一对()。 A. 尖括号 * B.双引号 C. 单引号 D. 花括号 题目10 L 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // + B./* C.*/ D ** 题目11 1 在printf()函数调用的格式字符串中,若使用格式符为“%C',则对应输出的数据类型为()。

简单的学生信息管理系统C语言

#include<> #include<> //输入函数getch的头文件,不能用getchar,具体请查看两者的区别#include<> //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->,&p->,&p->,&p->; //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL) printf("------------学生信息为空------------------\n\n");

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

C语言 学生信息管理系统(完整版)

电子科技大学成都学院程序综合设计论文 论文题目学生信息管理系统 学生姓名魏国 学号1340840625 专业机械设计制造及其自动化 系(分院)电子工程系 授课教师杜娥 2015年12月制

摘要 随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。本系统主要对学生各种信息进行处理。 本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。 学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。 学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。 关键字:学生信息,管理系统,数据库,C语言编写

职工信息管理系统

职工信息管理系统

职工信息管理系统 摘要 随着计算机的飞速发展,它的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。例如一个现代化的公司,拥有数千名的员工,那么如何管理这么庞大的职工信息档案呢?这时,开发一个功能完善的职工信息管理系统就必不可少了。本文介绍了在https://www.doczj.com/doc/5813831657.html,框架下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出了实现职工信息、部门信息查询、管理、更新的基本目标并阐述系统结构设计和功能设计从软件工程的角度进行了科学而严谨的阐述。从职工信息的查询到管理实现了自动化的模式,从而提高了工作效率。 本系统采用了B/S模式的结构设计,为企业的人事部门提供了一套操作简易、应用广泛、扩展性强的人事管理系统。可以对企业内部的员工管理更加方便。这种采用网络管理的好处是可以对企业的众多

员工的信息进行动态的管理,修改、添加和删除都非常方便,不必再像原来准备一个巨大的档案库,在诸多文挡中查找资料,减少了这些重要工作出错的可能性。 本文通过作者设计和开发一个中小型职工信息管理系统的实践,阐述了人事管理软件中所应具有的功能及其设计与实现。主要有以下三个方面的功能:1.职工和部门信息的查询;2.职工和部门信息的管理(包括添加、删除和修改)3.评出每个月工作成绩最优秀的职工。 关键词:职工信息管理,https://www.doczj.com/doc/5813831657.html,,B/S

Abstract With the development at full speed of computer, its application is very extensively, and it is giving play to the important effect in the production, life, work and study of people. Does a such as modernized company possess the staff of several thousand, and how manages so huge staff and workers' information archives like that? At this moment, the staff and workers' information management system that to develop the function perfect was indispensable. The tactics that this text, article, etc. introduced at https://www.doczj.com/doc/5813831657.html, and adopts under the frame " the development is applied in the comprehensive planning from top to bottom from bottom to top " are developed the detailed course of this system, and put forward the basic objective to realize that staff and workers' information and department information are inquired about, are managed and are renewed and expounding system structural design from the angle of software engineering having carried on expounding of science and

C语言程序设计第一次月考试题

C语言程序设计第一次月考试题(2011.9) 班级:姓名:总分: 一、选择题(每小题3分,共60分) 1.一个C语言程序是由() A)一个主程序和若干子程序组成B)函数 C)若干过程组成D)若干子程序组成 2.下面4个选项中,均是C语言关键字的选项是() A)auto enum include B)switch typedef continue C)singed union scanf D)if struct type 3. 下面4个选项中,均是不合法的用户标识符的选项是() A)A P_0 do B)float 1a0 -A C) b—a goto int D) _123 temp INT 4.下面4个选项中,均是不合法的整形常量的选项是() A)- - 0f1 - oxfff 0011 B)- oxcdf 017 12,456 C) – 018 999 5e2 D)-0x48eg -068 03f 5. 下面4个选项中,均是不合法的浮点数的选项是() A)160.0.12 e3 B)123 2e4.2 .e5 C)-.18 123e4 0.0 D)-e3 .234 1e3 6.下面4个选项中,均是不合法的转义字符的选项是() A)‘\‖‘?\\‘?\xf‘B)‘\1011‘?\‘?\a‘ C) ?\011‘?\f‘?\}‘D)‘\abc‘?\101‘?x1f‘ 7.下面不正确的字符串常量是() A)‘abc‘B)‖12‘12‖C) ‖0‖D)‖‖ 8.Int k=7, x=12; 则以下能使值为3的表达式是() A)x%=(k%=5) B)x%=(k- k%5) C) x%=k-k%5 D)(x%=k) – (k%=5) 9.若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 是() A) 4 B)16 C)32 D)52 10.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( ) A) 7 B) 8 C)6 D)2 11.已知各变量的类型说明如下: Int k, a, b; unsigned long w=5; double x=1.42; 则以下不正确的表达式是() A) x%(-3) B)w+=-2 C) k=(a=2,b=3, a+b) D)a+=a-=(b=4)*(a=3) 12.已知字母A的ASCII码为65,且定义c2为字符型变量,则执行语句c2=‘A‘+‘6‘-?3‘;后;c2中的值为() A) D B) 68 C)不确定的值D) C

相关主题
文本预览
相关文档 最新文档