C 语言课程设计报告 班学号: 学号: 姓名: 指导教师: 年 月 C 语言课程设计报告 题目要求 基本功能:代理商信息采集、浏览、查询;代理商信息的输入、浏览、修改、查询、统计等。 需求分析 实现代理商信息采集和代理商品信息输入功能,要提供结构体的输入操作;实现统计功能,要提供相应的统计操作;实现查询功能,要提供查找操作;实现修改弄能,要提供修改操作;另外,还要提供键盘式选择菜单以实现功能选择。 总体分析 整个系统应设计为代理商信息采集、浏览、查询;代理商信息输入、浏览、修改、查询、统计等模块。 数据结构 数据结构财通结构体数组。 算法设计 主菜单选择功能,通过判断输入的选择进入相应的处理模块,包括数据输入、数据统计、数据查询、数据删除等。程序流程如下图所示: 数据结构设计 程序定义了一个运营商加入日期的结构体: struct data { int year; //运营商加入的年份; int month; //运营商加入的月份; int day; //运营商加入的日期; }; 定义了运营商信息的结构体: struct acmer { int number; //运营商的编号; char name[20]; //运营商姓名; char agentnum[20]; //销售量; char phonum[20]; //电话号码; char goods[20]; //商品; struct data time; //加入日期; }; 模块设计 1 .主函数 Main 函数通过调用 menu 函数输入一个数字来选择用什么函数以实现相应功能,同时这个功能通过 switch 选择结构来调用: int main() { struct acmer agent[100]; int n,i,k; printf("请输入要统计的代理商数目:"); scanf("%d",&n); printf("请输入代理商信息:\n"); for(i=1;i<=n;i++) input(i,agent); menu(); while(scanf("%d",&k),k!=0) { switch(k) { case 1:for(i=1;i<=n;i++) {output(i,agent);}menu();break; case 2:stat(n,agent);menu();break; case 3:search(n,agent);menu();break; case 4:amend(n,agent);menu();break; case 5:sort(n,agent); for(i=1;i<=n;i++) { printf("[%d]",i); output(i,agent); } menu();break; case 6:n=add(n,agent);menu();break; case 7:cancel(n,agent);menu();break; default:printf("error\n");menu();break; } } return 0; } 2.menu函数 Menu 函数是用来辅助main 函数提供键盘是菜单以实现选择功能的: void menu() { printf("1 输出\n"); p...