当前位置:文档之家› c语言_会议管理系统

c语言_会议管理系统

c语言_会议管理系统
c语言_会议管理系统

#include

#include

#include //定义exit函数的头文件

#include

struct meeting //定义结构体

{

char name[25];

char sex[2];

int age;

char work_address[25];

int work;

int room;

};

char mima[10]={"888888"},user_name[20]; //定义全局变量

int i=0,g,used_room[600]={0},state=0,school=0,company=0,hospital=0,other=0;

struct meeting person[100];

void welcome() //定义清屏函数

{ system("cls");

printf("会议管理系统\n");

printf("欢迎您%s\n",user_name);

printf("\t\n");

}

void login() /*定义登录函数*/

{ char input_mima[10];

int k=2;

printf("\n\n\n\n\n\n\n\t\t\t会议管理系统\n\n");

printf("\t\t Management System of Meeting\n\n ");

printf("\n\n\n\n\n\n\n\n\n\t\t 0906XXXX 软工N班XXX \n");

getch();

system("cls");

printf("\n\n\n\n\n\t\t 欢迎使用会议管理系统\n\n");

printf("\t\t Management System of Meeting\n\n ");

printf("\n\n\n\n\t\t用户名:");

gets(user_name);

printf("\t\t密码:");

scanf("%s",input_mima);

while(strcmp(input_mima,mima)!=0 && k>-1 ) //判断密码是否正确且是否超过规定次数

{system("cls");

printf("\n\n\n\n\n\t\t 欢迎使用会议管理系统\n\n");

printf("\t\t Management System of Meeting\n\n ");

if(k==0)

{ printf("您已输入3次错误密码,请重新运行程序");exit(1);}

else

{printf("您输入的密码有误,请重新输入!!!\n");

printf("\n您还有%d次输入密码的机会\n",k);

printf("请重新输入密码:");

scanf("%s",input_mima);

k=k-1;

}

}

printf("欢迎您%s\n\n\n", user_name);

printf("会议管理系统\n");

}

void print() /*定义菜单函数*/

{welcome();

printf("\n");

printf(" --------------会议管理系统----------------\n");

printf(" ----------------操作菜单----------------**\n");

printf(" ** 请用数字键选择操作**\n"); printf(" ** **\n"); printf(" ** 1.报道人员信息登记**\n"); printf(" **--------------------------------------**\n");

printf(" ** 2.显示报道人员信息**\n"); printf(" **--------------------------------------**\n");

printf(" ** 3.查询报道人员信息**\n"); printf(" **--------------------------------------**\n");

printf(" ** 4.统计报道人员信息**\n"); printf(" **--------------------------------------**\n");

printf(" ** 5.修改报道人员信息**\n"); printf(" **--------------------------------------**\n");

printf(" ** 6.删除报道人员信息**\n"); printf(" **--------------------------------------**\n");

printf(" ** 0.退出会议管理系统**\n");

printf(" ** **\n"); printf(" ------------------------------------------\n");

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

printf(" \n"); }

void address(int n) //定义输入单位的函数n表示第n个。

{ int choose;

printf("\t工作单位:");

scanf("%s",person[n].work_address);

printf(" \n\t 单位所属类别:\n");

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

printf("\t︳ 1.学校︳\n");

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

printf("\t︳ 2.医院︳\n");

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

printf("\t︳ 3.公司企业︳\n");

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

printf("\t︳ 4.国家机关︳\n");

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

printf("\t︳ 5.其他︳\n");

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

printf("\n 请输入:");

do

{

scanf("%d",&choose);

switch(choose) //对行业进行统计

{ case 1:school++;break;

case 2:hospital++;break;

case 3:company++;break;

case 4:state++;break;

case 5:other++;break;

default :printf(" \n您输入的数字有误!!\n\n 请重新输入(1—5):");

}

}while(choose>5 || choose==0); //直到输入正确才能退出循环

person[n].work=choose; //将单位性质的序号存到person[n].work中

}

void create() /*定义报道人员信息登记的函数*/

{ welcome();

printf("\t请输入参会人员信息:\n");

printf("\t姓名:");

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

for(g=0;g

{

while((strcmp(person[i].name,person[g].name)==0)) //判断输入的姓名是否登记过

{ printf("\t\n此姓名已登记!!请重新输入!!");

printf("\n\t姓名:");

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

}

}

printf("\t性别(男/女):");

scanf("%s",person[i].sex);

printf("\t年龄:");

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

address(i);

printf("\t\n 选取房间号:");

scanf("%d",&person[i].room);

while(!(person[i].room>=101 && person[i].room<=120 || person[i].room>=201 &&

person[i].room<=220 || person[i].room>=301 && person[i].room<=320 || person[i].room>=401 && person[i].room<=420 || person[i].room>=501 && person[i].room<=520) ||

(used_room[person[i].room]==1)) //对房号处理当房号有问题时就执行while循环

{ if(!(person[i].room>=101 && person[i].room<=120 || person[i].room>=201 &&

person[i].room<=220 || person[i].room>=301 && person[i].room<=320 || person[i].room>=401 && person[i].room<=420 || person[i].room>=501 && person[i].room<=520)) //判断房号错误的类别{

printf("\t您输入的房间号有误!!\n"); //房号不在区间内

printf("\t请重新选取房间号:");

scanf("%d",&person[i].room);

}

else

{printf("\t您输入的房间号已有人住!!请重新输入!!!\n");

printf("\t请重新选取房间号:");

scanf("%d",&person[i].room);}

}

used_room[person[i].room]=1; //有人住的房号的used_room[房号]值就赋值为1

i++; //人数增1

}

void dispaly() /*定义显示报道人员信息函数*/

{char ch[10];

int n=0,j; //n用于判断是否有此人

printf("\t\t 已登记人员信息\n\n");

printf(" 序号姓名性别年龄单位房间号\n"); printf("------------------------------------------------------------------------\n");

for(j=0;j

{ switch(person[j].work) //()中加入单位

{ case 1:strcpy(ch,"学校");break;

case 2:strcpy(ch,"学校");break;

case 3:strcpy(ch,"公司企业");break;

case 4:strcpy(ch,"国家机关");break;

case 5:strcpy(ch,"其它");break;

}

printf("%3d %-14s%-10s%-4d%16s(%8s)%8d\n",j+1,person[j].name,person[j].sex,person[ j].age,person[j].work_address,ch,person[j].room);

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

}

if(n==0)

{printf("\n 文件中无记录!\n");}

else printf("\n 文件中共有%d个记录!\n\n",n);

}

void search_room() // 按序号或房号查询

{welcome();

dispaly();

int m,j,n=0;

printf(" 请输入要查询的与会人员的序号或房号:");

scanf("%d",&m);

for(j=0;j

if(m==person[j].room || m==j+1) //查询是否有此人

{ printf("\t\n\t\t 该人员详细信息\n\n");

printf(" 姓名性别年龄单位房间号\n");

printf("%-15s%-10s%-10d%-25s%-8d\n",person[j].name,person[j].sex,person[j].age,person[j].work_a ddress,person[j].room);

n++;

printf("\n单位所属类别:"); //打印单位所属类别

switch(person[j].work)

{ case 1:printf("学校\n");break;

case 2:printf("医院\n");break;

case 3:printf("公司企业\n");break;

case 4:printf("国家机关\n");break;

case 5:printf("其它\n");break;

}

}

if(n==0)

printf(" 文中无记录!!\n");

}

void search_name() // 按姓名查询

{welcome();

dispaly();

int n=0,j;

char search_name[20];

printf(" 请输入要查询的姓名:");

scanf("%s",search_name);

for(j=0;j

if(strcmp(search_name,person[j].name)==0)

{ printf(" 姓名性别年龄单位房间号\n"); printf("%-15s%-10s%-10d%-25s%-8d",person[j].name,person[j].sex,person[j].age,person[j].work_ad dress,person[j].room);

n++;

printf("\n单位所属类别:");

switch(person[j].work)

{ case 1:printf("学校\n");break;

case 2:printf("医院\n");break;

case 3:printf("公司企业\n");break;

case 4:printf("国家机关\n");break;

case 5:printf("其它\n");break;

}

}

if(n==0)

printf(" 文中无记录!!\n");

}

void search() //查询报道人员信息

{welcome();

dispaly();

int choose;

printf(" 1 按序号或房号查询\n");

printf(" 2 按姓名查询\n");

printf(" 请选择:");

do

{

scanf("%d",&choose);

switch(choose)

{ case 1:search_room();break;

case 2:search_name();break;

default :printf(" \n您输入的数字有误!!\n 请重新输入(1-2):");

}

}while(choose==0 || choose>2);

}

void mod_room() /*定义按序号或房号修改*/

{welcome();

dispaly();

int m,j,n=0,f=0;

char ch[20],cher;

printf(" 请输入要修改的与会人员的序号或房号:");

scanf("%d",&m);

for(j=0;j

if(m==person[j].room || m==j+1) //判断是否有此人

{ printf("\t\n\t\t 原信息为\n\n");

printf(" 姓名性别年龄单位房间号\n"); printf("%-15s%-10s%-10d%-25s%-8d",person[j].name,person[j].sex,person[j].age,person[j].work_ad dress,person[j].room);

n++;

printf(" \n确定修改?(Y/N):");

scanf("%s",&cher);

switch(cher) //提示用户是否要确定进行修改

{

case 'y':

case 'Y':{

printf("\n\n请输入新信息:\n\n");

printf("\t姓名:");

scanf("%s",ch);

loop:for(g=f;g

{ if(g==j)

{f=j+1;goto loop;}

while(strcmp(ch,person[g].name)==0)

{printf(" 此姓名已登记!!请重新输入:");

scanf("%s",ch);

}

}

strcpy(person[j].name,ch);

printf("\t性别(男/女):");

scanf("%s",person[j].sex);

printf("\t年龄:");

scanf("%d",&person[j].age);

switch(person[j].work) //消除原人员信息的单位属性

{ case 1:school--;break;

case 2:hospital--;break;

case 3:company--;break;

case 4:state--;break;

case 5:other--;break;

}

address(j);

used_room[person[j].room]=0; //消除原人员的房号记录

printf("\t选取房间号:");

scanf("%d",&person[j].room);

while(!(person[j].room>=101 && person[j].room<=120 || person[j].room>=201 && person[j].room<=220 || person[j].room>=301 && person[j].room<=320 || person[j].room>=401 && person[j].room<=420 || person[j].room>=501 && person[j].room<=520) ||

(used_room[person[j].room]==1))

{ if(!(person[j].room>=101 && person[j].room<=120 ||

person[j].room>=201 && person[j].room<=220 || person[j].room>=301 && person[j].room<=320 || person[j].room>=401 && person[j].room<=420 || person[j].room>=501 && person[j].room<=520)) {printf("\t您输入的房间号有误!!\n");

scanf("%d",&person[j].room);}

else

{printf(" 您输入的房间号已有人住!!请重新输入!!!\n");

printf("\t请重新选取房间号:");

scanf("%d",&person[j].room);}

}

used_room[person[j].room]=1; //对新房号进行记录

break; //跳出循环

}

default: printf("\n 修改失败!!\n");break;

}

}

if(n==0) printf(" 文件中无此人!!\n");

}

void mod_name() /*定义按名字修改*/

{welcome();

dispaly();

char ch[20],cher;

int j,n=0,f=0;

printf(" 请输入要修改的与会人员的姓名:");

scanf("%s",ch);

for(j=0;j

if(strcmp(ch,person[j].name)==0)

{ printf(" \n\t\t 原信息为\n\n");

printf(" 姓名性别年龄单位房间号\n");

printf("%-15s%-10s%-10d%-25s%-8d",person[j].name,person[j].sex,person[j].age,person[j].work_ad dress,person[j].room);

n++;

printf(" \n确定修改?(Y/N):");

scanf("%s",&cher);

switch(cher)

{

case 'y':

case 'Y':{

printf("\n\n请输入新信息:\n\n");

printf("\t姓名:");

scanf("%s",ch);

loop:for(g=f;g

{ if(g==j)

{f=j+1;goto loop;}

while(strcmp(ch,person[g].name)==0)

{printf(" 此姓名已登记!!请重新输入:");

scanf("%s",ch);

}

}

strcpy(person[j].name,ch);

printf("\t性别(男/女):");

scanf("%s",person[j].sex);

printf("\t年龄:");

scanf("%d",&person[j].age);

switch(person[j].work)

{ case 1:school--;break;

case 2:hospital--;break;

case 3:company--;break;

case 4:state--;break;

case 5:other--;break;

}

address(j);

used_room[person[j].room]=0;

printf("\t选取房间号:");

scanf("%d",&person[j].room);

while(!(person[j].room>=101 && person[j].room<=120 || person[j].room>=201 && person[j].room<=220 || person[j].room>=301 && person[j].room<=320 || person[j].room>=401 && person[j].room<=420 || person[j].room>=501 && person[j].room<=520) ||

(used_room[person[j].room]==1))

{ if(!(person[j].room>=101 && person[j].room<=120 ||

person[j].room>=201 && person[j].room<=220 || person[j].room>=301 && person[j].room<=320 || person[j].room>=401 && person[j].room<=420 || person[j].room>=501 && person[j].room<=520)) {printf("\t您输入的房间号有误!!\n");

scanf("%d",&person[j].room);}

else

{printf(" 您输入的房间号已有人住!!请重新输入!!!\n");

printf("\t请重新选取房间号:");

scanf("%d",&person[j].room);}

}

used_room[person[j].room]=1;

break;

}

default: printf("\n 修改失败!!\n");break;

}

}

if(n==0) printf(" 文件中无此人!!\n");

}

void modify() /*定义修改报道人员信息函数*/

{ welcome();

dispaly();

int choose;

printf(" 1 按序号或房号修改\n");

printf(" 2 按姓名修改\n");

printf(" 请选择:");

do

{

scanf("%d",&choose);

switch(choose)

{ case 1:mod_room();break;

case 2:mod_name();break;

default :printf(" \n您输入的数字有误!!\n 请重新输入(1-2):"); }

}while(choose==0 || choose>2);

}

void statistics() /*定义统计函数*/

{ welcome();

printf(" 统计信息\n\n\n ");

dispaly();

int j,a[100]; //a[g]表示a[g]=j即第j号房间有人住

g=0;

for(j=101;j<=120;j++) //判断房间是否有人住

if(used_room[j]==1)

{a[g]=j;g++;}

for(j=201;j<=220;j++)

if(used_room[j]==1)

{a[g]=j;g++;}

for(j=301;j<=320;j++)

if(used_room[j]==1)

{a[g]=j;g++;}

for(j=401;j<=420;j++)

if(used_room[j]==1)

{a[g]=j;g++;}

for(j=501;j<=520;j++)

if(used_room[j]==1)

{a[g]=j;g++;}

printf("\n\n");

printf("来自学校的有:%d 人。\n",school); //统计单位

printf("来自医院的有:%d 人。\n",hospital);

printf("来自公司企业的有:%d 人。\n",company);

printf("来自国家机关的有:%d 人。\n",state);

printf("来自其它单位的有:%d 人。\n",other);

printf("\n\n一楼已住的房间:"); //统计每楼已住的房间号

for(j=0;j

{if(a[j]/100==1)

printf(" %d ",a[j]);

}

printf("\n二楼已住的房间:");

for(j=0;j

{if(a[j]/100==2)

printf(" %d ",a[j]);

}

printf("\n三楼已住的房间:");

for(j=0;j

{if(a[j]/100==3)

printf(" %d ",a[j]);

}

printf("\n四楼已住的房间:");

for(j=0;j

{if(a[j]/100==4)

printf(" %d ",a[j]);

}

printf("\n五楼已住的房间:");

for(j=0;j

{if(a[j]/100==5)

printf(" %d ",a[j]);

}

printf("\n\n剩余房间%d间",100-g);

}

void del_room() /*定义按序号或房号删除*/

{

welcome();

dispaly();

int m,j,n=0;

char cher;

printf(" 请输入要删除的与会人员的序号或房号:");

scanf("%d",&m);

for(j=0;j

if(m==person[j].room || m==j+1)

{ printf(" \n\t\t 原信息为\n\n");

printf(" 姓名性别年龄单位房间号\n"); printf("%-15s%-10s%-10d%-25s%-8d\n",person[j].name,person[j].sex,person[j].age,person[j].work_a ddress,person[j].room);

n++;

printf(" \n确定删除?(Y/N):"); //提示用户是否要进行删除操作

scanf("%s",&cher);

switch(cher)

{

case 'y':

case 'Y':{used_room[person[j].room]=0; //原房间清除

switch(person[j].work) //单位记录清除

{ case 1:school--;break;

case 2:hospital--;break;

case 3:company--;break;

case 4:state--;break;

case 5:other--;break;

}

for(;j

person[j]=person[j+1]; //从清除的位置开始后一个数据覆盖前一个数据

i--; //人数减一

printf(" \n删除成功!\n");break;}

default :printf(" \n删除失败!\n");break;

}

}

if(n==0) printf(" 文件中无此人!!\n");

}

void del_name() /*定义按名字删除*/

{welcome();

dispaly();

char ch[20],cher;

int j,n=0;

printf(" 请输入要删除的与会人员的姓名:");

scanf("%s",ch);

for(j=0;j

if(strcmp(ch,person[j].name)==0)

{ printf(" \n\t\t 原信息为\n\n");

printf(" 姓名性别年龄单位房间号\n"); printf("%-15s%-10s%-10d%-25s%-8d\n",person[j].name,person[j].sex,person[j].age,person[j].work_a ddress,person[j].room);

printf(" \n确定删除?(Y/N):");

scanf("%s",&cher);

switch(cher)

{

case 'y':

case 'Y':{used_room[person[j].room]=0;

switch(person[j].work)

{ case 1:school--;break;

case 2:hospital--;break;

case 3:company--;break;

case 4:state--;break;

case 5:other--;break;

}

for(;j

person[j]=person[j+1];

i--;

printf(" \n删除成功!\n");break;}

default :printf(" \n删除失败!\n");break;

}

}n++;

if(n==0) printf(" 文件中无此人!!\n");

}

void mydelete() /*定义删除报道人员信息函数*/

{ welcome();

dispaly();

int choose;

printf(" 1 按序号或房号删除\n");

printf(" 2 按姓名删除\n");

printf(" 请选择:");

do

{

scanf("%d",&choose);

switch(choose)

{ case 1:del_room();break;

case 2:del_name();break;

default :printf(" \n您输入的数字有误!!\n 请重新输入(1-2):");

}

}while(choose==0 || choose>2);

}

void readfile() /*定义文件初始化函数*/

{

int j;

FILE *fp;

if((fp=fopen("d:\\PEOPLE.txt","r"))==NULL)

{printf(" 打开文件失败");}

for(j=0;fread(&person[j],sizeof(struct meeting),1,fp)!=0;j++); //从文件中读取数据到结构体中i=j;

for(j=0;j

{ used_room[person[j].room]=1;

switch(person[j].work) //初始化单位

{ case 1:school++;break;

case 2:hospital++;break;

case 3:company++;break;

case 4:state++;break;

case 5:other++;break;

}

}

fclose(fp);

}

void writefile() /*定义存盘函数*/

{ int j;

FILE *fp;

if((fp=fopen("d:\\PEOPLE.txt","w"))==NULL)

{printf(" 打开文件失败");}

for(j=0;j

fwrite(&person[j],sizeof(struct meeting),1,fp); //将数据保存到文件中

fclose(fp);

}

void main() //主函数

{ int choose;

/*login();*/ //登入函数

readfile(); //文件初始化函数

do

{

print();

printf(" 请选择:");

loop:

scanf("%d",&choose);

switch(choose)

{

case 1:create();writefile();printf("\n\n\n 按任意键返回菜单!!");getch();break;

case 2:welcome();dispaly();printf("\n\n\n\n 按任意键返回菜单!!");getch();break;

case 3:search();printf("\n\n\n 按任意键返回菜单!!");getch();break;

case 4:statistics();printf("\n\n\n 按任意键返回菜单!!");getch();break;

case 5:modify();writefile();printf("\n\n\n\n 按任意键返回菜单!!");getch();break;

case 6:mydelete();writefile();printf("\n\n\n\n 按任意键返回菜单!!");getch();break;

case 0:printf(" 按任意键退出!!\n");exit(1);

default :printf(" \n\t 您输入的数字有误!!\n");printf("\n\t请重新输入:");goto loop; //输错数字后重新输入

}

}while(choose!=0);

}

c语言设备管理系统

课程设计说明书 学院、 系: 专 业: 学生姓名: 学号: 设计题 目:设备管理系统 起迄日 期: 指导教 师: 日期: 2017年5月12日

1 设计目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。 2 任务概述 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 3 模块划分 系统可设计为: 实验设备信息写入模块 实验设备信息输出模块. 实验设备信息查询模块 实验设备信息添加模块 实验设备信息删除模块 实验设备信息查询模块 实验设备信息统计模块 结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。 4 主要函数说明及其N-S图

4.1主函数流程图 4.2 N-S图4.3查询记录

4.4读入/写入文件 图4.4 4.5添加数据 图4.5

简单的银行管理系统的C语言代码

简单的银行管理系统的C语言代码 #include #include #include #include #define N 10000 struct chuhu //储户结构信息 { char idnum[9]; //帐号 char password[7]; //密码 char name[11]; //储户姓名 char idnumber[19]; //储户身份证号码double cunkuan; //存款金额 int lei; //储种 char address[51]; //储户地址 char Tel[15]; //储户的联系电话double lilv; //利率 }hu[N]; //储户结构数组 void xitong(); int rrekey(); void kaifa(); //开发人员 void cekong(); int yanzheng(); //验证帐号和密码 void date(); //显示当前日期和时间 void insert(); //开户函数 void display(); //显示查询帐户信息的函数 void in(int); //存款函数 void out(int); //取款函数 void lilvbiao(); //查看利率表 void menu(); int A=0,key; //A为开户数 double jin; char ch='y'; //控制是否继续的变量 char id[11],password[7]; void xitong() { FILE *fkey = fopen("key.txt","w+"); int k;

C语言课程设计销售管理系统

C语言课程设计 题目 指导教师 学生姓名 学号 专业 教学单位

目录 1设计内容与设计要求 (1) 1.1系统功能简介 (1) 1.2系统运行环境 (1) 2功能划分,模块详细说明 (1) 3程序流程图 (1) 4运行的运行及说明 (2) 4.1系统的运行 (2) 4.2运行说明 (4) 5总结 (5) 附件:源程序清单 (5)

1设计内容与设计要求 1.1系统功能简介 ?系统有简单的菜单界面,用户可以通过输入简单的选项来完成 相应的工作。 ?选定一种产品,按销售额的顺序对销售员进行排序,输出排序结果。 ?统计每种产品的总销售额,输出排序结果。 ?输出统计报表。 1.2系统运行环境 Vc++6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。 2功能划分,模块详细说明 系统的功能是通过子函数调用的方式来完成的,下面对程序中用到的函数及其功能做一下说明。 ●void menu():显示主菜单界面。 ●void data_count(data *x):以写方式打开文件,对商品信息清零,读 入职工编号、产品编号、销售量等信息,对相同职工的相同产品的销售量求和后写入文件。 ●void range_sxy(data *x):以读方式打开文件,读入信息,输入按何种 产品排序后对存储职工编号的数组进行排序,最后输出新序的职工编号信息。 ●void range_shangpin(data *x):从文件读入信息,对每项产品的销售 量求和,按每项产品的总销售量排序。 ●void data_out(data *x):打开文件,读入信息,求所有产品的销售量 的和,输出统计表。 ●void main():主函数,调用以上函数,完成相应功能。 3程序流程图 程序整体流程图如图3-1所示:

c语言设备管理系统

课程设计说明书 学院、系: 专业: 学生姓名:学号: 设计题目:设备管理系统 起迄日 期: 指导教 师: 日期: 2017年5月12日

1 设计目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。 2 任务概述 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 3 模块划分 系统可设计为: 实验设备信息写入模块 实验设备信息输出模块. 实验设备信息查询模块 实验设备信息添加模块 实验设备信息删除模块 实验设备信息查询模块 实验设备信息统计模块 结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。

4 主要函数说明及其N-S图 主函数流程图 查询记录

读入/写入文件 图添加数据 图

删除数据 图 修改数据 统计数据

c语言银行卡管理系统

1.题目要求 题目十三:银行卡管理系统设计 设计银行卡管理系统,系统主要模块: 实现系统内制卡、发卡功能; 实现系统内账户及相关账户管理; 实现卡交易和合法性检查; 实现卡金融交易积分功能; 实现卡报表功能; 数据以文件形式存储。 (提示) 制卡:指申请一张银行卡,但还没有使用。 发卡:指该银行卡已经启用。 实现卡交易:指从卡中取出掉一定的金额。 2.需求分析 struct CCard { char cardNo[20]; //卡号 char name[20]; //持卡人姓名 char ID[20]; //持卡人身份证号码 char password[20]; //密码 int flag; //标志该卡是否启用(0表示未启用,1表示启用) float account; //账户金额 fnt integral; //积分 }card[M]; (1)制卡指申请一个银行卡。即建立一个CCard对象,输入信息对其初始化。 (2)账户信息存储到账户信息文件中,当制作一新卡时,就把该新卡追加到账户信息文件。对账户信息的管理需要实现账户信息查询,用基本的查找算法按卡号对账户信息文件进行查找,并打印输出。 (3)实现卡交易和合法性检查。用户首先依靠卡号和密码登陆(通过查找账户信息文件,来查看卡号和密码是否正确匹配),输入交易金额,如果account>=输入金额,则输出“交易成功!”,并更改account=account-输入金额。否则输出“对不起,您的余额不够!”。 (4)实现卡金融交易积分功能。在把积分初始化为0,只需在卡交易的时候,把交易金额取

整加到积分上。 (5)实现卡报表功能。读账户信息文件,分屏输出所有账户的帐号和交易金额 3.总体设计 分析了整个系统之后,根据上面的系统需求分析,可以将这个系统的设计分为如下七大模块:制卡、发卡、存款、取款、查询账户相关信息、查询账户交易记录、查询全部信息 4.详细设计 #include #include /*调用字符函数*/ #include #include /*通用输入输出库*/ #include #define M 1000 void menu(); void made(); void add();

学生管理系统 C语言

C/C++程序设计 课程设计报告 专业: 班级: 学号: 姓名: 版本号: 时间:

目录 1 概述 (2) 1.1目的 (2) 1.2计划 (2) 2 课程设计过程及结果 (3) 2.1编程环境及工具 (3) 2.2排序与简单分析 (3) 2.3综合设计 (3) 2.3.1 功能实现 (3) 2.3.2 程序异常处理 (5) 2.3.3 特色功能 (5) 3 课程设计总结 (6) 3.1课程设计计划执行情况 (6) 3.2我理解的C++ (6) 3.3改进设想 (6) 附录关键代码 (6)

原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。 声明人___________________ 学号:__________________

1概述 1.1 目的 1、熟悉c语言的编译环境 2、掌握c语言的基本操作 3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管 理软件的编写 4、锻炼同学思维强度与能力 5、培养同学认真态度和刻苦的精神 1.2 计划 用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。 1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。 2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。出现次数相同的按照字母顺序排列,(a最前,z最后)。 输入:任意一个字符串(小写,长度小于255) 输出:重新排序后的结果 例如,输入:aassdfkjiowea回车 则输出为:defijkowssaaa 3.综合设计:设计实现学生成绩管理软件。 参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。 学生信息文件(A.TXT)及其内容(示意): 学号姓名性别班级 200800800901 张三男电子0801 200800820902 李四女通信0801 200800800903 王五女电子0802 200800820904 赵六男通信0801 …… 课程信息(B.TXT)及其内容(示意): 课程编号课程名称学分 C01 大学英语 4 C02 高等数学 4 C03 C++程序设计 3 …… 学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数): 学号课程成绩 200800800901 C01 89 200800800902 C01 68.5 200800800901 C02 45.5 200800800903 C02 78 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

C语言程序设计销售管理系统

C语言程序设计销售管理 系统 The latest revision on November 22, 2020

销售信息管理系统设计文档 组号:第二组 成员:汪品高齐瑞智欧阳鑫赵飞锋章森 目录 一.题目与要求 二.功能实现设计(模块化设计)三.运行结果(附带抓图)四.源程序

报告正文 1、题目与要求: 2、某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员汇总当天出售的每种产品的销售情况。 2 每天销售情况包括(销售员的代号、产品的代号、这种产品当天的销售额) 1、编写一个销售信息管理系统,读取上个月的销售情况 1、计算上个月没人每种产品的销售额 2、按销售额对销售员进行排序,输出排序结果(销售员代号) 3、统计每种产品的总销售额,对这些产品从高到低的顺序输出结果 (须输出产品的代号和销售额) 4、输出统计报表 2、需求分析 本程序将用到文件系统,其中单行内容代表一张纸条。程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。 3、功能实现设计 总体设计

根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。其中主要模块是前四个模块。 流程图 详细设计: #include<> #include<> #include<> #include<> #define M 【功能函数声明】 vvoid detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 【数据结构】 原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。 struct ss { int sid; id,&ss[n].pid,&ss[n].sn); } id)

C语言-实验室设备管理系统精编版

C语言程序设计报告 1 课程设计题目:实验室设备管理里系统 实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询 2 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 3总体设计与模块的划分 整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。 录入设备信息修改 设备 信息 查询 设备 信息 统计 设备 信息 报废 设备 信息 退出设备管理系统设计

主函数流程图: N+ 4 建立实验设备信息结构体 结构体成员包括设备编号 设备名称 部门编号 部门名称 设备价格 设备购买时间 是否报废 报废日期。 5应用程序功能详细说明 程序运行后进入管理系统,显示目录:录入设备信息,修改设备信息,查询设备信息,统计设备信息,报废设备信息,退出 录入设备信息 系统提示用户在原有的基础上录入新的设备信息。流程图如下: 开始 输入设备编号,并将指针指向最末尾 开始 显示一系列功能选择 输入n,判断m ,是否0到5 据n 值调用各功能模块函数 结束

(1)修改记录系统要求用户输入要修改的设备编号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。流程图如下: 开始 判断是否有资料可以统计分 类 没有资料可以统计跳出 输入要统计的分类序号 按输入序号调用各功能模块 函数 结束 (2)显示记录无记录退出,有记录者按要求输出。流程图如下: 开始 没有记录可以显示,跳出 有记录者按要求输出 结束

C语言课程设计报告(银行账户信息管理系统)

银行账户管理系统C语言程序设计 摘要 银行账户管理系统是针对银行账户的日常管理而设计,操作方便而且界面简洁,使用较为简单的C语言作为编程语言,采用软件工程的开发原理,按照需求分析、概要设计、详细设计、程序编码、软件测试等过程进行规范设计。 本银行账户管理系统具有良好的容错性,在出现误操作时能及时的给出相关错误提示,以便于用户及时地更正。此方案运用C语言设计的简易的银行账户管理系统,具体实现的功能有显示用户在银行留下的账户信息,以及选择账户查询的功能对用户存取款记录进行查询,可以比较清晰的反映出所要查询的内容。 关键词账户管理C语言查询

目录 银行账户管理系统C语言程序设计 .......................................................................... I 摘要 ........................................................................................................................... I 1需求分析 . (3) 1.1需求概述 (3) 1.2需求环境 (3) 1.3功能描述 (3) 2 概要设计 (4) 2.1程序功能模块 (4) 2.2程序流程图 (5) 2.3数据的设计 (5) 3 详细设计 (6) 3.1代码功能 (6) 3.2功能实现代码 (6) 3.3流程图 (9) 4 实际C语言代码 (13) 5.运行结果 (24) 5.1登陆界面 (24) 5.2..主菜单 (24) 5.3.插入新账户 (25) 5.4.列出所有账户 (25) 5.5.查找账户存款信息 (26) 5.6.删除账户 (26) 5.7.取款 (26) 5.8.存款 (27) 6.问题与不足 (27) 7.结语 (27) 参考文献 (28)

C语言课程设计《商品销售管理系统》

商品销售管理系统 目录 一、需求分析 (2) 二、概要设计 (2) 三、详细设计 (4) 四、调试分析 (14) 五、用户手册 (14) 六、测试数据 (15) 七、附录 (18)

—1— 一、需求分析 商品销售管理程序 商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD 的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。 记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。 (要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C 输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学) 二、概要设计 (一)按系统分析的功能要求将系统划分为以下几个主要功能模块: 1、文件管理 文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。 2、进出货管理 (1)商品进货: 输入数据后商品信息能自动更新进行添加 (2)商品销售: 输入数据后商品信息能自动更新进行减少 3、商品数据管理 (1)增加/删除商品: 添加或删除某条商品的信息 (2)修改商品信息: 对某条商品的信息进行修改 4、浏览商品信息管理 (1)查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询 (2)排序商品信息: 可按商品编号、名称、类别分别排排序 (3)浏览商品信息:可浏览输入、查询或排序后的数据。 (二)本程序结构 (1)结构体设计 struct goods { long int num; char name[20]; char sort[20]; long int count; long int price; }goods[200]; (2)各功能函数设计:

C语言课程设计报告(银行存取款管理设计)

C语言课程设计报告(银行存取款管理设计)

————————————————————————————————作者:————————————————————————————————日期:

错误!未找到目录项。 C程序课程设计报告 题目车票管理系统 院别数学与计算机学院班级 姓名学号 指导教师邓永江 二○一五年六月

预习报告 一:设计题目 银行存取款管理设计 二:功能要求 ①能够添加和修改以及删除客户文件。(在客户文件中,每个客户是一 条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账 户总金额)。 ②能够输入和查询客户存款取款记录。(在存取款文件中,每次存取款 是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为 取款和存款两种)。 ③能够给程序提供运行提示。 三:设计要求 ①、用C语言实现系统; ②、函数功能要划分好(结构化程序设计); ③、界面友好(良好的人机交互),加必要的注释; ④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能 运行起来,不能运行的程序是没有价值的。 四:设计目的 ①、通过这次课程设计,使我们更加深入地理解和掌握C语言基本概念,切 身体会用结构化程序设计的工程思想,感受C语言的魅力。 ②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求 实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。 五:设计框架图 功能选 客存

六:函数与变量说明 ㈠自定义函数 void main(): 在里面写了“功能选择”的SWITCH 函数; void kehu(); 客户资料添加与操作主菜单; void kehu1(struct cou p[],char *re,long *h); 客户资料查询函数; void kehu2(struct cou *p,char *re,long h); 客户资料添加函数; void kehu3(struct cou *p,char *re,long h); 客户资料修改函数; void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数; void kehup(struct cou *p,char *re,long *h); 客户资料打印函数; void cunq1(); 存取款办理选择主菜单; void cunq11(struct cou *p,char *re,long h); 客户存款资料的键入; void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入; void cunq2(); 存取款选择查询主菜单; void cunq211(struct cou p[],char *re,long *h); 把顾客存款资料从文件读到缓 冲区; void cunq212(struct cou *p,char *re,long *h); 打印存款资料; void cunq221(struct cou p[],char *re,long *h); 把顾客取款资料从文件读到缓 冲区; void cunq222(struct cou *p,char *re,long *h); 打印取款资料; void help(); 使用说明模块。 ㈡变量 ①全局的结构体型数组w(用来存放200多个结构体变量): extern struct cou { long b; char x[20]; 添加 查询 修改 删除 存取取款 存款 关于

最新学生信息管理系统C语言编程

学生信息管理系统C语言编程 【问题描述】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …………………… 共修:xx科,实得总学分为: xxx (3)删除功能: 提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 【程序设计的具体说明】 (1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。

C语言课程设计报告(银行存取款管理设计)

No table of contents entries found. C程序课程设计报告 题目车票管理系统院别数学与计算机学院班级 姓名学号 指导教 邓永江 师

二○一五年六月 预习报告 一:设计题目 银行存取款管理设计 二:功能要求 ①能够添加和修改以及删除客户文件。(在客户文件中,每个客户是一 条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额)。 ②能够输入和查询客户存款取款记录。(在存取款文件中,每次存取款 是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种)。 ③能够给程序提供运行提示。 三:设计要求 ①、用C语言实现系统; ②、函数功能要划分好(结构化程序设计); ③、界面友好(良好的人机交互),加必要的注释; ④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 四:设计目的 ①、通过这次课程设计,使我们更加深入地理解和掌握C语言基本概念,切身体会用结构化程序设计的工程思想,感受C语言的魅力。 ②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。

五:设计框架图 void main():在里面写了“功能选择”的SWITCH函数; void kehu();客户资料添加与操作主菜单; void kehu1(struct cou p[],char *re,long *h); 客户资料查询函数; void kehu2(struct cou *p,char *re,long h);客户资料添加函数; void kehu3(struct cou *p,char *re,long h); 客户资料修改函数; void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数; void kehup(struct cou *p,char *re,long *h); 客户资料打印函数; void cunq1(); 存取款办理选择主菜单; void cunq11(struct cou *p,char *re,long h);客户存款资料的键入; void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入; void cunq2();存取款选择查询主菜单; void cunq211(struct cou p[],char *re,long *h);把顾客存款资料从文件读到缓冲区; void cunq212(struct cou *p,char *re,long *h);打印存款资料; void cunq221(struct cou p[],char *re,long *h);把顾客取款资料从文件读到缓冲区; void cunq222(struct cou *p,char *re,long *h);打印取款资料; void help(); 使用说明模块。 ㈡变量 ①全局的结构体型数组w(用来存放200多个结构体变量):

学生信息管理系统C语言课程设计报告

通信工程C语言强化训练实验报告 评语: 教师签字: 东北大学秦皇岛分校

学生信息管理系统 强化训练目的 C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。 编辑、设置、编译、调试、执行。 C语言结合实际问题的综合设计。 设计题目功能 通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求 名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括: 1有主界面和主菜单

2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示 [A]信息录入 [D]信息删除 [F]信息查询 [Q]退出 4、程序流程图 总体设计 详细设计 【程序】主函数 void main() /*主函数即用户的操作界面*/ { system("color 1E"); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/ printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/ printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按宿舍号查看学生的信息\n\n"); /*按宿舍号查看学生的信息*/ printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/ printf("\t\t\t7.保存学生信息\n\n"); /*保存*/ printf("\t\t\t8.打开文件\n\n"); /*打开文件*/ printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/ printf("\t\t\t0.退出\n\n"); /*退出*/ printf("\t\t\t请输入你的选择:"); scanf("%d",&b); switch(b) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/ } } 5、程序设计源代码 #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/ int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

C语言销售管理系统

(一)、设计内容与设计要求 1.设计内容: 设计课题四:销售管理系统 一、问题描述: 通过本系统实现对N个销售员信息的录入、显示、添加、删除,以及对产品销售额的排序等操作的管理。 二、功能描述: 1、本系统采用一个包含n个数据的结构体数组,每个 数据的结构应当包括:姓名、身份、产品1销售额、 产品2销售额、总产品销售额。 2、本系统显示这样的菜单: 销售管理系统 1、销售员信息输入 2、销售员信息输出 3、删除销售员 4、添加销售员 5、销售额排序 6、统计产品销售额

7、保存销售额信息 0、退出系统 3、执行一个具体的功能之后,程序将重新显示菜单。 4、将系统信息保存在文件中。 三、算法提示: 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系统的基本数据库 四、测试数据:记录数20。 2.设计要求: 1).设计正确,方案合理。 2).界面友好,使用方便。 3).程序精炼,结构清晰。 4).设计报告5000字以上,含程序设计说明,用户使用说明,

源程序清单及程序框图。 5).上机演示。 (二)、进度安排 第一周课题讲解,查阅资料总,体设计,详细设计 周日:8:00——12:00 14:00-—18:00 周一:8:00——12:00 周三:14:00——18:00 第二周编程,上机调试,修改程序,完善程序,答辩 撰写课程设计报告 周二:8:00——12:00 周五:14:00——18:00 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码) 目录 一、需求分析 (1) 二、概要设计 (1) 三、详细设计 (5) 四、调试分析以及设计体会 (6) 五、使用说明 (6) 六、附录 (7)

实验室管理系统—C语言

西安郵電大学 软件课程设计报告 题目:实验室设备管理系统 院系名称:电子工程学院 专业名称:电子信息工程 班级:1204 班内序号:5 学生姓名:诺贝尔杨 时间:2013年3月18日至2013年3月29日

1.课程设计目的 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 主要功能: 1.录入设备信息 2.修改设备信息 3.查询设备信息 (1)按设备编号查询 (2)按设备名称查询 4.对设备按种类进行分类统计 5.报废设备登记。 6.报废设备统计。 2.设计思路 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块。 建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。 3.功能模块图

5.程序代码 #include"" #include"" #define null 0 int t=0; int mmcsz=0; int mima; int menu();d); if(strcmp(sb[t].id,"0")==0) main(); printf("\n请输入设备名称:"); scanf("%s",sb[t].name); printf("\n请输入设备种类:"); scanf("%s",sb[t].kind); printf("\n请输入报废日期:"); scanf("%s",sb[t].over); printf("\n请输入设备是否报废,1、没报废,0、报废:"); scanf("%d",&sb[t].yesno); printf("\n请输入设备购买时间:"); scanf("%s",sb[t].time); printf("\n请输入设备价格:"); scanf("%s",sb[t].price); printf("提示:已经完成一条记录的添加。\n"); t++; } } void xg()d,find)==0) d); scanf("%s",sb[t].id); printf("请输入新设备名称(原来是 %s ):",sb[t].name); scanf("%s",sb[t].name); printf("请输入新设备设备种类名称(原来是 %s ):",sb[t].kind); scanf("%s",sb[t].kind); printf("请输入新设备报废日期名称(原来是 %s ):",sb[t].over); scanf("%s",sb[t].over); printf("请输入新设备是否报废,1、没报废,0、报废(原来是 %d):",sb[t].yesno); scanf("%d",&sb[t].yesno); printf("请输入新设备购买时间(原来是 %s ):",sb[t].time); scanf("%s",sb[t].time); printf("请输入新设备价格(原来是 %s ):",sb[t].price); scanf("%s",sb[t].price); printf("\n提示:该项记录资料已经成功修改!\n"); printf("退回主菜单请输入0\n");

C语言银行管理系统设计

程序设计基础(C语言)课程设计说明书 (20~ 20学年第_1_学期) 题目名称:银行存取款管理系统 姓名 学号 专业 班级 指导教师 提交日期

湖南应用技术学院课程设计任务书 指导教师(签名):教研室主任(签名):年月日

一、需求分析 1、银行存取款管理系统在于如何使用户更便于去进行存取款等一系列操作,是为了解决银行在存取款方面的不便之处。 2、通过此系统,能录用用户存款的信息,其中包括用户的编号、姓名、性别、 地址、年龄及账户总金额。 3、能够输入客户存款或取款记录。 4、能根据客户姓名查询存款和取款记录。 二、总体设计 1、总体思路:本系统分为七个主功能模块 (1)录入客户存取款信息模块; (2)修改客户存取款信息模块; (3)排序客户存取款信息模块 (4)删除客户存取款信息模块; (5)查找客户存取款信息模块; (6)显示客户存取款信息模块; (7)系统退出模块。 通过对七个功能模块的设计和操作,使银行拥有一系列的存取款系统。 用户根据系统的提示进行七个功能模块的操作就能十分便捷的完成自己 要进行银行存取款项目。 2、设计思想:银行存取款管理系统在于方便银行的存取款项目,因此对其 设计有六个主功能模块:录入、修改、排序、查找、删除、显示和退出。 使用相应的c语言函数去实现这个模块的设计,最后通过这七 个功能模块来完成存取款的一系列实现。 3

4、问题和方法 (1)程序编码繁琐,难度较大。 方法:上网查资料弄懂不认识的程序,并向老师和会的同学请教。 (2)程序错误较多,无法执行。 方法:耐心的纠错,仔细地检查。 (3)容易粗心打错函数符号、参数或标点符号。 方法:吸取教训,编程时更加细心。 三、详细设计 1、重要数据的数据结构设计 客户存取款信息的记录项用student表示,包括6个属性:num1,name,addr,sex,age,num2, 其分别是编号,客户姓名,客户地址,性别,年龄,账户总金额。 2、函数设计 银行存取款管理系统程序采用了结构化程序设计的思想,由4个h头文件和3个c源文件组成。程序中除了主函数外,共设计了以下七个函数,分别包含在3个c源文件中。以下是这些函数的函数原型及功能设计。 (1)void inputing(student *p); 函数功能:输入函数中的输数据部分并保存的函数。 (2)void input(student *p,int i); 函数功能:输入函数。输入客户的基本信息。 (3)void insert(student *p,int i); 函数功能:插入函数。插入要输入的客户信息。 (4)void output(student *p,int i); 函数功能:输出函数。将需要的客户信息以列表的形式显示在屏幕上。 (5)void sort(student *p,int n); 函数功能:排序函数。按要将客户存取款信息以账号大小的顺序排列出来。 (6)void find(student *p,int n); 函数功能:查找函数。按要求通过输入客户姓名的方式查询客户存取款信息。(7)int del(student *p,int n); 函数功能:删除函数。通过输入要删除的客户姓名,查询后删除该客户存取款信息。 3、函数关系调用图

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