c语言程序清单是什么,C语言课程设计报告(2—1)(程序清单及程序运行结果)...

Ⅲ 程序清单及程序运行结果

1.程序清单

/* Note:Your choice is C IDE */

#include "stdio.h"

#include "conio.h"

#include "string.h"

#define N 10

#define M 20

#define N1 10

int J=0;

struct worker{int

num; /*结构体中定义的职工号*/

char

name[M]; /*结构体中定义的职工姓名*/

long int

birthday; /*结构体中定义的职工出生年月*/

char

sex[N1]; /*结构体中定义的职工性别*/

char

xueli[N1]; /*结构体中定义的职工学历*/

char

job[N1]; /*结构体中定义的职工职务*/

unsigned long int

money; /*结构体中定义的职工工资*/

char

address[M]; /*结构体中定义的职工住址*/

unsigned long int

tel; /*结构体中定义的职工电话*/

};

struct worker

worker[N]; /*定义结构体,用于存放职工基本信息*/

main()

{

void

print(); /*声明菜单显示函数*/

void

input(); /*声明输入函数*/

void

printx(); /*声明具体信息显示函数*/

void

search(); /*声明查询函数*/

void

correct(); /*声明修改函数*/

void

menu(); /*声明显示菜单函数*/

void

del(); /*声明删除函数*/

void

add(); /*声明增加函数*/

printf("\n\n\n\n ************* welcome to use this

system! *************\n");

printf("\n\n\n\n\tInorder to run it successfully,please wait for

four or five second.\n");

printf("\tThank you!!!\n");

printf("\n\n\n\n\n\n\n\n\press any key to continue......

\n"); /*为使屏幕正确显示汉字,首先在这里打印出一些字符使用户停留片刻*/

getch(); /*接收press any key to continue中的无价值字符*/

menu();

}

void print()

{

clrscr(); /*清屏函数*/

printf("\n\n\n\n");

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

printf("\t\t\t |********请输入编号(1--7)*******|\n");

printf("\t\t\t ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

\n"); /*菜单*/

printf("\t\t |______________________________________|\n");

printf("\t\t |**************************************|\n"); /*调用printf函数单纯显示*/

printf("\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 |<>| 6--增加职工信息。 |<>|\n");

printf("\t\t |<>| 7--退出系统。 |<>|\n");

printf("\t\t |<>|________________________________|<>|\n");

printf("\t\t |<><><><><><><><><><><><><><><><><><><>|\n");

printf("\t\t |______________________________________|\n");

}

void menu()

{

char

yes_no,choose; /*定义的char型,用于接受用户选择*/

do

{

print(); /*打印出菜单*/

choose=getch(); /*接收用户的选项*/

switch(choose)

{

case '1' : input();

break; /*调用input函数,输入基本信息*/

case '2' : printx();

break; /*调用printx函数,显示基本信息*/

case '3' : search();

break; /*调用serach函数,查询基本信息*/

case '4' : correct();

break; /*调用correct函数,修改基本信息*/

case '5' : del();

break; /*调用del函数,删除部分信息*/

case '6' : add();

break;

case '7' :

break; /*退出系统*/

default :

printf("非法选项!!"); /*接收用户的非法字符,并提示继续选择*/

}

if(choose=='7') break;

printf("\n\n\t是否在主菜单中继续选择吗?(Y/N)");

do

{

yes_no=getch();

}while(yes_no!='Y'&&yes_no!='N'&&yes_no!='y'&&yes_no!='n');

}while(yes_no=='y'||yes_no=='Y'); /*基本上所有的函数都在do while

循环中运行,退出循环后便退出系统*/}

void input()

{

int i,j;

FILE * fp;

clrscr(); /*清屏*/

printf("请输入职工基本信息:\n");

for(i=0;i

{

printf("请输入第 %d 个职工信息\n",i+1);

printf("职工号、姓名、出生年月、性别、学历、职务、工资、住址、电话\n");

scanf("%d%s%ld%s%s%s%lu%s%lu",&worker[i].num,worker[i].name,&worker[i].birthday,worker[i].sex,worker[i].xueli,worker[i].job,&worker[i].money,worker[i].address,&worker[i].tel);

} /*输入基本信息*/

for(i=0;i

if((fp=fopen("zhigong.txt","wb"))==NULL) /*执行文件打开操作*/

printf("文件打开失败!");

for(i=0;i

if(fwrite(&worker[i],sizeof(struct

worker),1,fp)!=1) /*执行文件写入磁盘操作*/

printf("文件写入失败!\n");

fclose(fp);

}

void

printx() /*输出函数,用于显示基本信息*/

{

int i;

FILE * fp;

clrscr();

for(i=0;i

{worker[i].num=0;strcpy(worker[i].name,'');worker[i].birthday=0;strcpy(worker[i].sex,'');strcpy(worker[i].xueli,'');strcpy(worker[i].job,'');worker[i].money=0;strcpy(worker[i].address,'');worker[i].tel=0;}

if((fp=fopen("zhigong.txt","rb"))==NULL)

printf("文件打开失败!"); /*以只读方式打开名为zhigong的文件*/

printf("\n\n\n");

for(i=0;i

{

fread(&worker[i],sizeof(struct

worker),1,fp); /*读入文件中的信息*/

printf("职工号%-4d 姓名%-10s出生日期%-8ld

性别%-4s 学历%-10s\n\t 职务%-10s工资%-8lu 住址%-18s电话%-10lu\n",worker[i].num,worker[i].name,worker[i].birthday,worker[i].sex,worker[i].xueli,worker[i].job,worker[i].money,worker[i].address,worker[i].tel);

}

fclose(fp); /*关闭文件*/

}

void search()

{

void

search1(); /*声明基本查询函数*/

void search2();

void search3();

void search4();

void

search5();

void search6();

char

choose; /*声明的变量用于接受用户的选择*/

clrscr();

printf("\n\t\t\t现在开始查询!\n");

printf("\n\n\t请选择查询方式\n\t1.按职工号查询。\n\t2.按职工姓名查询。\n\t3.按出生日期查询\n\t4.按学历查询\n\t5.按职务查询\n\t6.按电话号码查询\n\t7.中止查询。\n");

choose=getch();

switch(choose) /*在switch语句中选择要查询的方式*/

{

case '1' : search1();

break; /*调查choose的值,分别执行相应的函数*/

case '2' : search2(); break;

case '3' : search3(); break;

case '4' : search4(); break;

case '5' : search5(); break;

case '6' : search6(); break;

case '7' : break;

default : printf("非法选项!!");

}

}

void

search1() /*基本查询1,从职工号查询*/

{

int i,j,a=0;

FILE * fp;

clrscr();

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

scanf("%d",&j); /*输入所要查询的编号,用于与worker[i].num比较*/

if((fp=fopen("zhigong.txt","rb"))==NULL) /*以只读方式打开名为zhigong的文件*/

printf("文件打开失败!");

printf("\n以下是您所要查询的信息:\n");

for(i=0;i

{

fread(&worker[i],sizeof(struct

worker),1,fp); /*从文件中读入信息*/

if(j==worker[i].num) /*如果相等,则显示*/

{ a=1;

printf(" 职工号 %-4d 姓名 %-10s 出生日期 %-8ld 性别 %-4s\n 学历 %-6s

职务 %-10s 工资 %-8lu 住址 %-18s

电话 %-10lu\n",worker[i].num,worker[i].name,worker[i].birthday,worker[i].sex,worker[i].xueli,worker[i].job,worker[i].money,worker[i].address,worker[i].tel);

}

}

if(a==0)

printf("\n\t抱歉,没有找到所要查询的职工!");

fclose(fp);

}

void

search2() &nbs