湖北汽车工业学院c语言课程设计实验报告(采购信息管理系统)
湖北汽车工业学院c语言课程设计实验
报告(采购信息管理系统)
湖北汽车工业学院C语言课程设计——商品销售信息管理系统源代码
C语言课程设计
商品销售信息管理系统
#includestdio.h
#includestdlib.h
#includestring.h
#includemalloc.h
struct product //定义商品数据结构
{
intnum; //商品编号
char productname[20]; //商品名称
float price; //商品售价
char place[30]; //商品产地
int storage; //商品库存
struct product *next;
}*head,*p1,*p2;//定义主结构体数组和备用结构体数组及指针
struct time //定义时间结构体
{
int year;
int month;
int day;
};
struct sell //定义销售数据结构
{
int ID; //顾客代码
char customername[20]; //顾客姓名
intnum; //商品编号
int count;//销售数量
char date[10]; //日期
struct sell * next1;
}*head1; //定义头指针head,缓冲指针p1,以及尾指针p2
/*************************函数申明****************************/
void Enter_productmessage(); //导入商品信息
void Creat(); //输入销售
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
void Search_num();//按编号查询销售历史
void Search_customername();//按顾客姓名查询购买历史
void Printf_customername();//显示顾客信息
void Search_date(); //计算时间段内销售总额
void Save_product(); //保存销售信息
void Save_customername(); //保存顾客信息
void Exit();//退出程序
/***************************主菜单
******************************/
int select()
{
int c;
printf(\t\t************欢迎使用商品销售管理程序
**************\n);
printf(\t\tT1123-5班胡军一分耕耘一分收获\n);
printf(\n-----------------------------------------------------------
---------------------\n);
printf(\n);
printf(\t\t********************************************\n);
printf(\t\t**********欢迎使用商品销售管理系统**********\n);
printf(\t\t** **\n);
printf(\t\t**1:导入商品信息 **\n);
printf(\t\t**2:输入销售记录 **\n);
printf(\t\t**3:按编号查询销售历史 **\n);
printf(\t\t**4: 按顾客姓名查询购买历史**\n);
printf(\t\t**5:计算时段内各销售总额**\n);
printf(\t\t**6:显示顾客信息 **\n);
printf(\t\t**7:保存销售信息 **\n);
printf(\t\t**8:保存顾客信息 **\n);
printf(\t\t**0:退出 **\n);
printf(\t\t********************************************\n);
printf(\n--------------------------------------------------------------------------------
\n);
printf(\t\t请输入您的选择(0~8的整数): );
scanf(%d,&c);
return c;
}
/********************************主函数
***************************/
int main()
{
for(;;)
{
switch(select())
{
case 1:system(cls);Enter_productmessage();break;
case 2:system(cls);Creat();break;
case 3:system(cls);Search_num();break;
case 4:system(cls);Search_customername();break;
case 5:system(cls);Search_date();break;
case 6:system(cls);Printf_customername();break;
case 7:system(cls);Save_product();break;
case 8:system(cls);Save_customername();break;
case 0:system(cls);Exit();break;
default :
{system(cls);
printf(\n\n\n\n\n\n);
printf(\t\t*******************************************************\n);
printf(\t\t** 输入错误!!!请重新输入您的选择(0~8的整
数)**\n);
printf(\t\t** 请按Enter键返回!!!**\n);
printf(\t\t*******************************************************\n);
getchar();
getchar();
system(cls);
}
}
}
return 0;
}
/********************************************************
********/
intjudgech(char *a) //判断是否为汉字
{
inti,flag;
for(i=0;a[i]!='\0';i++)
if(a[i]=0)
{
flag=0;
break;
}
else
flag=1;
return flag;
}
intjudgedate(char date[10])//判断日期是否合法
{
int i,year,month,day,s1=0; //日期格式输入正确则s1=1,否则s1=0
for(i=0;i10;i++)
if(date[i]=='\0')
{
s1=0;
break;
}
if(date[4]=='-'&&date[7]=='-')
{
if(strlen(date)==10)
{
year=1000*(date[0]-48)+100*(date[1]-48)+10*(date[2]-48)+(date[3]
-48);//年
月日
month=10*(date[5]-48)+(date[6]-48);
day=10*(date[8]-48)+(date[9]-48);
}
}
if(i==10)
{
if(year%4==0&&month==2&&day0&&day=29) s1=1;
else
if(year%4!=0&&month==2&&day0&&day=28) s1=1;
else
if((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&day0&&day=31) s1=1;
else
if((month==4||month==6||month==9||month==11)&&day0&&day=30) s1=1;
}
return s1;
}
void file()//读入文件操作
{
inti=0,m=0,k=1,j=1,c=1,o=1,v=1;
FILE *fp;
char filename[30];
printf(请输入读入文件路径:);
rewind(stdin);
gets(filename);
rewind(stdin);
p1=p2=head=(struct product*)malloc(sizeof(struct product));
if((fp=fopen(filename,r+))==NULL)
{
printf(\t\t********************************************\n);
printf(\t\t** 导入信息文件错误!请检查文件路径!!! **\n);
printf(\t\t********************************************\n);
getchar();
system(cls);
Enter_productmessage();
}
printf(********************************商品信息
***********************************\n);
printf(编号(1-10的整数) 名称(汉字) 价格(数字) 产地(汉字)
库存数量\n);
printf(***************************************************************************\n);
while(!feof(fp))
{
p1=(struct product*)malloc(sizeof(struct product));
p2-next=p1;
p1-next=NULL;
p2=p1;
fscanf(fp,%d%s%f%s%d,&p2-num,p2-productname,&p2-p
rice,p2-place,&p2-storage);
while(k==1)
{
if(p2-num10||p2-num=0)
{
printf(\t**************************************************
*****\n); printf(\t\t第%d个商品编码!请重新输入(1-10):,i+1);
rewind(stdin);
scanf(%d,&p2-num);
k=1;
}
else k=0;
}
while(j==1){
if(judgech(p2-productname)==0)
{
printf(\t\t第%d个商品名称错误!请重新输入(汉字):,i+1); rewind(stdin); scanf(%s,p2-productname); j=1; } else j=0; }
while(o==1){ if(p2-price=0) { printf(\t\t第%d个商品价格错误!
请重新输入价格(0):,i+1); rewind(stdin); scanf(%f,&p2-price); o=1;}else o=0; } while(c==1){ if(judgech(p2-place)==0) { printf(\t\t第%d个商品
产地格式错误!请重新输入(汉字):,i+1);rewind(stdin);
篇二:C语言课程设计实验报告--汽车租赁管理系统
《C语言程序设计》课程设计
实验报告
题目:汽车租赁管理系统
专业:
班级:
姓名:
学号:
时间:2015年6月
一、目的
1、进一步掌握和利用 C 语言进行程序设计的能力; 2、进一
步理解和运用结构化程序设计的思想和方法; 3、初步掌握开发
一个小型实用系统的基本方法; 4、学会调试一个较长程序的基
本方法; 5、学会利用
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图或 N-S 图
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示算法;
6、掌握
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写程序设计开发文档,即书写课程设计报告的能力;
二、内容与设计思想。
1、系统功能与
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
(填写你所设计的菜单及流程图)。
2、数据结构
数据表格图形
数据结构代码
struct member {
int cardnum;char lendcar[10];}member[1000];
struct car {
int carnum;
char carname[20]; float carprice; char carcreat[20]; int
turefalse;}car[1000];
struct card{
int cardnum; char sex[5];
char membersname[20]; long int memberstel;}card[1000];
全局变量:char ch1,ch2,ch4;
3、模块设计 根据功能需要:
篇三:C语言课程设计实验报告-学生信息管理系统
语 言 课 程 设 计 实 验
报 告
C
课题:学生信息管理系统设计
报告人:阮家友 方鹏飞 叶成 指导老师: 严碧波孙祥娥 报告
日期:2014年6月23日
C语言课程设计实验报告
1.设计目的:
学生信息管理系统设计
学生信息包括:学号、姓名、年龄、电话号码、性别、出生年月、QQ、班级等。试设计一学生信息管理系统,使之能提供以下功能: 1. 系统以菜单方式工作 2. 学生信息添加功能---输入 3. 查询功能---算法
按学号查询 按姓名查询
4. 学生信息的删除与修改
5. 学生信息整表浏览功能---输出
2.总体设计:
程序设计组成框图
学生信息整表浏览
主菜单
流程图
3.详细设计:
1函数入口说明
menu() 输出主菜单
load_info() 载入函数:txt转为链表 add_info(STU*h) 增加学生信息
search_info(STU*h,int type) 搜索学生信息 delete_info(STU*h)
删除学生信息 update_info(STU*h) 修改学生信息 output_info(STU*h) 输出学生信息
preview_info(STU*h,int type) 预览学生信息 main() 主函数 2调用关系
load_info() add_info(STU*h)
search_info() output_info()
update_info ()
delete_info ()
preview_info ()output_info()
3参数说明
add_info(STU*h) 、delete_info(STU*h) 、output_info(STU*h) 、preview_info(STU*h,int type) 、search_info(STU*h,int type) 、update_info(STU*h) 、函数中的STU*h为传入的链表节点指针,type为搜索的方式:1为输出传入节点指针的一条学生记录,2为输出所有的学生记录。
4.调试与测试:
1调用STU * load_info()函数(文件载入),读写出现乱码
解决方法:更改相应指针指向,及有关变量的初值设置。
2边界测试
解决方法:用极端的或偏门的情况来探测和验证代码在处理时会发生什么。
3执行窗口执行多次命令后显示过多,不利于输入指令及结果查
看 解决方法:调用系统清屏函数system(cls);。
4文件在打开和保存时有问题。
解决方法:调整文件的打开方式,从原来的单纯的w+修改为添
加一个if语句,当没有文件时执行w+的操作,否则执行r+。避免
了原存储文件被覆盖的问题。
5.源程序清单和执行结果:
#include stdio.h #include stdlib.h #include string.h
//学生信息 结构体 typedef struct record{ char No[10]; char name[12]; unsigned int age; char sex[4]; char birth[10]; char
qq[12]; char grade[20]; char phone[11]; struct record *next; }STU;
//菜单函数 int menu();
//载入函数:txt转为链表 STU * load_info();
//增加学生
STU * add_info(STU *h);
//搜索函数
STU * search_info(STU *h,int type);
//删除学生
STU * delete_info(STU *h);
//修改学生信息
void update_info(STU *h);
//输出信息
void output_info(STU *h);