当前位置:编程学习 > C/C++ >>

C语言程序设计

一.训练目的:
计算机程序设计训练是学习完《计算机程序设计》课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。
二.设计要求:
1.按照给定题目独立设计程序,上机调试通过。
2.写出设计报告
提交报告的内容如下:
1)题目内容的描述
2)应用程序功能的详细说明
3)输入数据类型、格式和内容限制;
4)主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
5)结束语
6)程序的源代码清单
7)报告的字数,不算源代码清单不少于4页
按规定的模板封面输出,不准自定义封面格式
提交报告的格式如下:
1)正文宋体小四号字
2)每个自然段开始空两格.
3)文中英文用新罗马(time new roman),四号
4)源程序清单用英文新罗马五号
5)提交报告封面使用《沈阳理工大学课程设计(论文)》专用封面
注:对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。
题目35
题目:销售管理系统
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:
1)销售员的代号
2)产品的代号
3)这种产品的当天的销售额

每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1)计算上个月每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4)输出统计报表
销售统计报表

产品代号
销售员代号 1 2 3 4 5 销售之和
1
2
3
4
每种产品之和 总和
二.技术要求
1. 按照给定题目独立设计程序,上机调试通过。
2. 写出设计报告
提交报告的内容如下:
1)题目内容的描述
2)应用程序功能的详细说明
3)输入数据类型、格式和内容限制;
4)主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
5)结束语
6)程序的源代码清单
7)报告的字数,不算源代码清单不少于4页
按规定的模板封面输出,不准自定义封面格式
提交报告的格式如下:
1)正文宋体小四号字
2)每个自然段开始空两格.
3)文中英文用新罗马(time new roman),四号
4)源程序清单用英文新罗马五号
5)提交报告封面使用《沈阳理工大学课程设计(论文)》专用封面
注:对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。
三.时间安排
1. 接到题目后用课余时间设计程序,
2. 第16--17周上机调试通过后,答辩,交报告(具体时间由各任课教师决定)。
追问:谢谢了!~~~~应该能用上!~~
答案:
只给代码,其余的自己整...
#include <stdio.h>
#include <stdlib.h>
#include "Link.h"

#define MAX_ID4
#define MAX_GOODS_ID5

float saleroom[MAX_ID][MAX_GOODS_ID];
float salerAll[MAX_ID];
float goodsAll[MAX_GOODS_ID];

void compute(LINK *note);
void compute2(int id, int goodsId, float sales);
void sort_with_id();
void sort_with_goodsid();
void displlay();

int main(int argc, char* argv[])
{
NOTEINFO info;
LINK *head, *note, *note1;

head = (LINK *)malloc(sizeof(LINK));
if (head == NULL)
{
printf("分配头节点失败....");
return -1;
}
head->next = NULL;
note = head;
note1 = head;

while(1)
{
// 此处未做判断输入是否是正常数据
printf("请输入销售员代号 (输入 0 退出) : ");
scanf("%d", &info.id);
if (info.id == 0)
{
break;
}
printf("请输入产品代号 : ");
scanf("%d", &info.goodsid);
printf("请输入该产品当天销售额 : ");
scanf("%f", &info.saleroom);

add_data(note, info);
}

compute(head->next); // 计算每个人的每种商品销售总额

sort_with_id(); // 按销售额对销售员进行排序,输出排序结果

sort_with_goodsid(); // 统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果

displlay(); // 输出报表

return 0;
}
void compute(LINK *note)
{
LINK *tmp = NULL;

tmp = note;

while (tmp)
{
switch (tmp->noteInfo.id)
{
case 1:
compute2(0, tmp->noteInfo.goodsid, tmp->noteInfo.saleroom);
break;
case 2:
compute2(1, tmp->noteInfo.goodsid, tmp->noteInfo.saleroom);
break;
case 3:
compute2(2, tmp->noteInfo.goodsid, tmp->noteInfo.saleroom);
break;
case 4:
compute2(3, tmp->noteInfo.goodsid, tmp->noteInfo.saleroom);
break;
}
note = tmp->next;
delete_one(tmp);
tmp = note;
}
}
void compute2(int id, int goodsId, float sales)
{
switch (goodsId)
{
case 1:
saleroom[id][0] += sales;
break;
case 2:
saleroom[id][1] += sales;
break;
case 3:
saleroom[id][2] += sales;
break;
case 4:
saleroom[id][3] += sales;
break;
case 5:
saleroom[id][4] += sales;
break;
}
}
好难懂啊
嗯,交不上去~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
字太多了,分太少了,题目太难了!!

上一个:如何认识C语言
下一个:c语言速成法有吗?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,