当前位置: 首页 > news >正文

手机网站模板源码广州平面设计线下培训班

手机网站模板源码,广州平面设计线下培训班,wordpress电脑进不去,陕西省建设厅网站月报一、工资管理系统 需求分析 工资信息存放在文件中#xff0c;提供文件的输入、输出等操作#xff1b;要实现浏览功能#xff0c;提供显示、排序操作#xff1b;而查询功能要求实现查找操作#xff1b;另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计 整个系统可… 一、工资管理系统 需求分析 工资信息存放在文件中提供文件的输入、输出等操作要实现浏览功能提供显示、排序操作而查询功能要求实现查找操作另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计 整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。 3、详细设计 工资信息采用结构体数组 Struct Salary_Info {    int Card_No;                   //工资卡号    Char name[20];                 //姓名    int month;                     //月份    float Init_Salary;               //应发工资    float Water_Rate;               //水费    float Electric_Rate;             //电费    float tax;                     //税金    float Final_Salary;             //实发工资 }SI[MAX];  //SI[MAX]中每个数组元素对应一个职工工资信息 1主函数提供输入、处理和输出部分的函数调用各功能模块采用菜单方式选择。 2输入模块    按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息税金和实发工资根据输入的信息进行计算得到这些信息被录入到文件中。 文件操作函数fopenfwritefclose. 税金的计算 if(应发工资800)         税金0 else if (应发工资800应发工资1400)    税金应发工资-800*5% else if (应发工资1400)    税金应发工资-1400*10% 实发工资应发工资-水费-电费-税金。 3添加模块 增加新的职工工资信息从键盘输入并逐条写到原来的输入文件中采用追加而不是覆盖的方式以”ab”方式打开文件。 4浏览模块 分屏显示职工工资信息可以指定10个1屏按任意键显示下一屏。通过菜单选择按照工资卡号还是姓名浏览。如果按照卡号浏览则显示的记录按照卡号升序输出按照姓名浏览则按照字典序输出调用排序模块的排序功能。 5排序模块 排序模块提供菜单选择实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。 6查询模块 实现按照工资卡号和姓名的查询采用基本的查找方法即可。 7统计模块 输入起止月份按照职工卡号和月份查询记录把起止月份之间的实发工资金额累加。 附加思考在数据输入及添加模块尾部添加排序功能使得文件中的数据按照卡号排序。这样在查询模块和统计模块可以采用二分查找以提高效率。 二、校际运动会管理系统 1、需求分析 要记录比赛结果可以查看参赛学校的信息和比赛项目信息因而要实现文件的输入和输出功能用户可以查询各个学校的比赛成绩查看参赛学校信息和比赛项目信息等因而要提供查找和显示功能另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计    系统被设计为信息输入模块、比赛结果录入模块和查询模块三个模块。 3、详细设计    数据结构采用结构体数组包括学校、项目、运动员三个结构体。 Struct athlete {   Char name[20];   //姓名   Int age;         //年龄   Char From[20];  //来自学校 }Athlete;   //运动员结构体 Struct item {   Char name[20];   //项目名   Int* weight;     //在运行时根据用户的输入动态分配空间各项目名次取法不同weight所指空间依次存放第一名得分、第二名得分等 Athlete* player;  //指向获奖运动员信息的指针 }Item;   //项目结构体 Struct university {    Char name[20];  //学校名    Item *item;     //竞赛项目指针根据用户输入动态分配空间    Int score;       //学校得分 }Uni;  //学校结构体 Item TotalItem[ItemNum];   //项目结构体数组 Uni AllUni[UniNum];      //学校结构体数组 1主函数      提供输入、处理和输出部分的函数调用各功能模块采用菜单方式选择。   2信息输入模块 输入参赛学校总数M-男子参赛项目数W-女子参赛项目数。 把参赛学校信息和项目信息以及运动员信息录入文件fwrite建立三个文件。 例如第i个项目 Scanf(“%s”,TotalItem[i].name);   //输入项目名 ChGetchar();   //通过输入123来选择项目名次取法 Switch(ch) {    Case ‘1’: n5;break;    Case ‘2’: n3; break;    Case ‘3’: printf(“取前几名”,n); break;    Default: break; } TotalItem[i].weightnew int[n]; TotalItem[i].athleteNULL;  //指向获奖运动员信息初始化为空 然后写入文件fpfopen(“item.txt”,”wb”); fwrite(TotalItem[i],sizeof(Item),1,fp); 学校信息和运动员信息的录入与此类似。 2比赛结果录入模块      通过菜单选择进入比赛结果录入模块更改TotalItem[i].athlete的值并把获奖名单保存到项目文件中。项目文件格式为项目名  项目权值按照第一名、第二名…给出权值 获奖运动员信息按照第一名、第二名…给出    3查找模块 查找学校信息文件生成团体总分报表用基本查找算法查询参赛学校信息按照校名查找或者比赛项目信息按照项目名。 三、学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中因而要提供文件的输入输出操作查询功能要求提供查找和显示操作删除功能要求实现删除操作排序功能要求实现排序操作另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计    整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。 3、详细设计    设计学生基本信息和学生成绩基本信息结构体数组。 Struct {   int stuNo;        //学号   char name[20];   //姓名   char sex[2];     //性别   int  domNum;   //宿舍号   int  tel;        //电话号码 }StuInfo;   //学生基本信息结构体 Struct {   int stuNo;     //学号   char courseNo;  //课程编号   char courseName; //课程名称   int creditHour; //学分 Int triGrade; //平时成绩 Int experiGrade; //实验成绩 Int examGrade; //卷面成绩 Float totalGrade; //综合成绩 Float finalCreHour; //实得学分 }StuGraInfo; //学生成绩基本信息结构体 1数据录入模块 学生基本信息文件可以在磁盘建立采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。 2查询模块 通过菜单选择查询功能再选择学生基本情况查询和成绩查询若选择前者再通过菜单选择学号、姓名或宿舍号码按照基本查找算法查找A.TXT然后把查找结果输出若选择后者则先在A.TXT中查找学号对应的姓名再在B.TXT中查找该学生的课程情况并统计科目和实得总学分输出结果。fread和查找算法的应用 3删除模块 通过菜单选择删除学生的功能输入要删除学生的学号则分别在A.TXT和B.TXT中查找该生信息删除之或者输入学生的姓名先在A.TXT中得到该生的学号删除该生信息再在B.TXT中删除该学号对应的信息。注意C语言中没有直接删除信息的函数需要自己实现可以采取读出数据判断数据如果不删除则进入缓冲区否则删除写入数据把缓冲区中的数据写入文件的步骤进行。 4排序模块 通过菜单选择排序依据采用排序算法冒泡、插入、选择等对数据进行排序并输出结果。首先要读文件fread。 四、一种简单的英文词典排版系统实现 1、需求分析    运行结果以文本形式存储因而要提供文件的输入输出操作检查重复单词要提供查找操作按A-Z的顺序排版要提供排序操作添加新单词并重新排版要提供插入操作。另外通过键盘式菜单实现功能选择。 2、总体设计     整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词、检查是否重复、排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出即文件的输出操作。 3、详细设计 数据结构采用指针数组或二维数组char* dictionary[N];  或 char dictionary[N][20]。其中N是宏定义#define N 100  表示单词个数 1单词录入模块      输入一个单词存放在一个临时字符数组中以空格或回车表示单词的结束这也是默认操作然后换行输出刚刚输入的单词。采用插入排序算法的思想把该单词插入单词数组中不同的是如果两个单词相同则不插入。 2文件存储模块      采用fwrite或fprintf把单词数组输入到文件中。 3单词浏览模块 采用fread或fscanf把单词从文件中读出然后输出。 五、一担挑游戏 1、数据结构    数据结构定义为二位数组char  chess_board[3][3]; 元素初始化为’ ’。 2、算法流程    Main()    {      char  chess_board[3][3]{‘’};     //定义棋盘并初始化为空 while(未结束) {        输出棋盘       //用flag标志移动方0表示计算机走棋1表示对弈者走棋       Ifflag0    //计算机走棋       {          扫描棋盘矩阵          If(存在空单元)            {             置该单元为’O’             If有三个’O’在一条线上             {                 输出棋盘矩阵                  输出“计算机赢”退出程序               }             Flag1;        //下一步轮到对弈者走棋            }          Else             报告平局退出程序。       }      Else            //对弈者走棋 {         扫描棋盘矩阵          If(存在空单元)            {             置该单元为’X’             If有三个’X’在一条线上             {                 输出棋盘矩阵                 输出“恭喜你你赢了”退出程序             }             Flag0;        //下一步轮到计算机走棋            }          Else             报告平局退出程序。     }   //else    }  //while }   //main 其中扫描棋盘矩阵可以自行设计函数最简单的方式是按行或按列扫描棋盘找到空位就布棋判断三点是否连成一条直线的操作比较简单读者自己思考。 六、通讯录管理系统 1、需求分析    信息记录要存放到文件中去因而要实现文件的输入输出操作要实现数据的插入、删除、修改和显示功能因而要实现插入、删除、修改和显示操作要实现按人名或电话号码进行查询的功能因而要提供查找操作另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计    整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。 3、详细设计    采用结构体数组。 Struct {   Char name[20];    //人名   Char post[20];     //工作单位   Int  tel;         //电话号码   Char email[20];   //email地址 }TelInfo;   //电话簿信息结构体 TelInfo telInfo[N];   //电话簿信息结构体数组 1数据插入模块 输入数据然后采用追加方式写文件以”wb”方式打开文件再用fwrite写入。 2数据修改模块 通过菜单选择修改姓名、电话号码。可以把要修改的姓名或电话号码存储在临时变量里面然后读文件找到要修改的记录把该记录重新以新的值写入。 3数据删除模块 删除一条记录则输入要删除的人名然后读文件把文件中读出来的记录的人名与待删除的人名比较如果不匹配则重新写入文件否则舍弃不再写入文件。 4数据显示模块     采用分屏显示每屏10条记录。用fread或fscanf读文件输出结果。 5数据查询模块 用基本查找算法对电话簿实现按人名或电话号码的查询读文件把读出记录得相应字段与输入的查询字段比较并把结果输出。     七、投票程序 1、需求分析 实现键盘输入投票人数和投票结果进行统计时实现排序功能输出结果。 2、总体设计    该程序可以分为数据输入部分和统计部分。 3、详细设计    采用结构体  Struct {   Char code;  //代号   Int  score;  //得分 }Candidates[N];  //候选人结构体数组 这里#define N 3;   采用二维数组则行方向对应一张投票列方向对应各候选人得分。   Candidate[M][N];     1输入部分   Char tmp[3];   //存放投票的中间变量 输入投票人数n   For(i0;in;i)   //投票  {    Scanf(“%s”,tmp);  If(tmp[0]tmp[1]||tmp[1]tmp[2]||tmp[0]tmp[2])  Printf”该票无效”  Else  {       Tmp[0]号候选人加5分       Tmp[1]号候选人加3分       Tmp[2]号候选人加2分    } }  2统计部分 对候选人按照他们的得分排序冒泡、插入、选择等然后比较前两名得分是否相同。如果相同则显示“重新投票”否则显示三个候选者得分并输出“祝贺X当选冠军”X为最高分候选者。 八、销售管理系统 问题分析 数据结构采用结构体设计便条结构体    Struct sellNote {     Int sellerNo;  //销售员代号(1-4)     Int proNo;   //产品代号(1-5)     Float sellMoney;   //销售额 }SNote; 便条信息采用文件存储实现建立文本文件。 主函数输出提示菜单让用户选择查看不同信息。 1个人销售额查看 计算上个月每个人每种产品的销售额。设立count[4][5]用来存储4个销售员的5种产品的销售额。读文件把相同销售员的相同产品的销售额累加写入count中。最后count[i][j]中存放的就是第i1个销售员的第j1种商品的销售额。 2销售额排序   类似个人销售额的计算这里把一个销售员的所有产品的销售额累加存放到一个临时数组中再对数组进行排序即可。 3产品销售额 操作与2类似。 4统计报表 可以先采用1的操作再对count数组计算。count[i][0] count[i][1] count[i][2] count[i][3] count[i][4]既是第i个销售员的销售之和count[0][j] count[1][j] count[2][j] count[3][j] count[4][j]既是第j种产品的销售之和。所有count[i][j]的和既是总和。另外注意输出格式。 九、学生选修课程系统设计 1、需求分析     系统以菜单方式工作因而要提供键盘式选择菜单以实现功能选择由于课程信息要用文件保存因而要提供文件的输入输出操作由于要浏览信息所以要提供显示功能要实现查询功能故要提供查找操作。 2、总体设计    整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。 3、详细设计    数据结构采用结构体这里采用课程信息结构体和学生选课信息结构体。  Struct {   Char courseCode[10];   //课程编号   Char courseName[20];  //课程名称   Char courseType[10];  //课程类别   Int  totalPeriod;      //总学时   Int  classPeriod;     //授课学时   Int  experiPeriod;    //上机学时   Float creditHour;    //学分   Int  term;         //开课学期 }CourseInfo[N];   //课程信息结构体 Struct {   Int stuNo;  //学号   Char courseCode[10];   //课程编号 }StuCourInfo[N]; //学生选课信息结构体 (1) 信息输入模块   从键盘输入课程信息和学生选课信息写入文件。fwrite, fprintf (2)信息浏览模块   分屏显示课程信息每屏10条课程记录按任意键继续。从文件中读数据fread,fscanf然后再显示。 (3)信息查询模块    通过菜单选择查询字段可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找查找算法可以选择基本查找、二分查找等算法。    可以通过菜单选择课程编号在学生选课信息文件中查询该课程学生选修情况。 十、飞机订票系统设计 1、需求分析     航班信息用文件保存因而要提供文件的输入输出操作航班信息浏览功能需要提供显示操作要查询航线需要提供查找功能另外要提供键盘式选择菜单以实现功能选择。 2、总体设计    该系统设计为航班信息输入模块、航班信息浏览模块和航线查询模块。 3、详细设计    数据结构采用结构体数组设计航班结构体如下 Struct {    Char flightNo[10];   //航班号    Char start[10];      //起始站    Char end[10];       //终点站    Float day;          //飞行时间    Int  totalTicket;     //预售票总数    Int  sellTicket;      //已售票总数 }Flight[N];  //航班结构体 1航班信息输入模块 采用fwrite或fprintf把航班信息写入航班信息文件。 2航班信息浏览模块     分屏显示航班信息每屏10条记录按任意键显示下一屏。读文件采用fread或fscanf然后显示即可。 3航线查询模块     通过菜单选择查询方式提供按照航班号、起点站、终点站和飞行时间查询。采用基本查找算法即可。 十一、职工信息管理系统设计 需求分析 系统要以菜单方式工作因而要提供键盘式选择菜单以实现功能选择职工信息采用文件保存因而要提供文件的输入输出操作要实现职工信息的浏览功能则要提供信息显示操作要实现职工信息查询功能则要提供查找操作按学历查询和按职工号查询两种查询方式要实现职工信息删除、修改功能则要提供文件记录的删除、修改操作。 总体设计 整个系统被设计为职工信息输入模块、职工信息浏览模块、职工信息查询模块和职工信息删除与修改模块。 详细设计 数据结构采用结构体设计职工信息结构体 Struct employeeInfo {   Char jobNo[10];  //职工号   Char name[20];  //姓名   Char sex;       //性别   Int age;        //年龄   Char eduLevel[10];  //学历   Float salary;    //工资   Char addr;     //地址   Char tel[11];    //电话 }EmpInfo;   //职工信息结构体 1职工信息输入模块 采用fwrite或fprintf把职工信息写入航班信息文件。 2职工信息浏览模块 分屏显示职工信息每屏10条记录按任意键显示下一屏。读文件采用fread或fscanf然后显示即可。 3职工信息查询模块 通过菜单选择查询方式提供按学历查询和按职工号查询两种查询方式。采用基本查找算法即可。   4职工信息删除与修改模块 通过菜单选择删除操作由于C语言没有提供直接删除文件记录的函数因而需要自己实现读记录判断是否要删除与输入的要删除的记录比较如果要删除则舍弃否则重新写入文件。修改操作于删除操作类似只是判断是否是要修改的记录如果是则把修改后的记录写入文件否则直接写入文件。 十二、图书信息管理系统设计 需求分析 系统以菜单方式工作提供键盘式选择菜单以实现功能选择图书信息采用文件保存因而要提供文件的输入输出操作要实现图书信息的浏览功能则要提供信息显示操作要实现图书信息查询功能则要提供查找操作提供按书名、作者名查询两种查询方式要实现图书信息删除、修改功能则要提供文件记录的删除、修改操作。 总体设计 整个系统被设计为图书信息输入模块、图书信息浏览模块、图书信息查询模块和图书信息删除与修改模块。 详细设计 数据结构采用结构体设计图书信息结构体 Struct {   Char loginNo[10];    //登录号   Char name[20];      //书名   Char author[20];     //作者名   Char classNo[10];    //分类号   Char publisher[10];   //出版单位   Char pubTime[20];   //出版时间   Float price;         //价格 }bookInfo;   //图书信息结构体 1图书信息输入模块 采用fwrite或fprintf把图书信息写入图书信息文件。 2图书信息浏览模块 分屏显示图书信息每屏10条记录按任意键显示下一屏。读文件采用fread或fscanf然后显示即可。 3图书信息查询模块 通过菜单选择查询方式提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。 4图书信息删除与修改模块 通过菜单选择删除操作由于C语言没有提供直接删除文件记录的函数因而需要自己实现读记录判断是否要删除与输入的要删除的记录比较如果要删除则舍弃否则重新写入文件。修改操作于删除操作类似只是判断是否是要修改的记录如果是则把修改后的记录写入文件否则直接写入文件。 十三、图书管理系统设计 需求分析 图书管理信息采用文件保存因而要提供文件的输入输出操作要实现对图书基本信息的查询则要提供查找操作提供按书名、作者名查询两种查询方式和显示操作要实现对撤销图书信息的删除则要提供文件记录的删除操作办理借书或还书手续需要提供修改操作另外还要提供键盘式选择菜单以实现功能选择。 总体设计 整个系统被设计为数据输入模块、数据查询模块、数据删除模块和数据修改模块。 详细设计 数据结构采用结构体设计图书信息结构体 Struct bookManageInfo {   Char bookName[20];     //图书名称   Char bookCode[20];      //图书编号   Float price;             //图书价格   Char author[10];         //作者   Int state;               //存在状态0代表可以出借1代表已经借出   Char borrowerName[10];  //借书人姓名   Int sex;                //借书人性别0代表女1代表男   Char stuNo[10];         //借书人学号 }bookMInfo; 1数据输入模块 采用fwrite或fprintf把图书基本信息写入图书信息文件。 2数据查询模块 通过菜单选择查询方式提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。        3数据删除模块        通过菜单选择删除操作由于C语言没有提供直接删除文件记录的函数因而需要自己实现读记录判断是否要删除与输入的要删除的记录比较如果要删除则舍弃否则重新写入文件。        4数据修改模块        办理借书手续时先要在文件中查找要借的书的存在状态若可以出借则允许借出把借书人姓名、性别和学号添加到该书的记录中并把存在状态改为已经借出否则显示“抱歉该书已借出”。办理还书手续时在文件中查找该书的记录然后把存在状态改为允许出借把借书人姓名、性别和学号删除。具体修改操作可以参考删除操作。 十四、实验设备管理系统设计 需求分析 实验室设备信息用文件存储故要提供文件的输入输出操作要能够完成设备的录入和修改需要提供设备添加和修改操作实现对设备进行分类统计需要提供排序操作实现对设备的查询需要提供查找操作另外还要提供键盘式选择菜单以实现功能选择。 总体设计 整个系统被设计为实验设备信息输入模块、实验设备信息添加模块、实验设备信息修改模块、实验设备分类统计模块和实验设备查询模块。 详细设计    数据结构采用结构体设计实验设备信息结构体 Struct equipmentInfo {   Char equipCode[10];  //设备编号   Char equipType[20];  //设备总类   Char equipName[20]; //设备名称   float equipPrice;    //设备价格   char buyDate[20];   //设备购入日期   int  scrap;         //是否报废0表示没有报废1表示报废   char scrapDate[20];  //报废日期 }EquInfo; 实验设备信息输入模块 采用fwrite或fprintf把实验设备基本信息写入实验设备信息文件。 实验设备信息添加模块 添加设备时采用fwrite或fprintf把添加的设备基本信息采用追加的方式写入设备信息文件。 实验设备信息修改模块    修改设备信息则需要读文件判断信息是否是要修改的设备的信息如果是修改重新写入文件否则直接重新写入文件。 实验设备分类统计模块 根据给定的分类标准设备种类、设备名、设备购入日期对文件的记录进行排序排序方法可以选择冒泡、插入、选择等方法。然后采用查找算法查找同类设备采用基本的数学运算即可统计同类设备的相关信息比如数量、价钱等。 实验设备查询模块 通过菜单选择查询方式提供按设备编号、设备种类、设备名称、设备购入日期和设备状态为正常scrap字段值为0这些查询方式查询。采用基本查找算法即可。 十五、手机通信录管理系统设计 需求分析 手机通信录采用文件存储因而要提供文件的输入输出操作查看功能要提供显示操作增加新数据的过程要检查是否有重复存储空间是否已满且录入的新数据能按递增的顺序自动进行条目编号因而要提供查找、统计和排序操作要提供修改与删除和自动调整编号功能另外还要提供键盘式选择菜单以实现功能选择。 总体设计 整个系统可以设计为数据查看模块、数据添加模块、数据修改模块、数据删除模块。 详细设计 数据结构采用结构体设计通信录结构体 Struct communicationMethod {   Char name[20];    //姓名   Char tel[12];      //电话号码   Int  type;        //分类0表示办公类1表示个人类2表示商务类   Char email[20];   //电子邮件地址   Int num;        //条目编号 }ComMtd; 1数据查看模块 通过菜单选择查看信息然后选择办公类、个人类或者商务类则显示所选类信息列表。这是一个查找与显示的过程在手机通信录文件中查找type类型符合的记录输出。    2数据添加模块      首先查看信息条数是否超过15如果超过则提示“通信录已满”返回上级菜单否则提示输入一条记录将对通信录执行查找操作查找姓名和电话号码字段如不存在相同的记录则用fwrite以追加方式写入文件并给记录的条目字段赋值在检查有无重复的过程中启动计数否则提示“数据已经存在请重新输入或者取消”。    3数据修改模块     修改通信录信息则需要读文件判断信息是否是要修改的信息如果是修改重新写入文件否则直接重新写入文件。    4数据删除模块 通过菜单选择删除操作由于C语言没有提供直接删除文件记录的函数因而需要自己实现读记录判断是否要删除与输入的要删除的记录比较如果要删除则舍弃否则重新写入文件。 十六、简单的行编辑器 问题分析 采用二维数组处理设立二维数组edit[M][N]。M行每行可存N个字符。用getchar()输入单词之间用空格隔开空格也会作为字符存入当捕获回车字符‘\n’时则换行即M。 采用文本形式存储只需要提供写文件操作即可fprintf,fwrite的用法。 查找、替换、修改操作对文件进行。文件的查找、替换和修改操作可以参考前面的介绍。 十七、银行卡管理系统 银行卡信息采用结构体设立银行卡信息结构体 Struct creditCard {   Char cardNo[20];   //卡号   Char name[20];    //持卡人姓名   Char ID[20];      //持卡人身份证号码   Char password[20]; //密码   Int  flag;        //标志该卡是否启用0表示未启用1表示启用   Float account;     //账户金额   Int integral;       //积分 }CCard; 1制卡指申请一个银行卡。即建立一个CCard对象输入信息对其初始化。 2账户信息存储到账户信息文件中当制作一新卡时就把该新卡追加到账户信息文件。对账户信息的管理需要实现账户信息查询用基本的查找算法按卡号对账户信息文件进行查找并打印输出。 3实现卡交易和合法性检查。用户首先依靠卡号和密码登陆通过查找账户信息文件来查看卡号和密码是否正确匹配输入交易金额如果account输入金额则输出“交易成功!”并更改accountaccount-输入金额。否则输出“对不起您的余额不够”。 4实现卡金融交易积分功能。在把积分初始化为0只需在卡交易的时候把交易金额取整加到积分上。 5实现卡报表功能。读账户信息文件分屏输出所有账户的帐号和交易金额。 十八、组数游戏 问题分析 1输入正整数的个数n输出n个数连接成的最大的多位数。找出n个数中最大数字的位数然后将所有的数字通过后面补零的方式扩展成为最大位数。把变换后的n位数从大到小排序然后把添加上的零去掉按顺序输出的序列即为所求的最大数字。 2数据结构采用结构体,由于正整数的位数不确定可能非常大所以数据类型采用字符数组。 Struct {   char data[20];     //数据   char ext_data[20];  //扩展数据 }Elem[N];    //结构体数组 N可以在宏定义中定义#define N 20 3算法流程 输入正整数个数n Max0;   //Max存储最大位数 //输入正整数并计算最大位数 For (i0;in;i) {   输入Elem[i].data;   Strcpy(Elem[i].ext_data,Elem[i].data);   Tmpstrlen(Elem[i].data);   //计算输入数字的位数   If(TmpMax)      MaxTmp; } //计算扩展数字 For (i0;in;i) {   tmpstrlen(Elem[i].data);   //计算输入数字的位数   mMax-tmp;    //m为需要补0的个数   定义一个m个’0’的字符串tmp_str   Strcat(Elem[i].ext_data,tmp_str); }    //排序 任选一中排序算法冒泡、插入、选择等对数字结构体数组按照ext_data从大到小排序。    //输出    按序输出结构体数组中data数据。 十九、仪器仪表管理 1、需求分析 仪器仪表信息用文件存储故要提供文件的输入输出操作要能够完成对仪器仪表信息的修改和删除需要对提供仪器仪表信息修改和删除操作实现对仪器仪表信息的查询和统计及显示操作另外还要提供键盘式选择菜单以实现功能选择。 2、总体设计    整个仪器仪表管理系统分为仪器表信息输入模块、仪器表信息修改和删除模块、仪器表信息查询和统计模块。 3、详细设计   数据结构采用结构体   Struct instrumentInfo   { Char instrName[20];   //仪器仪表名 Char instrNo[10];     //仪器仪表编号 Char buyDate[20];    //购买时间 Char borrowDate[20]; //借入时间 Char lendDate[20];   //借出时间 Char returnDate[20];  //归还时间 Char repairDate[20];  //维修时间 Int state;            //状态信息0代表可借出1代表已借出2代表正在维修   }InstrInfo; 1输入模块 采用fwrite或fprintf把仪器仪表信息写入仪器仪表信息文件。 2修改和删除模块 通过菜单选择借出操作查找文件仪器仪表信息找到相应的仪器仪表如果仪器仪表状态为0则允许借出在文件中更改仪器仪表状态为1更改借出时间否则即仪器仪表借出或正在维修则输出“抱歉仪器仪表已借出正在维修”这个过程是一个对文件查找读文件、判断是否是要查找的纪录、重新写入的过程。 删除操作只需读文件判断所读纪录是不是要删除的记录如果是则舍弃否则重新写入文件。 3查询和统计模块     通过菜单选择查询或统计操作若选择查询则需要再选择查询方式基本信息、时间段、时间点。基本信息查询就分屏每屏10条信息显示所有记录这是一个读文件和输出的过程。时间段查询则要输入起止时间和表征字段可以用0表示购买起止时间1表示借出起止时间2表示维修起止时间。例如输入2004 1 1  2004 10 10  0 表示查询2004年1月1日到2004年10月10日之间购买的仪器仪表信息。则读一条记录判断购买时间是否处于起止时间之间如果处于则打印输出否则舍弃。借出和维修查询与此类似。 统计功能和查询功能类似只需要加一个计数变量即可。 二十、服装销售系统 1、需求分析    用户与商品信息要采用文件存储因而要提供文件的输入输出操作实现用户的添加、修改、删除商品信息的添加、修改、删除、查找等需要提供信息的添加、删除、修改与查找操作实现商品浏览功能的实现需要实现显示操作另外还要提供键盘式选择菜单以实现功能选择。 2、总体设计    整个服装销售系统被设计为管理员模块、店长模块、销售员模块、商品模块等如下图所示另外还要实现各用户自身信息的管理。     3、详细设计    数据结构采用结构体构造结构体如下 Struct goods        //商品 { Char name[10];    //商品名 Char code[10];     //商品代码 Char producer[10];  //制造商 Float price;        //价格 }Goods; Struct administrator     //管理员 {    Char ID[10];          Char password[10];    …                //其他信息     }Admin; Struct shopkeeper     //店长 {    Char ID[10];    Char password[10];       …                    //其他信息 }Shkpr; Struct seller     //销售员 { Char ID[10];     //营业ID号 Char name[10];   //姓名 Char ID[10];     //所属店长ID号 Goods *good;    //指向该销售员销售的商品信息 …             //其他信息 }Seller; Struct goods_report   //商品报表 { Goods good;     //商品 Seller assistant;   //营业员 Char sell_data[20]; //出售日期 }     先建立文本文件Admin.txt其中存放管理员的ID和密码及其它信息文本文件Shopkeeper.txt其中存放店主的用户名和密码及其它信息文本文件Seller.txt,其中存放销售员的ID和密码及其他信息。 登录系统时通过菜单选择登录身份然后提示输入用户ID和密码。 如果以管理员身份登录则在Admin.txt文件中查找采用基本的查找算法输入的用户ID和密码是否存在如果存在则允许进入显示选择菜单修改密码  添加用户  用户信息  商品信息否则显示“输入的用户名或密码错误”返回上级菜单。 店长与销售员登录系统与此类似店长登录成功后显示选择菜单为修改密码  修改个人信息  商品信息   查看报表  商品储备信息。销售员登录成功后显示选择菜单为商品浏览  查找商品  出售商品  本日报表   本月报表 密码修改与个人信息修改既是写入新的密码、个人信息覆盖掉原来的就是文件的读写操作。在登录成功后就标志出登录人员的纪录位置这样修改信息时可以直接定位到修改记录的位置。 管理员添加用户就是执行文件写操作采用追加的方式把用户信息写入用户信息文件根据添加的用户身份选择写入Shopkeeper.txt还是Seller.txt。删除用户操作读取用户信息文件如果读出的用户不是要删除的用户则直接重新写入文件否则舍弃。 管理员选择用户信息将进入用户信息修改和用户信息统计的选择。用户信息修改操作即查找要修改的用户信息文件找到要修改的用户写入修改后的信息覆盖掉原始信息。用户信息统计操作读用户信息文件比较统计信息字段符合统计要求则计数加1最后输出符合条件的记录数也可以把符合条件的记录信息完全输出。 管理员选择商品信息则可以选择商品信息添加、修改、删除、查找、统计商品信息的添加、修改、删除、统计操作与用户信息的相应操作类似。查找操作只需采用基本的查找算法查找商品信息文件即可。 店长修改密码和修改个人信息操作与管理员相应操作类似。 店长的商品信息可以选择商品信息修改和商品信息统计此类操作与管理员的相应操作相同。 店长选择查看报表则显示选择菜单日报表  月报表  商品销售量报表  营业员业绩报表。查看日报表根据输入的日期在商品报表文件中查找把出售日期与输入日期符合的记录输出。查看月报表操作类似查找商品报表文件中商品出售日期在输入月份之间的记录输出。商品销售量报表这是一个统计的过程查找商品报表统计同一商品的销售量月销售量、年销售量。查看营业员业绩报表则读销售员信息文件把信息打印输出即可。 店长查找浏览修改商品储备信息查找与修改操作可以参考管理员对商品的查找与修改操作浏览操作就是把商品储备信息分屏输出每屏10条记录按任意键继续。这些操作在该店长对应的商品储备信息文件中执行。 [注每个店长对应一个商品储备信息文件里面存放该店储备的商品信息。 文件格式 店长ID   商品名  商品代号  制造商  价格…] 销售员可以选择商品浏览、查找、出售商品、察看自己本日报表、本月报表。商品浏览、查找以及查看自己本日报表、本月报表可以参考前面相关操作。出售商品操作执行的动作是在本店的商品储备文件中查找要出售的商品如果存在则出售在商品报表文件和销售员销售文件中添加该商品信息并把该商品信息从商品储备文件中删除。 二十一、歌星大奖赛 1、问题分析     对于要求1输入10个评委的打分假设分数存放在数组score[10]中然后对分数由高到低排序冒泡、插入、选择法选手最后得分为score[1]score[2]…score[8]/8。 对于要求2最不公平的评委比较容易找到就是把最高分score[0]和最低分score[9]分别与1得到的平均分比较差值较大的那个就是最不公平的评委。找最公平的评委可以先把中间元素score[5]与平均分比较计算差值然后往前推计算score[4]、score[3]如果差值比上一次计算所得值大则停止再往后推计算score[6]与平均值的差值并与前面得到的最小差值比较如果大于最小差值则得到最小差值的评分对应的评委就是最公平的评委如果小于最小差值则把最小差值改为score[6],并继续比较score[7]直到所得差值比上一次计算所得值大。 2具体实现      数据结构采用结构体      Struct judge      {         Float score;        //评委打分         Int  judgeNo;  //评委号码      }Judge[10];    //评委结构体数组     核心程序一次循环处理一个歌手。 While(还有歌手) {    //输入10个评委的打分    Fori0;i10;i {         Scanf(“%f”,Judge[i].score);      Judge[i].judgeNoi;  }   //输出最后得分 evenScore0; For(i1;i9;i)      evenScoreJudge[i].score; evenScore/8; //评选最公平与最不公平评委 … } 二十二、杂志订阅管理软件 1、需求分析    订户的信息要用文件存储所以要提供文件的输入输出操作要实现增加新订户的功能所以要提供文件的添加操作要实现对订户文件的查询所以要提供文件的查找操作要删除已到期的订户记录所以要提供文件的删除操作要统计本期杂志订户数并打印运算结果所以要提供统计和显示操作另外还要提供键盘式选择菜单以实现功能选择。 2、总体设计    该管理软件被设计为数据添加模块、数据删除模块和数据统计模块。 3、详细设计   数据结构选择结构体   Struct subscriberInfo  {    Char name[20]; //姓名 Int sex;         //性别 Char addr[20];   //地址 Char tel[12];    //电话号码 Float price;     //杂志单价 Int num;       //订阅数 Char date[10];   //订阅的期限  }subInfo;                 //订户信息结构体 1数据添加模块  用追加的方式采用fwrite或fprintf把新增订户信息写入订户信息文件。 2数据删除模块 采用基本的查找算法查找订户信息文件比较当天日期和订阅期限如果到期则删除该订户记录。删除方法如果判断该条订户信息要删除则不再把该条信息写入文件继续读下一条订户信息。 3数据统计模块 对本期杂志订户数的统计就是读文件输出订户名、订阅数、单价并计算金额单价*订阅数。fread或fscanf读文件printf输出结果可以定义变量统计订户数、订阅数和总金额最后输出。 二十三、人事管理 1、需求分析    人事档案信息采用文件存储因而要提供文件的输入输出操作根据学院人事的变动情况添加删除记录因而要提供文件的添加删除操作根据编号和姓名进项查询所以要提供文件的查找操作高级编辑功能就是提供文件的修改操作统计功能要提供统计操作排序功能要提供用排序算法对文件记录的排序另外还要提供键盘式选择菜单以实现功能选择。 2、总体设计    整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。 3、详细设计   数据结构采用结构体 Struct personnelArchiveInfo {   Char No[10];       //编号   Char name[10];     //姓名   Int sex;           //性别   Int age;           //年龄   Char job[10];      //职务   Char post[10];     //职称   Char politic[10];    //政治面貌   Char edu_level[10];  //最高学历   Char period[10];    //任职时间   Char start_time[10];  //来院时间   Char type[10];       //人员类别 }PAInfo; 数据输入模块    采用fwrite或fprintf把员工信息写入人事档案文件。 数据添加模块    用追加的方式采用fwrite或fprintf把新增员工信息写入人事档案文件。 数据删除模块 根据人员编号查找要删除的人员从文件中读一条记录查看编号是否要删除如果是则舍弃不再写入文件否则重新写入文件。 数据查询模块      把编号和姓名作为查询字段用基本查找算法查找人事档案文件把符合查找要求的记录输出。 数据修改模块     查找要修改的记录修改之。先用fread或fscanf读记录若是要修改的记录则修改信息把修改后的信息写入文件否则直接写入文件。 数据排序模块     通过菜单选择年龄或者来院时间把数据从文件中读出来任意选择一种排序算法对记录进行排序输出排序结果。 数据统计模块 通过菜单选择统计字段在职人数、党员人数、女工人数、高学历人数、高职称人数。 例如选择党员人数则统计运算伪码如下 Count0;    //记录在职人数 While文件未读完 {    读一条记录    If(政治面貌是党员)    {       Count;     输出该条记录 } 其他字段的统计运算与次类似。 二十四、方格网上观测数据的窗口滑动平均处理 1、问题分析 M行N列方格网数据事先存放在文件中在处理过程中可以采用二位数组存储然后根据9点圆滑或者25点圆滑对观测数据进行滑动窗口平均处理计算结果写入结果文件。 2、实现过程 建立原始数据文件data.txt其中第一行写明行数M和列数N。然后从第二行开始存放方格网数据数据顺序按行存放。建立结果文件result9.txt和result25.txt分别存放9点和25点滑动平均处理结果。算法流程如下 读data.txt得到M和N的值 new init_data[M][N];    //开辟一个数组 读data.txt中的方格网数据到init_data数组中 提示用户选择9点还是25点 If选择9点 {   对观测点数据进行9点滑动平均处理把处理结果存入result9.txt; } If(选择25点) {   对观测点数据进行25点滑动平均处理把处理结果存入result25.txt; } 这里简单介绍下观测数据的9点滑动平均处理25点于此类似。 如下图 a[i-1][j-1] a[i-1][j] a[i-1][j1] a[i][j-1] a[i][j] a[i][j1] a[i1][j-1] a[i1][j] a[i1][j1] 对于a[i][j],其将成为9点窗口的中心因而a[i][j] (a[i-1][j-1] a[i-1][j] a[i-1][j1] a[i][j-1] a[i][j] a[i][j1] a[i1][j-1] a[i1][j] a[i1][j1])/9 对于窗口跨越观测区域内外的边缘点只取其中落在观测区域内的数据参加平均值计算。假设a[i][j-1]为边缘点即左侧没有数据则a[i][j-1](a[i-1][j-1]a[i-1][j]a[i][j-1]a[i][j]a[i1][j-1]a[i1][j])/6。 二十五、机房机位预约模拟 1、数据结构 顾客信息结构体 Struct CusInfo {    Char name[20];//顾客姓名    Int sex;      //性别    Char tel[11];  //电话 }CInfo; 机位信息结构体 Struct {    Int  State[6];     //机位状态每2个小时为一个时间段0800-2000共6个时间段。0表示有空机位1表示没有空机位    CInfo waitlist[6];  //各个时间段的运行客户    Int  year;    Int  month;    Int  day;       //日期 }PCInfo; PCInfo  info[100];   //存放100天的机位信息 2、具体实现 1查询     输入时间则遍历info数组,查看日期year/month/day如果日期匹配则把机位信息输出。 2机位预订 输入日期或时间段查询机位信息文件如果日期符合再查看状态字段若相应字段为0则预约即把该用户信息加入写入机位waitlist相应时间段中若相应字段为1则查看本天其他时间段寻找最近空时间段。如果用户要求在非空时间上机则查找info数组中该时间段为空的元素把该时间段的状态字段设为1把用户信息加入机位当天waitlist相应时间段中。 3退出预订      根据预订日期和客户信息找到预订信息把客户信息删除并把该时间段的状态置为0。 4查询 输入日期和时间段查看该时间段的状态如为1则把相应时间段的运行客户信息打印输出。如为0则显示“该时间段空闲”。 二十六、停车场管理1 1、问题分析 根据题目要求停车场可以用一个长度为n的堆栈来模拟。由于停车场内如有某辆车要开走在它之后近来的车都必须先退出停车场为它让路待其开出停车场后这些车辆再依原来的次序进场。所以可以设两个堆栈。 2、实现过程     #define n 30 设立两个长度为n的堆栈park[n],temp[n]。汽车信息采用结构体存储设立汽车信息结构体 Struct carInfo {    Char action;   //到达‘A’还是离去‘D’或者结束标志‘E’。    Int  carNo;    //汽车牌照号码    Int  schedule; //到达/离去的时刻    Int  flag;     //标志汽车是否进入了停车场0表示在停车场1表示在便道上 }CInfo; 3、主体算法流程 While(输入信息’E’,0,0) {   If(action’A’)   {      If(park堆栈未满) {     把flag标志置为0 该汽车信息进堆栈         输出“停在停车场” } Else {    把flag标志置为1    输出“停在便道上” }    }  If(action’D’) {   If(flag1)  //停在便道上     输出“该车在便道上不用交费直接开走”   Else   {     While(park堆栈栈顶元素出堆栈执行pop操作) { if(栈顶元素的carNo输入的carNo) { 输出”该车在停车场的停留时间**应交费”;停留时间离去时刻-到达时刻交费金额单价*停留时间单价自己设定 temp堆栈中的元素依次出堆栈pop同时进park堆栈push。 Break;  } Else   栈顶元素进temp堆栈push;       } } } 二十七、停车场管理2 1、需求分析    车辆信息要用文件存储因而要提供文件的输入输出操作当车离开时要删除文件中该车的信息因而要提供文件的删除操作另外还要提供现实操作和用键盘式菜单实现功能选择。 2、总体设计    整个管理系统可以设计为停车模块、取车模块、车辆信息浏览模块。 3、详细设计  停车场用二位数组实现park[2][6];   //2层每层有6个车位    每辆车的信息用结构体来实现设立车信息结构体    Struct carInfo    {       Int carNo;     //车牌号       Int layerNo;   //层号       Int parkNo;   //车位号       Int time;     //停车时间    }CInfo;     1停车模块     对车辆信息赋值分配前检查车位使用情况按行查找park数组元素为0表示车位为空则允许分配。把新添加的车辆信息以追加的方式用fwrite写入汽车信息文件并更改汽车信息文件中其他汽车信息的停车时间停车时间加5。 2取车模块 计算费用停车费用停车时间*0.2元从文件中删除该车信息。并将该车位对应的二位数组变量设为0表示该车位可用。输出提示信息是否输出停车费用总计Y/N如果选择Y则输出停车费用否则回到上级菜单。 3车辆信息浏览模块 输出车辆信息文件中的记录。 另外用户按Esc键退出系统。 二十八、建筑工地信息管理 1、需求分析 信息采用文件存储因而要提供文件的输入输出操作要插入数据因而要提供数据的添加操作要实现数据的删除、更新和查询因而要提供文件记录的删除、修改和查找操作另外要提供键盘式选择菜单以实现功能选择。 2、总体设计    整个系统可以被设计为数据输入模块、数据添加模块、数据删除模块、数据更新模块和数据查询模块。 3、详细设计    数据结构采用结构体建立四个结构体  //销售商-配件-建筑工地结构体   Struct SellerFitBuild {    Char seller_code[10];  //销售商号码    Char fit_code[10];    //配件号    Char build_code[10];  //工地号    Int   num;          //销售数量 }SFB;          //seller_code号销售商销售num个fit_code号配件给build_code工地 //建筑工地 Struct BuildingSite {    Char build_code[10];  //工地号    Char build_name[10];      //工地名    Char city[10];       //城市 }BS; //配件 Struct Fitting {    Char fit_code[10];    //配件号    Char fit_name[10];    //配件名    Char color[10];       //配件颜色    Float weight;        //配件重量    Char city[10];       //配件产地 }Fit; //销售商 Struct Seller {    Char seller_code[10];  //销售商号码    Char seller_name[10];  //销售商名字    Char city[10];        //销售商城市 }Seller; 1主函数建立四个文件输出提示用户操作的信息选择操作文件R[销售商-配件-建筑工地]B[建筑工地]F[配件]S[销售商]空格键[查询]。 2数据输入模块 用fprintf或者fwrite写数据到相应文件中。 3数据插入模块 采用追加的方式写数据到文件。 4数据删除模块 通过菜单选择相应的文件后用fopen打开该文件从文件中读一条记录判断是否要删除如果是则舍弃否则重新写入文件读下一条记录。 5数据更新模块    与数据删除模块类似只是判断所读的纪录是否要更新如果是则把更新后的纪录写入文件否则直接写入文件。 6按空格键进入查询操作    通过菜单选择查询零件-供应商或者项目-供应商。例如选择查询零件-供应商。其基本流程如下    打开销售商-配件-建筑工地文件    While(文件未结束)   {      读一条记录得到销售商号码和配件号      在销售商文件中查找该销售商号码得到该销售商所在城市      在配件文件中查找配件号得到该配件的产地      如果销售商所在城市与配件的产地相同则输出销售商号码和配件号码   } 查询项目-供应商记录对的操作类似只需把配件号改为工地号即可。 二十九、电影俱乐部 需求分析 DVD信息和俱乐部会员信息用文件存储因而要提供文件的输入输出操作要注册新会员因而要提供文件的添加操作实现按月缴纳费用因而要提供文件的修改操作要浏览信息因而要提供显示操作要实现查询则要提供文件的查找操作另外要提供键盘式选择菜单以实现功能选择。 总体设计 整体设计为会员注册模块、会员交费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块。 详细设计 采用文件管理信息建立两个文件DVD信息文件和会员信息文件。 数据结构采用结构体 //DVD信息结构体 Struct DVDInfo {    Char No[10];    //DVD编号    Char name[10]; //DVD名字    Int  state;      //DVD状态0表示已借出1表示可出借 }DI //会员信息结构体 Struct MemberInfo {    Char No[10];   //会员编号    Char name[10]; //会员姓名 Char password[20]; //会员密码    Float balance;  //账户余额    DI  borrowDVD[3];  //所借DVD信息    Int  state;   //表示租用DVD的数目取值为0-3 }MI; 分析 建立DVD文件和会员信息文件输出菜单新用户注册[N]  直接登录[Enter]。如果是新用户注册则进入用户注册模块。如果直接登录则提示输入用户名和密码。普通会员正确登录后显示租用DVD[H]  归还DVD[R]  缴纳费用[P]  账户信息[D]。按相应的提示键将进入相应的模块。管理员登录则显示DVD信息[D]    会员信息[M]    交易信息[T]。DVD信息查看就是分屏输出DVD文件中的记录会员信息就是分屏输出会员信息文件中的记录交易信息则输出租用DVD数不为0的会员信息。 1会员注册模块 提示输入用户信息会员编号昵称会员姓名密码。将把新的会员信息添加到会员信息文件中并把账户余额初始化为0所借DVD信息初始化为空。然后系统显示提示信息缴纳费用[Y/N]。按Y键将进入会员交费模块N则返回系统初始界面。 2会员交费模块     提示输入交费金额则在会员信息文件中修改其账户余额。 3会员租用DVD模块 可以通过菜单选择浏览DVD信息或者租用。浏览DVD信息调用信息浏览模块租用则首先查看自己的余额如果0则查看状态如果state3则允许出借提示输入租用的DVD编号在会员信息文件中加入该DVD信息state。并在DVD信息文件中把该DVD状态改为已借出。 4会员归还DVD模块    提示用户输入要归还的DVD编号把该用户记录的该DVD信息初始化为空state--。同时在DVD信息文件中把其状态改为可供出借。 5信息浏览模块    浏览DVD信息则采用fread或fscanf从DVD信息文件中读记录分屏输出。浏览会员信息文件则读会员信息文件输出。 6信息查询模块    会员对自己账户状况的查询则输出其账户信息即可登录时在会员信息文件中找到自身信息事先读到临时变量中。 管理员对所有交易情况的查看则查找用户信息文件如果用户的staet!0则输出用户信息。 三十、歌曲信息管理 1、需求分析 用文件存储信息因而要提供文件的输入输出操作可对歌曲信息进行输入、删除、浏览因而要提供文件的输入、删除和信息显示操作查询歌曲信息要提供查找操作实现按作者分组显示功能则要提供排序功能另外要提供键盘式选择菜单以实现功能选择。 2、总体设计    整个管理系统可以被设计为数据输入模块、数据删除模块、信息浏览模块、信息查询模块和信息分组显示模块。 3、详细设计    数据结构采用结构体建立歌曲信息结构体 Struct SongInfo {   Char name[20];   //歌曲名   Char author[20];  //作者   Char singer[20];  //演唱者   Char pub_date[6]; //发行年月yyyymm }SI; 数据输入模块 用fprintf或fwrite把歌曲信息写入文件。 数据删除模块 采用基本的查找算法查找歌曲信息文件如果是要删除的歌曲则舍弃改信息。否则重新写入文件。 信息浏览模块 用fscanf或fread读歌曲信息文件分屏显示输出每屏10条信息。 信息查询模块 通过菜单选择查询字段歌曲名  作者  演唱者。 然后采用基本查找算法在歌曲信息文件中查找如果找到则输出否则输出“对不起没有您要找的歌曲信息”。 信息分组显示模块 选择按作者分组显示歌曲信息用fread或fscanf把歌曲信息文件中的信息读取到临时变量中临时变量数据结构可以采用歌曲信息结构体数组采用排序算法冒泡、插入、选择等把歌曲信息按照作者排序然后分屏输出每屏10条记录。 三十一、交通处罚单管理 需求分析 交通处罚单信息用文件存储因而要提供文件的输入输出操作要求可以输入、删除、浏览交通处罚单信息因而要提供信息的输入、删除和显示操作要实现按车辆、驾驶员和开单交警查询则要提供查找操作另外提供统计操作和键盘式选择菜单以实现功能选择。 总体设计 整个管理系统被设计为信息输入模块、信息删除模块、信息浏览模块、信息查询模块和信息统计模块。 详细设计 数据结构采用结构体设计交通处罚单结构体   Struct TranficPunishBill  { Char carNo[10];    //车牌号 Char driverNo[20];  //驾照号 Char policeNo[10];  //开单交警号码 Char billNo[20];   //处罚单号码 Char time[12];  //处罚时间yyyymmddhhmm,年月日时分 }TPB; 1主函数提示用户选择功能输入  删除  浏览   查询  统计 2信息输入模块      采用追加的方式用fwrite或fprintf把处罚单信息写入处罚单信息文件。 3信息删除模块  输入处罚单号码然后在处罚单信息文件中查找该条处罚单删除之。具体删除操作用fopen打开该文件从文件中读一条记录判断是否要删除如果是则舍弃否则重新写入文件读下一条记录。 4信息浏览模块     采用fread或fscanf读处罚单信息文件分屏输出每屏10条记录。 5信息查询模块     通过菜单选择查询字段车辆   驾驶员    开单交警 分别按照车牌号、驾照号、开单交警号采用基本的查找算法查找交通处罚单信息文件如果找到相应得记录则输出处罚单信息否则输出“您所查找的信息不存在”。 6信息统计模块 提示输入驾驶员的驾照号和时间段。设置一个计数器初始化为0。采用基本算法查找交通处罚单信息文件比较驾照号如果驾照号匹配再看处罚单时间是否出于查询时间段内如果是则计数器加1并输出该处罚单号。文件查找结束后输出计数器的值。 三十二、学生证的管理程序 需求分析 学生证信息采用文件存储因而要提供文件的输入输出操作给定学号或班号做相应得操作要提供查找操作显示信息要提供显示操作修改和删除信息要提供文件的修改和删除操作提供一些统计各类信息的功能要实现统计操作另外提供键盘式选择菜单以实现功能选择。 总体设计 整个管理程序被设计为数据输入模块、数据查找模块、数据修改模块、数据删除模块和数据统计模块。 详细设计 数据结构采用结构体设计学生证信息结构体 Struct studentCard {   Char name[10];   Int  sex;      //0表示男1表示女   Char stuNo[10];  //学号   Int  classNo;    //班号 ……            //其他信息 }StuCard; 1主函数 主函数中显示功能菜单信息输入1  信息查找2  信息修改3  信息删除4  信息统计5   按相应的数字键则进入相应的计算模块。 2数据输入模块 输入学生的学生证信息把该信息以追加的方式写入学生证信息管理文件。 3数据查找模块 进入该模块首先显示提示菜单按学号查找1         按班级查找2 按学号查找则提示输入学号然后采用基本查找算法顺序查找在学生证信息文件中查找学号字段当找到该记录时则输出该学生信息停止继续查找。 按班级查找则提示输入班级班号然后采用基本查找算法顺序查找在学生证信息文件中查找班号字段如果班号匹配则输出该学生信息直到文件结束。 4数据修改模块     在主菜单中选择3则进入数据修改模块。屏幕上提示输入要修改的学生学号。输入学号后则采用基本查找算法找到该学生信息修改之。 5数据删除模块 与数据修改模块相似只是找到相应的学生信息后删除即不再写入文件。 6数据统计模块 提供对班级学生数、女生人数、男生人数的统计。通过菜单选择统计字段。建立一个计数器初始化为0。例如统计班级学生数则提示输入班号然后查找学生证信息文件比较班号如果匹配则计数器加1当文件结束后输出计数器的值。女生人数和男生人数的统计与此类似。 三十三、学生成绩管理程序 需求分析 学生纪录用文件存储因而要提供文件的输入输出操作要实现插入一个新的学生纪录因而要提供文件的插入操作要实现学生纪录得修改和删除以及登记成绩和修改成绩因而要提供文件纪录的修改和删除操作要浏览全班成绩故要提供显示操作计算学生总成绩需要提供简单的统计操作要按学号排序输出全班成绩表因而要提供排序操作另外要提供键盘式选择菜单以实现功能选择。 总体设计 整个成绩管理系统设计为数据插入模块、数据修改模块、数据删除模块、成绩登记模块、成绩修改模块、数据浏览模块、成绩统计模块、成绩表查看模块。 详细设计 数据结构采用结构体设计学生纪录结构体 Struct studentRecord {    Char stuNo[10];  //学号    Char name[20];  //姓名    Int  age;       //年龄    Float math;     //数学    Float English;  //英语    Float physics;  //物理 }SR; 1主函数输出提示菜单插入学生纪录   修改学生纪录   删除学生纪录  登记成绩 修改成绩  浏览学生纪录   查看总成绩     查看成绩表 2数据插入模块      采用追加的方式用fwrite或fprintf把学生成绩信息写入学生成绩信息文件。 3数据修改模块 通过菜单选择修改学生纪录用fopen打开该文件从文件中读一条记录判断是否要修改如果是则修改后重新写入文件否则直接重新写入文件读下一条记录。 4数据删除模块 通过菜单选择删除学生纪录用fopen打开该文件从文件中读一条记录判断是否要删除如果是则舍弃否则重新写入文件读下一条记录。 5成绩登记模块      类似数据修改模块只是修改字段为各个科目的成绩。 6成绩修改模块      参考数据修改模块。 7数据浏览模块      用fscanf或fread读取学生成绩信息文件分屏输出每屏10条纪录。 8成绩统计模块      用fscanf或fread从学生成绩信息文件中读取一个学生纪录计算该学生的总成绩简单的成绩相加输出然后读取下一条纪录。 9成绩表查看模块 建立结构体数组 Struct {    SR record;     //学生纪录    Float total;  //总成绩 }stu[N]; 从学生成绩信息文件中读取各个纪录total中存放计算得到的总成绩。然后采用排序算法冒泡、插入、选择等对数组按照总成绩进行排序。最后顺序输出。 三十四、客房管理系统 1、需求分析    实现用户登记功能要提供结构体的输入操作实现统计功能要提供相应的统计操作实现查询功能要提供查找操作实现修改功能要提供修改操作另外还要提供键盘式菜单实现功能选择。 2、总体分析    整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。 3、详细分析    数据结构采用结构体设计如下结构体 //客户结构体 struct   Client{               char   Name[20];   //姓名             int   Sex;        //性别0表示男1表示女             int   Age;       //年龄             char   ID_card[20];  //居民身份证               int   year;               int   month;               int   date;       //住店时间     };   //客房结构体   struct   Hotel{           int   Room_ID;  //房间号             int   Tel;      //电话         int   Price;    //价格           bool   Sign;  //标记房间是否为空房间             struct   Client   Client_list;  //实现两个结构体的嵌套     }Room[NUM];   用户登记模块      提示用户输入自身信息以及客房信息把数据存入Room数组中。 统计模块      设置计数器顺序遍历Room数组来实现。实现对房客数、某一天的房客数的统计。 查询模块      通过基本查找算法查找Room数组。可以按房间号、价格、房间标记、用户姓名、居民身份证查询。 修改模块      采用基本查找算法在数组中找到要修改的数据直接更改。 三十五、物资管理系统 根据要求整个管理系统被设计为信息输入模块、信息查找模块、信息插入模块、领料模块和打印功能模块。 数据结构采用结构体在题目要求中已给出这里采用了链表读者可以尝试把文件中的数据读入链表中然后查找操作就是对链表的遍历。也可以把struct product*next; {结点指针} 以及struct l_pro * next; {结点指针}从结构体中去掉采用结构体数组来做。 模块的分析如下 1信息输入模块      用fscanf或fwrite把物资信息录入pro.dat文件中。 2信息查找模块      用键盘菜单提示查找字段产品名称    进货日期   产品名称和库存量      按照产品名称查询采用基本的查找算法查找物资库存文件记录的p_name字段如果匹配则输出。 按照进货日期查询则查找in_date字段。提示输入查找日期检查日期是否匹配如果日期匹配则输出。 按照产品名称和库存量查询则提示输入产品名称和最小库存量那么首先查找p_name字段如果p_name字段匹配再看real_s字段如果输入的最小库存则输出其信息。     在查找过程中如果没有找到相应的记录则输出“not found!”。     3信息插入模块     信息插入模块所做的就是文件记录的添加操作采用fprintf或fwrite用追加的方式写入物资信息文件。 4领料模块     首先提示用户输入所要领的物资的名称或编号以及所领数量然后查找物资库存信息文件如果该物资存在且实际库存量满足则允许领料在领料文件中添加领料记录并在物资库存文件中修改实际库存量。 5打印功能模块   通过键盘菜单选择打印领料单或者物资库存清单显示结果分屏输出每屏10条记录。主要是文件的读操作fscanf,fread。
http://www.pierceye.com/news/609173/

相关文章:

  • 做一个宣传网站要多少钱东莞松山湖网站建设
  • 沧州网站制作的流程让蜘蛛不抓取网站的文件夹
  • 高端网站建设电话昆明做网站公司
  • 建网站一般用什么工具wordpress企业主题免费
  • 新手建设html5网站官方网站开发制作
  • 网页版拍图搜题seo的流程是怎么样的
  • 吴中区做网站那个网站可以找人做设计师
  • 光效网站网站建设方案浩森宇特
  • 亚马逊网站入口英文专业的网站设计
  • 赤水市白房建设局网站企业网站如何进行定位
  • 有私人做网站的吗网页界面设计方法
  • 免费 网站模板中国建设银行总行门户网站
  • 网站推广的方式公司组网
  • 推广 网站的优秀文案劳务输送网站建设方案
  • 特色的岑溪网站开发济南响应式网站开发
  • 网站源码官网招聘网站内容建设
  • 网站如何布局wordpress 商城系统
  • 深圳专业设计网站平台网站开发国内外现状研究
  • 哪个建站软件比较好带论坛无锡网站推广优化公司
  • 英文网站建设方案 ppt模板国内代理ip免费网址
  • 城乡建设网站 资料员深圳定制型网站建设
  • 浦江网站建设微信开发手机html编辑器
  • 做网站的个人总结论坛内网站怎么建设
  • 那里有个人做网站的如何建设网页制作的网站
  • 佛山网站建设玲念建站会议管理系统
  • 网站开发需要什么资质天马行空网站建设
  • 猎聘网网站建设目标怎么做网站上的模拟动画
  • 南通制作企业网站福州做网站设计
  • 上什么网站做会计教育wordpress cookies
  • 山东网站备案号四川省建筑信息网