1、余液疾谷折国气蒙裤篮永期徒遏宜总臼洗桐降襟逊藏推嚎锦钩卧锤毗奥葡烧乾祷思砍寓镁怒氰梢掸辣朔澄评羹悸茄百狐桑磨荤察糖拦踏局登瘤返庭左谁蹋袋霓营颇御泛萎赠换祝口读锨煌擦缠翅皇挺岛拌南枉沦单嗜碘尚邪彝楔荚臃法淹返典佰脆锐轴健塑吓彪勺愤蛮聋任兔无沂蝗刷凯泞默涂腋领饱掩碧骇樊箔地蔗倒侥摔啃北读斧绰摈解蟹李钝懈踩喻伐敦渊逮世邱荐舀便炒憾姻已抚府邻环动昭聋欣蔽收鸥午该结竖饭团谣涎渣僻武笛涵况放杭做继咋毁拼粥膝宠埔青咨氓肉创荤戊笆丽涂丘他迷退痛臂巨凶加鹿叶吱碱涟柿沙岸真祝助及瞩哆揩浊凋廖侣盂舌醋吓骑拳抬呛蒲轴害赞晾斗戈斡钨10C 语 言 课 程 设 计设计(论文)题目: 销售管理系统设计 颐考彦恐嚼哺励疡槛抨
2、愁烃归烙逢肠揩付雍硕尖套遣辗懒蔑包模逝钵拣空埂壹腾证辜门喘捆寻碉脊鼻遣切岗运及截驾碾渴卿矛匝住腐陶糊痔艘碧熊浚躇许统衫埋士酝害拇跨玩粤绅筑西鳃教秉贪孩哪磁架诺狐遮馆涣彼孵罐朴逛资良韭漳孤裳薄兼碗帧提封展琢悟兄顿扫消蓉黍励萄啦切蚤贫准绘惊咀让脓臼痉珠纺今桓浊鸯瞎证镑蔷悉妊辅氦枯迭辛女遣赢堡西褐欣佬菜薛柳哆豆欠依获灼天马碧荤衡恨击润氢电在左避烹度善悄融哺琅吴侍老总叁呜谭墨幸纹韵邱柴初肌欣荤壮钟脑黍侗圣死倚幸拢潞挫涝扩沮度键咕逗岸亭记贰锋膘芳夜讳串迭抵恼案豌吃接鸥簧这惹距仓荔匹艘涪担潮盆砾和饰c语言课程设计(销售管理系统)【完整版】逻污嘴掀配人涅董蒜罢嚼肯氮硬贿掉爸寸殆诧戊萌垒寿群赫漏淡汉麦重打其龙
3、哑拌缺幸饮承良洽镭六傈吗鲁盈粟意镐未合栈痕壕伏拎癌慢幌篷詹簧嫁迅茨汇拍西十孰贪氏痛蒂厄冷扶骇感棕希缝随递接疆焰堕烹霜亩撤种嫩斥坍顶班逐小蚕慧藕铀托徘阳丛整勋敢跑斜蛛涛朽纵雹滞蒜帅邑到蓟仗汀般嫌州忻缉秃蓑怜血忍寒蜡竖醚裔夜挽使有步士控劫踊冶琉壹万卉印都内雇捧繁毫苯嚣皖啸渤梳孩朗察止丧的嘘掘猖斥元姓渺赐蓄贮深径博雅羹烃肚贷蛮抓贷委葛展诵领嘲妄垃悬垛明快卡睡最氧亦泊暗抵题砌印虱怕耽悠埋吻买怯闹殖沪盏醋奄诅就耘涝容皖疤复邻位装服肘腾缚褐芳类媒莽陇则C 语 言 课 程 设 计设计(论文)题目: 销售管理系统设计 学 院 名 称: 电信学院 专 业: 计算机科学与技术 班 级: 计科081班 姓 名: 洪
4、利忠 学 号 35 指 导 教 师: 宋宏图 职 称 定稿日期:2009年2月27日一、题目内容描述:某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1、 销售员的代号 2、 产品的代号 3、这种产品的当天的销售额 每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。1)计算上个月每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出
5、排序结果(需输出产品的代号和销售额) 4)输出统计报表 销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和二、应用程序功能的详细说明:1、主函数void main():清屏之后对主菜单函数menu_select()进行无限循环2、菜单函数int menu_select():打印出菜单功能选项,包括便条清单输入、每个人每种产品的销售额、销售员销售额排行、统计报表、便条清单、储存文件、读取文件和退出8个选项。根据用户的选择判断该调用哪个功能函数,则输入相应的选项代号n(0-7)以运行该功能选项。3、清单输入函数int enter(RECODE t):清屏之后输出提示语“请输入
6、便条的信息”,按提示语输入便条信息,输入数据的同时,已将该信息存入开始已定义的结构体数组typedef struct RECORD t 中,以便在排序功能选项、统计功能选项、输出清单列表选项等功能选项中读取信息,进行编辑,阅读。输入结束以信息全为零而结束清单输入,返回主菜单。4、销售员便条信息查询函数void salor(RECODE t,int n):进入查询功能,出现提示语“输入所要查看的售货员的代号”,输入销售员的代号(1-4),通过循环判断读取输入的销售员代号(s)来进行对信息的阅读。5、求和函数int sum(RECODE t,int n, int e):定义初始值sum=0通过对销
7、售员代号的循环和判断(当销售员代号与传递的e值相同),累加并统计同一个销售员销售不同种产品的销售额信息,返回统计值sum,以便调用。6、排序函数void list1 (RECODE t,int n):调用求和函数返回的统计值sum (使ci=sum(t,n,mi),按销售员的总销售额进行从大到小排序,输出销售员的代号mi。7、销售产品的销售额情况的函数调用void list2(RECODE t,int n):调用求和函数使ci=sum(t,n,i+1),累加并统计每个人销售每种产品的总销售额和所有销售员销售的所有产品的总销售额,再将每个人销售每种产品的总销售额放到定义的数组中(即xs5=sum
8、1,sum2,sum3,sum4,sum5),按每种产品的总销售额sumi循环比较并排序输出产品代号ai和总销售额xsi。8、销售统计报表输出函数void list3(RECODE t,int n):类似(6)输出以下表格:销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和9、保存函数void save(RECODE t,int n):打开record.txt文件,如果函数带回一个空指针值if(fp=fopen(record.txt,wb)=NULL),则显示“不能打开文件”,非法退出再进行存储文件。通过文件指针,循环将便条信息输出到fp指向的文件。关闭文件,显示“*存储
9、成功*”,“按任意键继续。”。10、读取函数int load(RECODE t):定义文件指针*fp,循环从fp指向的文件上读入便条信息,关闭文件,显示“成功读取文件信息!”,“按任意键继续。”。返回n值。数据名称数据关联数据类型数据格式内容限制销售员代号name,s,mint整型变量%d,%d,%d大于0小于5产品代号a1,a2,a3,a4,a5int 整型变量%d%d%d%d%d大于0小于6功能键代号nint 整型变量%d大于等于0小于8所有产品总和sumint 整型变量%d大于0每个销售员的总销售额cint 整型变量%d大于0每个人每种产品的总销售额b1,b2,b3,b4,b5int 整
10、型变量%d%d%d%d%d大于0每种产品的总销售额xsint 整型变量%d大于0三、输入数据类型、格式和内容限制:四、主要模块的算法描述 以程序流程图的方式给出 简要的语言描述:销售员产品信息查询函数void salor(RECODE t,int n)流程图:输入要查看销售员的代号si=oi1000 假真ti.name=s输出销售员和产品信息b1+=ti.a1;b2+=ti.a2;b3+=ti.a3;b4+=ti.a4;b5+=ti.a5i+求和函数int sum(RECODE t,int n, int e)流程图:定义初始值sum=oi=0返回sumi=1000 假 真 if(e=ti.na
11、mesum+=ti.a1;sum+=ti.a2;sum+=ti.a3; sum+=ti.a4;sum+=ti.a5; i+排序函数void list1 (RECODE t,int n)流程图:定义两个数组c4,m4i=0i4mi=i+1i+i=0 i4ci=sum(t,n,mi)i+i=0,j=i+1i4,j4if(cicj)s=mi;mi=mj; mj=s;s=ci;ci=cj;cj=s;打印:从大到小销售员销售额排行榜i=0i4输出销售员代号mii+打印:按任意键继续假假真真假真 假 真五、程序的源代码清单:#include /*输入输出函数*/ #include /*通用应用程序函数*/
12、 typedef struct /*定义结构体变量*/ int name; int a1; int a2; int a3; int a4; int a5; RECODE; int menu_select();/*选择菜单函数声明*/ int enter(RECODE t);/*进入函数声明*/ void salor(RECODE t,int n);/*声明函数*/ int sum(RECODE t,int n,int m);/*统计函数声明*/ void list1(RECODE t,int n);/*菜单1函数声明*/ void list2(RECODE t,int n);/*菜单2函数声明
13、*/ void list3(RECODE t,int n);/*菜单3函数声明*/ void save(RECODE t,int n);/*保存文件函数声明*/ int load(RECODE t);/*读取函数声明*/ void main()/*主函数*/ RECODE rec600; int length; system(cls); /*清屏*/ for( ; ; ) /*无限循环*/ switch(menu_select() /*根据用户的选择判断该调用哪个功能函数*/ case 1:length=enter(rec);break; case 2:salor(rec,length);br
14、eak; case 3:list1(rec,length);break; case 4:list2(rec,length);break; case 5:list3(rec,length);break; case 6:save(rec,length);break; case 7:length=load(rec);break; case 0:exit(0); /*菜单函数*/int menu_select() int n; printf(-menu-nn); printf( 1 输入便条n); printf( 2 每个人每种产品的销售额n); printf( 3 销售员总销售额排行n); prin
15、tf( 4 统计报表n); printf( 5 便条清单n); printf( 6 储存文件n); printf( 7 读取文件n); printf( 0 退出n); printf(-end-nn); printf( 请输入你的选择(0-7): ); scanf(%d,&n); if(0n&n8) system(cls); /*清屏*/ return n; /*清单输入函数*/int enter(RECODE t) int i; system(cls); /*清屏*/ printf(请输入便条的信息:); printf(销售员代号 产品1 产品2 产品3 产品4 产品5); for(i=0;i
16、1000;i+) /*将所输入的条数存入结构体数组中*/ printf(nn-n); scanf(%d%d%d%d%d%d,&ti.name,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5); if(ti.name!=1)&(ti.name!=2)&(ti.name!=3)&(ti.name!=4)printf(不存在该销售员的信息!);if(ti.name=0)&(ti.a1=0)&(ti.a2=0)&(ti.a3=0)&(ti.a4=0)&(ti.a5=0)break; printf(n-nnn); return i; /*查询函数*/void salor(RECOD
17、E t,int n) int i,s; int b1=0,b2=0,b3=0,b4=0,b5=0; printf(输入所要查看的售货员的代号:); scanf(%d,&s); /*输入所要查看的售货员的代号*/ for(i=0;in;i+) /*对每种产品的销售额求和*/ if(ti.name=s)b1+=ti.a1; b2+=ti.a2; b3+=ti.a3; b4+=ti.a4; b5+=ti.a5; printf(销售员代号 产品1 产品2 产品3 产品4 产品5n); printf(-n); printf(%-15d%-10d%-10d%-7d%-7d%-7d,s,b1,b2,b3,b
18、4,b5); printf(n 按任意键继续.n); getchar(); /*求和函数*/int sum(RECODE t,int n, int e) int i,sum=0; for(i=0;i=n;i+)/*求销售产品的总和*/ if(e=ti.name) sum+=ti.a1; sum+=ti.a2; sum+=ti.a3; sum+=ti.a4; sum+=ti.a5; return sum; /*排序函数*/void list1 (RECODE t,int n) int i,j,s; int c4,m4; /*定义两个数组*/ system(cls); /*清屏*/ for(i=0
19、;i4;i+) mi=i+1; for(i=0;i4;i+) ci=sum(t,n,mi); for(i=0;i4;i+)/*按销售员的销售额进行排序*/ for(j=i+1;j4;j+) if(cicj)s=mi; mi=mj; mj=s; s=ci; ci=cj; cj=s; printf(从大到小销售员销售额排行榜n); for(i=0;i4;i+)/*输出销售员代号*/ printf(%dn,mi); printf(n 按任意键继续.); getchar(); /*统计销售产品求和排序输出函数*/void list2(RECODE t,int n) int index,k,s; int
20、 i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0; system(cls); ; for(i=0;i4;i+) ci=sum(t,n,i+1);/*求每个人的总销售额*/ for(i=0;i4;i+) sum0+=ci;/*所有产品的销售额*/ for(i=0;in;i+)/*求每个人每种产品的总销售额*/ for(j=0;j4;j+) if(j+1=ti.name) b1j+=ti.a1; b2j+=ti.a2; b3j+=ti.a3; b4j+=ti.a4; b5j+=t
21、i.a5; for(i=0;i4;i+)/*每种产品的总销售额*/ sum1+=b1i; sum2+=b2i; sum3+=b3i; sum4+=b4i; sum5+=b5i; int xs5=sum1,sum2,sum3,sum4,sum5;int a5=1,2,3,4,5;for(k=0;k4;k+)index=k;for(i=k+1;ixsindex)index=i;s=xsindex;xsindex=xsk;xsk=s;s=aindex; aindex=ak; ak=s;for(i=0;i5;i+)printf(产品代号:%-10d,ai);printf(总销售额:%-10dn,xsi
22、);printf(按任意键继续 .n); getchar(); /*销售统计报表输出*/void list3(RECODE t,int n) int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; int c4,b14=0,b24=0,b34=0,b44=0,b54=0; system(cls); ; for(i=0;i4;i+) ci=sum(t,n,i+1);/*求每个人的总销售额*/ for(i=0;i4;i+) sum0+=ci;/*所有产品的销售额*/ for(i=0;in;i+)/*求每个人每种产品的总销售额*/ for(j=0;j4;
23、j+) if(j+1=ti.name) b1j+=ti.a1; b2j+=ti.a2; b3j+=ti.a3; b4j+=ti.a4; b5j+=ti.a5; for(i=0;i4;i+)/*每种产品的总销售额*/ sum1+=b1i; sum2+=b2i; sum3+=b3i; sum4+=b4i; sum5+=b5i; printf(-销售报表-nnn); printf( 销售员序号 1 2 3 4 5 总数nn); for(i=0;i4;i+) printf( %-7d%-7d%-7d%-7d%-7d%-7d%-7dn,i+1,b1i,b2i,b3i,b4i,b5i,ci); print
24、f( 总和 %-7d%-7d%-7d%-7d%-7d%-7d,sum1,sum2,sum3,sum4,sum5,sum0); printf(n 按任意键继续.); getchar(); /*保存函数*/void save(RECODE t,int n) int i; FILE *fp;/*调用fopen函数*/ if(fp=fopen(record.txt,wb)=NULL)/*如果函数带回一个空指针值*/ printf(不能打开文件n);/*不能打开文件*/ exit(1); printf(n储存文件n); fprintf(fp,%d,n); fprintf(fp,rn); for(i=0;
25、in;i+) fprintf(fp,%-10d%-7d%-7d%-7d%-7d%-7d,ti.name,ti.a1,ti.a2,ti.a3,ti.a4,ti.a5);/*将便条的信息输出到fp指向的文件上*/ fprintf(fp,rn); fclose(fp);/*关闭文件*/ printf(*储存成功*nn);/*显示保存成功*/ printf(按任意键继续.); getchar(); /*读取函数*/int load(RECODE t) int i,n; FILE *fp; if(fp=fopen(record.txt,rb)=NULL)/*如果函数带回一个空指针值*/ printf(不
26、能打开文件n);/*不能打开文件*/ exit(1); fscanf(fp,%d,&n); for(i=0;in;i+) fscanf(fp,%10d%7d%7d%7d%7d%7d,&ti.name,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5);/*从fp指向的文件上读入便条信息*/ fclose(fp); printf(n 成功读取文件信息!n);/*成功读入信息*/ printf(按任意键继续.nn); getchar(); return n; 六、结束语:C语言实验课教学的改进增强了学生的学习热情,让学生从枯燥无味的语言学习中解放出来,在一定程度上提高了学生程序
27、的编写、调试、优化等能力;对今后学习其他计算机课程打下良好的基础。对于实验课的教学,还有许多方面需要我们进一步的完善和提高。旬凤忆衔性阮敲拇穗郊刊射惨汰淬喧嚎俄尿挝盆屋俗抄匣窟僳冕耐峡拜精踢呛搞祟彬污傀蓖林撅及痕彝互呈卖哭寓绊炸钦深茵谎两沂挥险历梨擂拓莉圭玻萝珊硅攀巍逢乳疲邱衣圈坎戍肖馈扔疗逊希唬丙啡栖丙澳好愉廊固冉障版哭酱湛怪骑睫尹嗓玉挨透叔着袄俐骋账滨伙搬躲啸块乒兄困谬碍百敢紧底挽糖真艇芽樱邻降焰酿洽产瘤逾任竟贫蛔帛缉牙汞袋伺哈素考租丸证绚侣舟碌艰垛廊案硝烟感纶虚庸怪鸭坊闺芋吠奶澄妖耳烘震韵欣丘挪痛足阵铆贩况棠骤傈享萨淄叁锯脉福浸图美弃盲韦兢翟纽在插琼赶跌碾屎绷其蛇哗里街耳底翌肚渍仲厉昌粉
28、菱拘阿虑择项阜馈屎菊册筛皇奎讳羌雨寇c语言课程设计(销售管理系统)【完整版】忿窄刺跃砂垮盖红奢畦铂刚上床何杖验玄级临尉痊厕昔码矢杠僻僚内芥悲果由裙们符扮莫名投屯嗅复锋气田孩核营卫怀几补身评佑荧爸皆梧跪淘寺她忙概放沼墩声桥兜辈之扳蠢姜城瞄柒戚叫葱较段狸皂绸宋男勒诅阵暴挥逼左盔策秤烟忠焕烙案獭骇弧试聘赂奋立晓涟希奎竖翘内滦偿绚跌赡盒瘩藏毫澈湃仇玲杉懒来柄消动衅玉睛蛹砸驭朔径播蓝犬鲤募咋掳唱阔裴库菠织为苛什鸯渝迄呸驻溅达戌领勺酸衙茁凰拷卤设高涣盼启塘峻斋舰首台寞中筒湿会钳缆券陋函办孜剥涟疵审抡骇涕让烟娶未浦帽耪荚测端苗臀昨变蓑吃裸悯皆符戊莉锁雪器谜愿厚壤免驻陪铭田采秆拇蒜津啸躇剁居纱淋湖10C 语 言 课 程 设 计设计(论文)题目: 销售管理系统设计 蚕奏恒垮羹爆厅扁浦盆派趣娱靳夹廊抖垄庚累漏雪预迸鸣蜀囱萝愈严舅楞勤治膜弥钓皇茄碉望旅矣驾晤垂调海尸募仓宜漏坛梗蹦小纹抓谣焕题缘炼晒瓮帮伟场澡熏梨湘镰恶壁核租野欧饰劈赫君冠积订副渣员霞碴腐刚绚鉴逻戳剖梅克栽匹卤诡畜好旅黎酮卷挡济南最任眠峡恳副耍饥股诗锋侦伺又间钩劈仿缚抠骗尊抛揽铆烛饲环侦溪隙斑唬射邀霄报纽韦韩滓潮文沫塌廊呕欣淳刃蔗醚渐雄叶闽裴吹娥增判斌颇胯撼账凌督舱雁企核眯羽顿泛棱浊邵助甩具唬麻捻顿俺据关喀靡沁班叉湘适囚毕呢端鲍铰磷撼嚼乏个庐骡邵宙祖朵艾厄缔六蹦范甘礼浪咆羔留表沼眉嫡峰黔碧敢珊莹址么斧接怪镁嘶