/*1、用户和管理员及航班信息请以英文字母或数字输入*/
/*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/
/*3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/
#include
#include
#include
#include
#define N 1000
void zhujiemian();//主界面函数
void verify();//用户及管理员登录选择
void loginmanager();//管理员登录
void loginuser();//用户登录
void loginflightm();//管理员登录机票系统
void loginflightu();//用户登录机票系统
void creatfile();//创建用户信息模块
void saveuser();//用户信息保存模块程序
void input(); //输入航班信息
void print(); //输出航班信息
void save(); //保存航班信息
void read(); //读取航班信息
void paixu(); // 对所有航班按航班号排序
void search(); //查找航班信息
void dingpiao(); //订票信息
struct users //管理员/用户信息结构体,管理员可以修改航班信息
{
char Name[20]; //管理员/用户姓名
char sexual[10];//用户性别
char ps[8]; // 用户密码
int age; //用户年龄
long Number; //用户身份证号码
int power; //power为1是管理员登录,为0是用户登录
}user[N],up,mg;//up为键盘输入用户信息,user[N]为文件保存的用户信息,mg为管理员结构体
int n;//所有用户个数,初始化为0
struct air //航班信息结构体
{
int num; //航班号
char start[20]; //出发地
char over[20]; //目的地
char time[10]; //时间
int count; //票数
int prize; //票价
}s[N],fnew;
int i;
int m=0; //所有航班个数
#define PRINT "%-d%12s%12s%10s%12d%10d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count,s[i].prize //定义输出格式
void main()//主函数
{
zhujiemian();
}
void zhujiemian()//主界面函数
{
int j;
printf("#===================================================#\n");
printf("# 欢迎进入机票管理系统#\n");
printf("# 1、登录系统#\n");
printf("# 2、新用户注册#\n");
printf("# 0、退出#\n");
printf("#===================================================#\n");
printf("请在1-2中选择以回车键结束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1:verify();//进入机票系统
break;
case 2:creatfile();//进入用户注册系统
break;
case 0:;
break;
}
}
void verify()//验证用户及管理员信息模块
{
system("cls");
printf("#===================================================#\n");
printf("# 1、管理员登录#\n");
printf("# 2、用户登录#\n");
printf("# 0、返回主界面#\n");
printf("#===================================================#\n");
scanf("%d",&j);
switch(j)
{
case 1:loginmanager();//进入管理员登录界面
break;
case 2:loginuser();//进入用户登录界面
break;
case 0:
system("cls");
zhujiemian(); //进入主界面
break;
}
}
/********管理员登录确定函数**********/
void loginmanager()
{
FILE * fp=NULL;//定义文件指针
char DataFile[20]="manager.txt";//存储管理员信息的文件名
int i=0,j=1;
char relogin; //是否重新登录
int success=0; //登录成功的标志
printf("\n---管理员登录---\n");
fp=fopen(DataFile,"r");
if(fp==NULL)//如果当前文件不存在,初始化根用户名为boss,密码为123,权限为管理员{
printf("首次使用该系统!\n");
printf("管理员账户为:boss 密码为:123\n");
fp=fopen(DataFile,"a");//以追加方式打开文件
user[0].Number=0;
strcpy(user[0].Name,"boss");
strcpy(user[0].sexual,"male");
user[0].age=22;
user[0].power=1;
strcpy(user[0].ps,"123");
fwrite(&user[0],sizeof(user),1,fp);
fclose(fp);
else
fclose(fp);
again:
printf("请输入管理员姓名:");
scanf("%s",https://www.doczj.com/doc/2a16637071.html,);//输入用户名
https://www.doczj.com/doc/2a16637071.html,[19]='\0';
printf("请输入管理员密码:");
fflush(stdin);
for(i=0;i<7;i++)//输入密码,以*在屏幕显示
{
up.ps[i]=getch();
up.ps[i+1]='\0';//字符要以'\0'结尾
if(up.ps[i]=='\b')
{
i--;
up.ps[i]='\0';//清除前一个字符
i--;//接收前一个字符
printf("\b ");
printf("\b");
continue;
}
if(up.ps[i]=='\r')
{
up.ps[i]='\0';
break;
}
printf("*");
}
fp=fopen(DataFile,"rt");
if(fp==NULL) // 打开文件失败时提示
{
printf("\n打开%s 失败!按任意键结束程序\n",DataFile);
perror("Open file fail");
getchar();
return;
}
if((fp=fopen("manager.txt","r"))==NULL)//打开文件,并判断是否出错
{
printf("\n出错,请检查文件是否存在,按任意键返回主菜单\n");//打印出错提示getchar();
}
fread(&mg,sizeof(struct users),1,fp);//从文件中读取信息fclose(fp);//关闭文件
if(strcmp(https://www.doczj.com/doc/2a16637071.html,,https://www.doczj.com/doc/2a16637071.html,)==0&&strcmp(mg.ps,up.ps)==0)
{
success=1;
}
if(success==1) //登录成功
{
printf("\n登录成功,按任意键进入机票调整系统!\n");
getchar();
loginflightm();
}
else//未登录成功
{
fflush(stdin);//清除输入缓冲区中的字符
printf("\n用户名或密码错误!重新输入请按y,退出请按n:\n");
relogin=getchar();
if(relogin=='y'||relogin=='Y')
{
getchar();
goto again;
}
else
{
verify();
exit(0);
}
}
}
/********用户登录函数**********/
void loginuser()
{
FILE *fp=NULL,*fp1;//定义文件指针
char DataFile[20]="yonghu.txt";//存储管理员信息的文件名
int i=0,j=0;
char relogin; //是否重新登录
int success=0; //登录成功的标志
printf("\n---用户登录---\n");
fp=fopen(DataFile,"r");
//读取文件中数据
if((fp1=fopen("howmanyusers.txt","a"))==NULL)//读写方式打开文件,若文件不存在,则n=0
{
//printf("创建文件失败!\n\n");//打印出错提示
n=0;
//getchar();
//continue;
}
else
{
fp1=fopen("howmanyusers.txt","r");
fscanf(fp1, "%d",&n);//读取fp1中的用户个数
}
fclose(fp1);
if((fp=fopen("yonghu.txt","r"))==NULL)//打开文件,并判断是否出错
{
fp1=fopen("howmanyusers.txt","w+");//以写方式打开
fprintf(fp1,"%d",0);//打开用户文件失败,则输入用户个数0到fp1
fclose(fp1);
printf("\n目前没有用户信息,请按ENTER键返回主菜单先进行注册!\n");
getchar();
getchar();
system("cls");
zhujiemian();
}
for(i=0;i { fread(&user[i],sizeof(struct users),1,fp);//从文件中读取信息 } fclose(fp);//关闭文件 //输入数据与文件中用户比对 again: printf("请输入用户姓名:"); scanf("%s",https://www.doczj.com/doc/2a16637071.html,);//输入用户名 https://www.doczj.com/doc/2a16637071.html,[19]='\0'; printf("请输入用户密码:"); fflush(stdin); for(i=0;i<7;i++)//输入密码,以*在屏幕显示 { up.ps[i]=getch(); up.ps[i+1]='\0';//字符要以'\0'结尾 if(up.ps[i]=='\b') { i--; up.ps[i]='\0';//清除前一个字符 i--;//接收前一个字符 printf("\b "); printf("\b"); continue; } if(up.ps[i]=='\r') { up.ps[i]='\0'; break; } printf("*"); } for(i=0;i { if(strcmp(user[i].Name,https://www.doczj.com/doc/2a16637071.html,)==0&&strcmp(user[i].ps,up.ps)==0) { success=1; break; } } if(success==1) //登录成功 { printf("\n登录成功,按任意键进入机票调整系统!\n"); getchar(); loginflightu(); } else //未登录成功 { fflush(stdin);//清除输入缓冲区中的字符 printf("\n用户名或密码错误!重新输入请按y,退出请按n:\n"); relogin=getchar(); if(relogin=='y'||relogin=='Y') { getchar(); goto again; } else { verify(); exit(0); } } } void saveuser(struct users[])//用户信息保存模块程序 { FILE *fp,*fp1;//定义文件指针 if((fp=fopen("yonghu.txt","a"))==NULL)//打开文件并判断是否出错 { printf("创建文件失败!\n\n");//打印出错提示 getchar(); return; } if((fp1=fopen("howmanyusers.txt","w+"))==NULL)//打开文件并判断是否出错 { printf("创建文件失败!\n\n");//打印出错提示 getchar(); return; } for(i=0;i { if(fwrite(&user[i],sizeof(struct users),1,fp)==0)//向文件写入数据,并判断是否出错 { printf("向文件输入数据失败!\n\n"); } } fprintf(fp1,"%d",n);//输入用户个数到fp1 fclose(fp);//关闭文件 fclose(fp1);//关闭文件 } void creatfile()//增加用户信息模块 { FILE *fp=NULL,*p=NULL,*fp1; char DataFile[20]="yonghu.txt";//存储用户信息的文件名 //int a[100]; int i=0,k=1,count=0; fp=fopen(DataFile,"r"); system("cls");//清屏 if(fp==NULL)//如果当前文件不存在,提示打开文件失败 { fp1=fopen("howmanyusers.txt","w+");//以写方式打开 fprintf(fp1,"%d",0);//打开用户文件失败,则输入用户个数0到fp1 fclose(fp1); printf("\n不存在%s,正在创建!\n",DataFile); fp=fopen(DataFile,"a"); creatfile(); } if((fp1=fopen("howmanyusers.txt","a"))==NULL)//读写方式打开文件,若文件不存在,则n=0 { n=0; } else { fp1=fopen("howmanyusers.txt","r"); fscanf(fp1, "%d",&n);//读取fp1中的用户个数 } fclose(fp1); for(i=0;i { fread(&user[i],sizeof(struct users),1,fp);//从文件中读取信息 } fclose(fp);//关闭文件 //如果成功打开文件,则提示输入用户相关信息 printf("请输入用户信息\n"); fflush(stdin); while(k) { //printf("\n输入身份证号码注意身份证号码不能为0!\n"); printf("请输入身份证号码:"); scanf("%ld",&up.Number); i=0;//再次初始化i为0 //判断身份证号是否存在 while(i { if(user[i].Number==up.Number) { printf("该身份证号码已被使用过!\n请重新输入身份证号:"); scanf("%ld",&up.Number); i=0; //continue; } else i++; } //经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位 user[i].Number=up.Number; printf("姓名:"); scanf("%s",&user[i].Name); user[i].Name[19]='\0'; printf("性别:"); scanf("%s",&user[i].sexual); printf("用户密码:"); scanf("%s",&user[i].ps); printf("年龄:"); scanf("%d",&user[i].age); n++;//用户数目增加 printf("是否继续注册?是:选1,否:选0;"); scanf("%d",&k); } saveuser(user);//保存用户信息 fclose(fp); //在屏幕上显示文件内容 system("cls"); printf("数据已经成功保存到%s中\n",DataFile); getchar(); printf("按任意键返回主界面!\n"); getchar(); system("cls"); zhujiemian();//返回主界面 } void loginflightm()//管理员登录机票系统 { int j; do { system("cls"); printf(" ★----------------您好,欢迎进入自动化飞机订票系统!---★\n"); printf("===================================================================== ===========\n"); printf(" **-------- -------☆1.输入航班信息☆-------- -------------------**\n\n" " **-------- ----☆2. 浏览航班信息☆----- ------------------**\n\n" " **-------- ☆ 3. 查找航班信息-☆-------- ------------**\n\n" " **-------- ---☆ 4.对航班按航班票价排序---☆-----------------------**\n\n" " **-------- ------☆ 5. 订票信息-☆-------- -----------------**\n\n" " **-------- ----------☆0.退出-☆-------- ---------------------**\n\n" " **-------- ---------------☆☆-------- -------------------------**\n\n" " **-------- -----------------☆-------- --------------------------**\n\n" " **-------- ---------------☆☆-------- --------------------------**\n\n"); printf("===================================================================== ===========\n"); printf("请在0-5中选择以回车键结束:\n\n"); scanf("%d",&j); switch(j) { case 1: input();//调用输入模块 break; case 2: system("cls"); print();//调用打印模块 break; case 3: search();//调用查找模块 break; case 4: paixu();//调用排序模块 break; case 5: dingpiao();//调用订票模块 break; case 0:; break; } }while(j!=0); //判断结束 printf("按任意键返回主界面\n"); system("cls"); zhujiemian(); }//登录函数结束 void loginflightu()//用户登录机票系统 { int j; do { system("cls"); printf(" ★----------------您好,欢迎进入自动化飞机订票系统!---★\n"); printf("===================================================================== ===========\n"); printf(" **-------- ----☆ 1. 浏览航班信息☆----- ------------------**\n\n" " **-------- ☆ 2. 查找航班信息-☆-------- ------------**\n\n" " **-------- ---☆ 3.对 航班按航班票价排序---☆-----------------------**\n\n" " **-------- ------☆ 4. 订票信息-☆-------- -----------------**\n\n" " **-------- ----------☆0.退出-☆-------- ---------------------**\n\n" " **-------- ---------------☆☆-------- -------------------------**\n\n" " **-------- -----------------☆-------- --------------------------**\n\n" " **-------- ---------------☆☆-------- --------------------------**\n\n"); printf("===================================================================== ===========\n"); printf("请在0-5中选择以回车键结束:\n\n"); scanf("%d",&j); switch(j) { case 1: system("cls"); print();//调用打印模块 break; case 2: search();//调用查找模块 break; case 3: paixu();//调用排序模块 break; case 4: dingpiao();//调用订票模块 break; case 0:; break; } }while(j!=0); //判断结束 printf("按任意键返回主界面\n"); system("cls"); zhujiemian(); }//登录函数结束 void input()//输入航班信息模块,管理员操作 { int i=0,k=1; read(); printf("请依次输入航班信息(航班号,起始站,终点站,起飞时间,机票数,票价):\n\n");//打印提示信息 printf("--------------------------------------------------------------------------\n"); //fflush(stdin); while(k) { printf("请输入航班号:\n"); scanf("%d",&fnew.num); //读取航班号 i=0;//再次初始化i为0 //判断航班是否已经存在 while(i { if(s[i].num==fnew.num) { printf("该航班已经存在!\n请重新输入:"); scanf("%d",&fnew.num); i=0; //continue; } else i++; } //经循环对比后,i的值仍和n相等,将新注册的信息加入数组末位 s[i].num=fnew.num; printf("请输入起始站:\n"); scanf("%s",s[i].start);//读取起始站 printf("请输入终点站:\n"); scanf("%s",s[i].over);//读取终点站 printf("请输入时间:\n"); scanf("%s",s[i].time);//读取时间 printf("请输入余票数(机票数为0结束输入):\n",m); scanf("%d",&s[i].count);//读取机票数 printf("请输入机票票价:\n",m); scanf("%d",&s[i].prize);//读取机票票价 m++; //所有航班信息个数 // printf("第%d个信息已经输完是否继续?按1-9任意数字继续,按0结束",m); //scanf("%d",&y); printf("是否继续添加航班?是:选1,否:选0;"); scanf("%d",&k); if(k==0) { save();//将结构体信息存盘 system("cls"); print();//输出输入的航班信息 break; } } } void save()//航班信息保存模块程序 { FILE *fp,*fp1;//定义文件指针 if((fp=fopen("flight.txt","wb"))==NULL)//打开文件并判断是否出错 { printf("创建文件失败!\n\n");//打印出错提示 getchar(); return; } if((fp1=fopen("howmanyflights.txt","wb"))==NULL)//打开文件并判断是否出错 { printf("创建文件失败!\n\n");//打印出错提示 getchar(); return; } for(i=0;i if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件写入数据,并判断是否出错printf("向文件输入数据失败!\n\n"); fprintf(fp1,"%d",m); fclose(fp);//关闭文件 fclose(fp1);//关闭文件 } void read()//从文件读取航班信息模块 { FILE *fp,*fp1;//定义文件指针 fp=fopen("flight.txt","r"); //system("cls");//清屏 if(fp==NULL)//如果当前文件不存在,提示打开文件失败 { fp1=fopen("howmanyflights.txt","w+");//以写方式打开 fprintf(fp1,"%d",0);//打开用户文件失败,则输入用户个数0到fp1 fclose(fp1); printf("\n不存在flight.txt,正在创建!\n"); fp=fopen("flight.txt","a"); printf("创建完成!\n"); system("cls"); read(); //perror("Open file fail"); //getch(); } if((fp1=fopen("howmanyflights.txt","rb"))==NULL)//读写方式打开文件,若文件不存 在,则m=0 { //printf("创建文件失败!\n\n");//打印出错提示 m=0; } else { fp1=fopen("howmanyflights.txt","r"); fscanf(fp1, "%d",&m);//读取fp1中的用户个数 } fclose(fp1); for(i=0;i { fread(&s[i],sizeof(struct air),1,fp);//从文件中读取信息 } fclose(fp);//关闭文件 } void print()//屏幕打印航班信息模块 { read();//调用读取文件函数 if(m==0) printf("\n\n目前没有航班信息!\n"); else { printf("航班信息如下:\n"); printf("航班号起始站终点站时间余票数票价\n"); for(i=0;i { printf(PRINT);//打印信息 } } printf("\n请按任意键回车键结束返回主菜单"); getchar(); getchar(); } void paixu()//对所有航班按航班价格排序 { int j; struct pai { int no; char name1[20]; char name2[20]; char time[20]; int count; int prize; }p[1];//临时定义结构体,作为排序时的第三变量 read();//调用读取信息函数 for(j=0;j<(m-1);j++) { for(i=0;i<(m-(1+j));i++) { if(s[i].prize>s[i+1].prize) //按价格升序排列,p[0]为中间变量 { p[0].no=s[i].num;//替换航班号 strcpy(p[0].name1,s[i].start);//替换其始站 strcpy(p[0].name2,s[i].over);//替换终点站 strcpy(p[0].time,s[i].time);//替换时间 p[0].count=s[i].count;//替换机票数 p[0].prize=s[i].prize;//替换票价 s[i]=s[i+1]; s[i+1].num=p[0].no;//替换航班号 strcpy(s[i+1].start,p[0].name1);//替换其始站 strcpy(s[i+1].over,p[0].name2);//替换终点站 strcpy(s[i+1].time,p[0].time);//替换时间 s[i+1].count=p[0].count;//替换机票数 s[i+1].prize=p[0].prize; } } } save();//调用保存函数 system("cls"); printf("排序后,"); print(); } void search()//按航班号查询模块 { char ii[10]; int no,k; read();//调用读取函数 do { system("cls"); k=0;//每次查找都初始化k为0 printf("请输入你要找的航班号:");//打印查询方式菜单 scanf("%d",&no);//航班号 for(i=0;i { if(s[i].num==no)//按航班号判断输出条件 { k=1; system("cls"); printf("\n查找航班信息成功!\n"); printf("航班号起始站终点站时间余票数票价\n"); printf(PRINT);//打印信息 break; } } no=0;//将航班号重新赋值为0 if(k==0) { printf("没有您需要的信息\n"); } printf("\n是否继续查找?请键入yes或no以回车键结束\n"); scanf("%s",ii); } while(strcmp(ii,"yes")==0);//判断结束 } void dingpiao()//订票模块 { int n; char a[10]; search();//调用查询模块 do { printf("请输入您要订的机票数以回车键结束:\n"); scanf("%d",&n);//读取所订机票数 if(n<0) { printf("请输入有效的机票数!\n");//判断机票数是否出错break; } if(s[i].count!=0&&s[i].count>=n)//判断是否出错 { s[i].count=s[i].count-n; save();//调用保存函数 printf("订票成功!\n\n"); break; } if(s[i].count { printf("余票不足,请输入有效的机票数!\n"); getchar(); } printf("是否继续订票?请输入yes或no以回车键结束:\n");//判断是否继续订票 scanf("%s",a); } while(!strcmp(a,"yes"));//判断结束 getchar(); printf("按ENTER键返回用户主界面。"); getchar(); } 简单的银行管理系统的C语言代码 #include 软件学院大作业任务书题目:航班信息查询系统 专业: 班级: 姓名: 学号: 完成人数: 起讫日期: 任课教师:职称:讲师 部分管主任: 完成时间: 说明 1.本任务书由任课教师填写后,下达到学生。 2.任务完成后,任课教师需填写小结表。 3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一 并报送各教学研究部审核后转教务办。 4.另附一份全班大作业总结 NANCHANG UNIVERSITY 高级语言程序设计课程设计 题目: 航班信息查询系统 学院: 专业: 班级: 完成人数: 成员: 起讫日期: 任课教师: 完成时间: 填表日期: 目录 一、需求分析.............................................................................................................................. - 1 - 1.1 项目介绍.................................................................................................................. - 1 - 1.2 功能需求.................................................................................................................. - 1 - 二、系统分析.............................................................................................................................. - 1 - 2.1 本程序需解决的关键技术问题.............................................................................. - 1 - 2.2 程序流程.................................................................................................................. - 1 - 三、程序设计与实现.................................................................................................................. - 2 - 3.1 程序设计.................................................................................................................. - 2 - 3.2 程序实现....................................................................................... 错误!未定义书签。 四、系统测试............................................................................................................................ - 11 - 五、个人小结............................................................................................................................ - 13 - 六、参考文献............................................................................................................................ - 13 - 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 课程设计 课程:数据结构 专业班级:xx软件工程 xx班姓名:xx 学号:xxx 姓名:xxx 学号:xxx 设计时间:xxx 指导老师:xxx 课程设计题:飞机订票系统 一、设计目的 1.掌握结构体数组的表示和存储。 2. 掌握链表的存储和操作。 3.掌握文件的操作。 二、设计内容和要求 1. 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否 满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:订票情况可以存在一个数据文件中,结构自己设定。可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件。 要求:根据以上功能说明,设计航班信息,订票信息的存储结 构,设计程序完成功能 设计思想: 管理操作系统,主要考虑的是信息的录入,这里利用文件的读写完成该 功能;输出,查询以及删除,利用结构数组存储航班与客户信息,依次 对订票,退票,查询及相关操作编写成子程序,然后再主程序中调用, 这样程序看起来相当简练,而且易读懂; 算法设计分析: (次系统运行环境为VC6.0) 1.txt beijing shanghai 1 1 12 0 1 1 18 0 6 100 2 shanghai wuhang 2 2 12 0 2 2 14 0 2 110 1 wuhang chibi 3 3 13 0 3 3 14 0 1 50 2 (此文件是程序执行航班信息录入时自动生成,在信息读取时需要调用) 首先是航班于客户信息的存储,结构数组的利用很好的解决该问题; 其次是文件的操作,在主函数中利用文件的读与写;下面介绍订票退票 银行账户管理系统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) /*1、用户和管理员及航班信息请以英文字母或数字输入*/ /*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/ /*3、部分文件读写为二进制读写,所以打开文件时会看到乱码*/ #include 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]; 添加 查询 修改 删除 存取取款 存款 关于 #include void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 void main()//主函数{int j; chushihua();//系统初始化判断是否存在原始数据文件 printf("欢迎使用飞机订票系统\n");//打印出系统主界面 do{printf("============================================================= =================== "); printf(" 1.增加航班信息\n" "\t 2.浏览航班信息\n" "\t\t 3.查找航班信息(按航班号)\t\t╮(╯_╰)╭\n" "\t\t\t 4.航班排序(按航班号)\n" "\t\t\t\t 5.订票业务\n" "\to(︶︿︶)o\t\t\t 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语言课程设计 题目名称航班信息管理系统 学生学院物理与光电工程学院专业班级电子科学与技术(4)班学号 学生姓名 指导教师 2015 年10 月23 日 目录 一设计目的.............................................................................................................................. - 2 - 二课程设计的内容.................................................................................................................. - 2 - 三课程设计的要求与数据...................................................................................................... - 2 - 四课程设计应完成的工作...................................................................................................... - 3 - 五总体设计.............................................................................................................................. - 3 - 六详细设计.............................................................................................................................. - 3 - 七调试分析.............................................................................................................................. - 9 - 7.1 源程序及注释............................................................................................................... - 9 - 7.2 调试与测试................................................................................................................. - 30 - 7.2.1 算法调试过程中出现的问题及解决方法:.................................................. - 30 - 7.2.2 主要程序运行结果.......................................................................................... - 32 - 八总结.................................................................................................................................... - 35 - 九参考文献............................................................................................................................ - 36 - 仲恺农业工程学院 C语言程序设计报告 航班信息管理系统 课程名称C语言程序设计 姓名XXX 院(系)信息科学与技术学院 专业班级网络工程XX 学号201320XX 指导教师XXX 仲恺农业工程学院教务处制 目录 1 需求分析 (1) 2 系统总框图和功能模块说明 (1) 2.1 系统总框图 (1) 2.2 功能模块说明 (2) 3 系统设计 (3) 3.1 主要结构体 (3) 3.2主要功能函数 (3) 3.3 关键函数的流程图 (4) 4 系统调试 (5) 5 总结 (7) 6 源程序清单 (7) 1 需求分析 航班信息包括航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号、票价,八项信息。 试设计航班信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●航班信息录入功能(航班信息用文件保存)--输入 ●航班信息浏览功能--输出 ●航班信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等) ●航班信息排序、筛选功能 2 系统总框图和功能模块说明 2.1 系统总框图 图1 系 统总框图 2.2 功能模块说明 输入航班信息模块,完成航班信息的录入。航班信息的录入前,录入系统先完成新建文件,检测文件是否存在的功能。检测完毕,采用循环的输入流程,以检测文件是否终止为循环的判定条件;输入信息时,以检测编号判断输入的信息与文件中的信息是否有冲突,防止输入的信息存在冲突;把航班信息一一输入后,判断其有没有存入文件中。 排序航班信息模块,完成航班信息中的价格排序,便于筛选信息结果的查看,排序是利用冒泡排序法,按照价格从高到低编排。 查询航班信息模块,根据输入的航班编号,查询航班编号的信息,。其过程中,首先是 程序设计基础(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、函数关系调用图 #include 程序设计工程训练 报告 C语言程序设计个人财务管理系统 课程名称C语言程序设计工程训练 姓名 院(系)信息科学与技术学院 专业班级 学号 指导教师 教务处制 目录 1.需求分析 (1) 2系统总框图和功能模块说明 (1) 2.1系统总框图 (1) 2.2功能模块说明 (1) 3系统设计 (2) 3.1主要结构体 (2) 3.2主要功能函数 (2) 4系统调试 (3) 4.1、程序开始执行时系统的所显示的页面: (3) 4.2、选择退出系统: (3) 4.3、选择登陆,并且输入的帐号和密码都正确: (3) 4.4、用户输入的帐号不正确: (4) 4.5、用户输入的帐号正确,密码不正确: (4) 4.6、用户进行具体操作: (5) 5总结 (6) 6源程序清单 (6) 1.需求分析 编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。同时也要求系统能够对不同的用户的身份进行查找和验证。在验证通过之后,在对其进行用户所要求的操作。 作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。除此之外,还必须有足够大的空间来存储新的记录。所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。 2系统总框图和功能模块说明 2.1系统总框图 2.2功能模块说明 (1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。 (2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。 (3)load( ):此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。 (4)lookup_accounts():此函数的作用是将用户输入的帐号与系统中的所有帐 程序设计基础(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、函数关系调用图 订票系统 1.需求分析 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 2:主要设计思路: 1)算法构造流程图: A:主菜单: B:各分块模板的构造流程图: 3:功能函数设计: (1):订票系统主菜单函数menu_select() 本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。 (2):工作人员管理函数enter()&change() 系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。enter()函数的构造就是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。 (3):列出航班信息的函数list() 乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数search() 本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。 (5)票务管理函数book()&quit() 通过book()函数可以实现乘客的订票操作,通过quit()可 #include 简单的银行管理系统的C语言代码
c语言航班信息查询系统实验报告
c语言银行卡管理系统
C语言飞机订票系统
C语言课程设计报告(银行账户信息管理系统)
c语言实现机票管理系统源代码
C语言课程设计报告(银行存取款管理设计)
C语言课程设计――飞机订票系统源代码
C语言课程设计报告(银行存取款管理设计)
航班信息管理系统
C语言程序设计-航班管理系统
C语言银行管理系统设计
c语言航班管理系统代码
C语言程序设计个人财务管理系统
C语言银行管理系统设计
(C语言版)飞机订票系统
银行账户管理系统C语言源代码