C语言实现仓库物资管理系统

前言

此系统为博主大一上学期C语言课程设计的大作业,由于当时初步接触C语言,现在来看程序写的太烂了,简直不忍直视……但是还是想通过博客的形式记录下来,也可以给刚接触学习C语言的人一些参考吧!

系统功能设计

仓库初始化

查询库存

*按电器名查询
*按品牌名查询
*按送货人查询
*按提货人查询
*按电器名称由大到小顺序输出所有库存
*按库存数量由高到低输出所有库存

物资存入

物资取出

统计物资

*入库电器总价值
*出库电器总利润
*统计某月每种电器的出库数目
*统计某月每种品牌的电器的出库数目

代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//------------------------------------------------------结构体区域
typedef struct
{
 char name[20];       //电器名称
 char brandName[20];    //品牌名称
 int num;          //库存数量
 int unitPrice;       //单价
 int year;
 int month;
 int day;
 char manName[20];
}stock;                 //库存
stock s[10000],t[10000],x[10000],y[10000],in[10000],out[10000],no[10000],no1[10000],no2[10000];        //全局变量
//-------------------------------------------------------函数声明区域
void menu(void);//主菜单函数
void write(void);//创建仓库函数
void find(void);//查询库存函数
void findPart(void);//部分查询函数
void findOne(void);  //按电器名查询
void findTwo(void);  //按品牌名查询
void findThree(void); //按提货人查询
void findFour(void);  //按送货人查询
void findFive(void);  //按电器名称大小顺序输出所有库存
void findSix(void);  //按库存数量由高到低输出所有库存
void deposit(void);//存入仓库函数
void takeout(void);//取出仓库函数
void tongji(void);//统计函数
void tongji1(void);//第一种统计函数
void tongji2(void);//第二种统计函数
void tongji3(void);//第三种统计函数
void tongji4(void);//第四种统计函数
int readFile(void);//读取库存记录文件中所有结构体的数目
int readFile1(void);//读取入库记录文件中所有结构体的数目
int readFile2(void);//读取出库记录文件中所有结构体的数目
void end(void);//结束退出函数
//-------------------------------------------------------主函数
int main()
{
 menu();
 return 0;
}
void menu(void)
{
 int n,l=0;
 printf("============================================================\n");
 printf("                              \n");
 printf(" -----*****欢 迎 使 用 仓 库 物 资 管 理 系 统 ! *****----- \n");
 printf("                              \n");
 printf("============================================================\n");
 printf("                              \n");
 printf(" 您可以进行以下操作:                    \n");
 printf("                              \n");
 printf("     1.  仓库初始化                  \n");
 printf("                              \n");
 printf("     2.  查询库存                   \n");
 printf("                              \n");
 printf("     3.  物资存入                   \n");
 printf("                              \n");
 printf("     4.  物资取出                   \n");
 printf("                              \n");
 printf("     5.  统计物资                   \n");
 printf("                              \n");
 printf("     0.  退出系统                   \n");
 printf("                              \n");
 printf("                              \n");
 printf("============================================================\n");
 printf("现在请选择您要进行的操作:(请输入操作前的数字)");
 while(scanf("%d",&n)!=EOF)
  {
    switch(n)
 {
  case 1:system("CLS");write();break;
  case 2:system("CLS");find();break;
  case 3:system("CLS");deposit();break;
  case 4:system("CLS");takeout();break;
  case 5:system("CLS");tongji();break;
  case 0:system("CLS");end();exit(0);
  default :printf("没有此选项!\n 请重新输入!\n");
    }
  }

}
void write(void)    //right
{
 FILE *fp;
 int i,n;
 fp=fopen("库存记录.dat","wb");
 rewind(fp);
 printf("============================================================\n");
 printf("请输入仓库中电器信息的组数!\n    ps:相同电器但是不同品牌电器算多种!\n");
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {
 printf("开始写入第%d组\n",i+1);
 printf("请输入电器名称:");
 scanf("%s",s[i].name);
 printf("请输入电器品牌名称:");
 scanf("%s",s[i].brandName);
 printf("请输入电器数量:");
 scanf("%d",&s[i].num);
 printf("请输入电器单价:");
 scanf("%d",&s[i].unitPrice);
 printf("请输入存货时间: <年月日之间用空格隔开>例:2016 12 01\n");
 scanf("%d%d%d",&s[i].year,&s[i].month,&s[i].day);
 printf("请输入存货人:");
 scanf("%s",s[i].manName);
 }
 fwrite(s,sizeof(stock),n,fp);
 fclose(fp);
 printf("当前库存记录:(请仔细核对)\n");
 for(i=0;i<n;i++)
  {
   printf("%s\n%s\n%d\n%d\n%d.%d.%d\n%s\n",s[i].name,s[i].brandName,s[i].num,s[i].unitPrice,s[i].year,s[i].month,s[i].day,s[i].manName);
  }

 printf("电器信息写入完成!\n 请按回车键返回主界面!\n");
 getchar();getchar();
 system("CLS");
 menu();
}
void findOne(void)
{
 char name[10],ch='y';
 int i,k,n,bn;
 bn=readFile();
 do
 {
 system("CLS");
 printf("============================================================\n");
 printf("请输入要查询的电器名称:\n");
 getchar();
 gets(name);
 k=-1;
 for(i=0;i<bn;i++)
 {
  if(strcmp(t[i].name,name)==0)
  {
  printf("该电器信息如下:\n");
  k=i;
  printf("电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,入库时间:%d.%d.%d,存货人:%s\n",t[k].name,t[k].brandName,t[k].num,t[k].unitPrice,t[k].year,t[k].month,t[k].day,t[k].manName);
  }
 }
 if(k==-1)
 {
  printf("抱歉,本仓库中无此电器!\n");
 }
 printf("\n是否继续查询?<y/n>\n");
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();getchar();
 system("CLS");
 findPart();
}
void findTwo(void)
{
 char brandName[10],ch='y';
 int i,k,n,bn;
 bn=readFile();
 do
 {
 system("CLS");
 printf("============================================================\n");
 printf("请输入要查询的品牌名称:\n");
 getchar();
 gets(brandName);
 k=-1;
 for(i=0;i<bn;i++)
 {
  if(strcmp(t[i].brandName,brandName)==0)
  {
  printf("该电器信息如下:\n");
  k=i;
  printf("电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,入库时间:%d.%d.%d,存货人:%s\n",t[k].name,t[k].brandName,t[k].num,t[k].unitPrice,t[k].year,t[k].month,t[k].day,t[k].manName);
  }
 }
 if(k==-1)
 {
  printf("抱歉,本仓库中无此电器!\n");

 }
 printf("\n是否继续查询?<y/n>\n");
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();getchar();
 system("CLS");
 findPart();
}
void findThree(void)      // 按送货人查询 入库
{
 char manName[10],ch='y';
 int i,k,n,bn1;
 bn1=readFile1();
 FILE *fp1;
 fp1=fopen("入库记录.dat","rb+");
 if(fp1==NULL)
 {
 printf("该仓库中未添加任何电器!\n");
 exit(0);
 }
 fread(&y,sizeof(stock),bn1,fp1);
 fclose(fp1);
 do
 {
 system("CLS");
 printf("============================================================\n");
 printf("请输入要查询的存货人:\n");
 getchar();
 gets(manName);
 k=-1;
 for(i=0;i<bn1;i++)
 {
  if(strcmp(y[i].manName,manName)==0)
  {
  printf("该电器信息如下:\n");
  k=i;
  printf("电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,入库时间:%d.%d.%d,存货人:%s\n",y[k].name,y[k].brandName,y[k].num,y[k].unitPrice,y[k].year,y[k].month,y[k].day,y[k].manName);
  }
 }
 if(k==-1)
 {
  printf("抱歉,本仓库中无此存货人存入的电器!\n");

 }
 printf("\n是否继续查询?<y/n>\n");
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();getchar();
 system("CLS");
 findPart();
}
void findFour(void)     //按提货人查询  出库
{
 char manName[10],ch='y';
 int i,k,n,bn2;
 bn2=readFile2();
 FILE *fp2;
 fp2=fopen("出库记录.dat","rb+");
 if(fp2==NULL)
 {
 printf("该仓库中未提出任何电器!\n");
 exit(0);
 }
 fread(&x,sizeof(stock),bn2,fp2);
 fclose(fp2);
 do
 {
 system("CLS");
 printf("============================================================\n");
 printf("请输入要查询的提货人:\n");
 getchar();
 gets(manName);
 k=-1;
 for(i=0;i<bn2;i++)
 {
  if(strcmp(x[i].manName,manName)==0)
  {
  printf("该电器信息如下:\n");
  k=i;
  printf("电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,出库时间:%d.%d.%d,提货人:%s\n",x[k].name,x[k].brandName,x[k].num,x[k].unitPrice,x[k].year,x[k].month,x[k].day,x[k].manName);
  }
 }
 if(k==-1)
 {
  printf("抱歉,本仓库中无此提货人提出的电器!\n");

 }
 printf("\n是否继续查询?<y/n>\n");
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();getchar();
 system("CLS");
 findPart();

}
void findFive(void)    //电器名称大小顺序输出所有库存
{
 int bn;
 bn=readFile();
 printf("============================================================\n");
 FILE *fp;
 fp=fopen("库存记录.dat","rb+");
 if(fp==NULL)
 {
 printf("该仓库中无库存!\n");
 exit(0);
 }
 fread(&s,sizeof(stock),bn,fp);
 int i,j;
 for(i=0;i<bn-1;i++)
 for(j=0;j<bn-1-i;j++)
 {
  if(s[j].name<s[j+1].name)
  {
  t[1]=s[j+1];
  s[j+1]=s[j];
  s[j]=t[1];
  }
 }
 for(i=0;i<bn;i++)
 printf("%d. 电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,入库时间:%d.%d.%d,存货人:%s\n",i+1,s[i].name,s[i].brandName,s[i].num,s[i].unitPrice,s[i].year,s[i].month,s[i].day,s[i].manName);
 printf("\n输出完成!请按回车键返回上一级!\n");
 getchar();getchar();
 system("CLS");
 findPart();
}
void findSix(void)    //按库存数量由高到低输出所有库存
{
 int bn;
 bn=readFile();
 printf("============================================================\n");
 FILE *fp;
 fp=fopen("库存记录.dat","rb+");
 if(fp==NULL)
 {
 printf("该仓库中无库存!\n");
 exit(0);
 }
 fread(&s,sizeof(stock),bn,fp);
 int i,j;
 for(i=0;i<bn-1;i++)
 for(j=0;j<bn-1-i;j++)
 {
  if(s[j].num<s[j+1].num)
  {
  t[1]=s[j+1];
  s[j+1]=s[j];
  s[j]=t[1];
  }
 }
 for(i=0;i<bn;i++)
 printf("%d. 电器名称:%s,电器品牌:%s,库存数量:%d,电器单价:%d,入库时间:%d.%d.%d,存货人:%s\n",i+1,s[i].name,s[i].brandName,s[i].num,s[i].unitPrice,s[i].year,s[i].month,s[i].day,s[i].manName);
 printf("\n输出完成!请按回车键返回上一级!\n");
 getchar();getchar();
 system("CLS");
 findPart();
}
void findPart(void)
{
 int n;
 printf("============================================================\n");
 printf("1. 按电器名查询\n");
 printf("2. 按品牌名查询\n");
 printf("3. 按送货人查询\n");
 printf("4. 按提货人查询\n");
 printf("5. 按电器名称由大到小顺序输出所有库存\n");
 printf("6. 按库存数量由高到低输出所有库存\n");
 printf("0. 返回主菜单\n");
 while(scanf("%d",&n)!=EOF)
 switch(n)
 {
 case 1:system("CLS");findOne();break;
 case 2:system("CLS");findTwo();break;
 case 3:system("CLS");findThree();break;
 case 4:system("CLS");findFour();break;
 case 5:system("CLS");findFive();break;
 case 6:system("CLS");findSix();break;
 case 0:system("CLS");menu();break;
 default :printf("没有此选项!\n 请重新输入!\n");
 }
}
void find(void)
{
 int i,bn;
 FILE *fp;
 fp=fopen("库存记录.dat","rb+");
 if(fp==NULL)
 {
 printf("该仓库中无库存!\n");
 exit(0);
 }
 rewind(fp);
 bn=readFile();
 fread(&t,sizeof(stock),bn,fp);
 getchar();
 findPart();
 fclose(fp);
}
void deposit(void)  //入库
{
 printf("============================================================\n");
 int bn,bn1;
 stock jia;
 FILE *fp1,*fp;
 int i=0,j,n=0;
 char ch='y';

 printf("请输入要加入仓库的电器信息:\n");
 do
 {
 fp1=fopen("入库记录.dat","ab+");
 if(fp1==NULL)
 {
  printf("该仓库中未添加任何电器!\n");
  exit(0);
 }
 fp=fopen("库存记录.dat","ab+");
 bn=readFile();
 bn1=readFile1();
 printf("请输入电器名称:");
 scanf("%s",jia.name);
 printf("请输入电器品牌:");
 scanf("%s",jia.brandName);
 printf("请输入电器数量:");
 scanf("%d",&jia.num);
 printf("请输入电器单价:");
 scanf("%d",&jia.unitPrice);
 printf("请输入送货时间: <ps: 年月日之间用空格隔开> 例:2016 12 01\n");
 scanf("%d%d%d",&jia.year,&jia.month,&jia.day);
 printf("请输入送货人:");
 scanf("%s",jia.manName);
 fwrite(&jia,sizeof(stock),1,fp1);
 fwrite(&jia,sizeof(stock),1,fp);
 fclose(fp1);fclose(fp);
 printf("是否继续输入?<y/n>\n");
 getchar();
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();

 system("CLS");
 menu();
}
void takeout(void)   //出库
{
 stock jian;
 printf("==============================================================\n");
 int bn,bn2,i,j;
 char ch='y';
 FILE *fp,*fp2;
 bn=readFile();
 bn2=readFile2();

 printf("请输入要提出仓库的电器信息:\n");
 do
 {
 fp=fopen("库存记录.dat","rb+");
 if(fp==NULL)
 {
  printf("无法打开此文件!\n");
  exit(0);
 }
 for(i=0;i<bn;i++)
 {
  fread(&s[i],sizeof(stock),1,fp);
 }
 fclose(fp);
 fp2=fopen("出库记录.dat","wb+");
 if(fp2==NULL)
 {
  printf("无法打开此文件!\n");
  exit(0);
 }
 printf("请输入电器名称:");
 scanf("%s",jian.name);
 printf("请输入电器品牌:");
 scanf("%s",jian.brandName);
 printf("请输入电器数量:");
 scanf("%d",&jian.num);
 printf("请输入电器单价:");
 scanf("%d",&jian.unitPrice);
 printf("请输入提货时间: <ps: 年月日之间用空格隔开> 例:2016 12 01\n");
 scanf("%d%d%d",&jian.year,&jian.month,&jian.day);
 printf("请输入提货人:");
 scanf("%s",jian.manName);
 getchar();
 fwrite(&jian,sizeof(stock),1,fp2);
 fclose(fp2);
 for(i=0;i<bn;i++)
 {
  if((strcmp(jian.name,s[i].name)==0)&&(strcmp(jian.brandName,s[i].brandName)==0))
  {
  if(jian.num<=s[i].num)
  {
   s[i].num=s[i].num-jian.num;
  }
  else
  {
   printf("库存不足!无法提出!\n");
   printf("请按回车键返回!");
   getchar();
   system("CLS");
   menu();
  }
  }
 }
 fopen("库存记录.dat","wb+");
 for(i=0;i<bn;i++)
 {
  fwrite(&s[i],sizeof(stock),1,fp);
 }
 fclose(fp);

 printf("\n出库完成! 是否继续输入?<y/n>\n");
 getchar();
 ch=getchar();
 }while(ch=='y'||ch=='Y');
 printf("将返回上一级菜单!\n 请按回车键确认!\n");
 getchar();

 system("CLS");
 menu();

}
void tongji(void)
{
 int n;
 system("CLS");
 printf("==============================================================\n");
 printf("1. 入库电器总价值\n");
 printf("2. 出库电器总利润\n");
 printf("3.统计该月每种电器的出库数目\n");
 printf("4.统计该月每种品牌的电器的出库数目\n");
 printf("0. 返回主菜单\n");
 printf("请选择要进行的操作:(0到4)\n");
 scanf("%d",&n);
 getchar();
 while(n!=0&&n!=1&&n!=2&&n!=3&&n!=4)
 {

 printf("没有此选项!\n 请重新输入!\n");
 scanf("%d",&n);
    getchar();
  }
  switch(n)
 {
  case 1:tongji3();break;//第三种统计函数
  case 2:tongji4();break;//第四种统计函数
  case 3:tongji1();break;//第一种统计函数
  case 4:tongji2();break;//第二种统计函数
  case 0:system("CLS");menu();break;
 }
}
void tongji2(void)//第二种统计函数
{
   FILE *fp;
  int bn1,i,year,month,k=0;
  bn1=readFile1();
  system("CLS");
  printf("==============================================================\n");
 fp=fopen("出库记录.dat","rb+");
 if(fp==NULL)
 {
 printf("无法打开此文件!\n");
 exit(0);
 }
 for(i=0;i<bn1;i++)
 {
 fread(&s,sizeof(stock),bn1,fp);
 }
  printf("请输入一个日期(年 月 如 2017 01):\n");
 scanf("%d%d",&year,&month);

    for(i=0;i<bn1;i++)
    {
      if((s[i].year==year)&&(s[i].month==month))
      {
        printf("电器名称:%s\n品牌名称:%s\n出库数目:%d\n",s[i].name,s[i].brandName,s[i].num);
        k+=1;
      }
    }
      if(k==0)
      printf("库存记录中不存在此种电器!\n");

  fclose(fp);
  printf("统计完成,请按回车键返回!\n");
 getchar();
 getchar();
 system("CLS");
 tongji();

}
void tongji1(void)//第一种统计函数
{
  FILE *fp;
  int bn1,i,year,month,k=0;
  bn1=readFile1();
  system("CLS");
  printf("==============================================================\n");
 fp=fopen("出库记录.dat","rb+");
 if(fp==NULL)
 {
 printf("无法打开此文件!\n");
 exit(0);
 }
 for(i=0;i<bn1;i++)
 {
 fread(&s,sizeof(stock),bn1,fp);
 }
  printf("请输入一个日期(年 月 如 2017 01 ):\n");
 scanf("%d%d",&year,&month);

    for(i=0;i<bn1;i++)
    {
      if((s[i].year==year)&&(s[i].month==month))
      {
        printf("电器名称:%s\n出库数目:%d\n",s[i].name,s[i].num);
        k+=1;
      }
    }
      if(k==0)
      printf("库存记录中不存在此种电器!\n");

  fclose(fp);
  printf("统计完成,请按回车键返回!\n");
 getchar();
 getchar();
 system("CLS");
 tongji();

}
void tongji3(void)//第三种统计函数
{
 FILE *fp;
 int bn1,i;
 long long int total=0;
 bn1=readFile1();
 system("CLS");
 printf("==============================================================\n");
 fp=fopen("入库记录.dat","rb+");
 if(fp==NULL)
 {
 printf("无法打开此文件!\n");
 exit(0);
 }
 for(i=0;i<bn1;i++)
 {
 fread(&s[i],sizeof(stock),1,fp);
 }
 fclose(fp);
 for(i=0;i<bn1;i++)
 {
 total+=(s[i].num*s[i].unitPrice);
 }
 printf("商品总价值为%d\n",total);
 printf("统计完成,请按回车键返回!\n");
 getchar();
 system("CLS");
 tongji();
}
void tongji4(void)//第四种统计函数
{

 FILE *fp1,*fp2;
 int bn,bn2,i;
 long long int money=0;
 bn=readFile();
 bn2=readFile2();
 system("CLS");
 printf("==============================================================\n");
 fp1=fopen("库存记录.dat","rb+");

 if(fp1==NULL)
 {
 printf("无法打开此文件!\n");
 exit(0);
 }
 for(i=0;i<bn;i++)
 {
 fread(&s[i],sizeof(stock),1,fp1);
 }
 fclose(fp1);
 fp2=fopen("出库记录.dat","rb+");
 if(fp2==NULL)
 {
 printf("无法打开此文件!\n");
 exit(0);
 }
 for(i=0;i<bn2;i++)
 {
 fread(&t[i],sizeof(stock),1,fp2);
 }
 fclose(fp2);

 for(i=0;i<bn2;i++)
 {
 money+=((t[i].unitPrice-s[i].unitPrice)*t[i].num);
 }
 printf("总利润为%d\n",money);
 printf("统计完成,请按回车键返回!\n");
 getchar();
 system("CLS");
 tongji();
}
void end(void)
{
 printf("==============================================================\n");
 printf("                               \n");
 printf("                               \n");
 printf("                               \n");
 printf("      感 谢 使 用 本 系 统 !              \n");
 printf("                               \n");
 printf("       再 见 !                     \n");
 printf("                               \n");
 printf("                               \n");
 printf("                               \n");
 printf("                               \n");
 printf("==============================================================\n");
}
int readFile(void)//库存记录文件中结构体的个数
{
 FILE *fb;
 int bn=0;
 fb=fopen("库存记录.dat","rb+");
 if(fb==NULL)
 {
 return bn;
 }
 while(!feof(fb))
 {
 if(fread(&no[bn],sizeof(stock),1,fb))
  bn++;
 }
 fclose(fb);
 return bn;
}
int readFile1(void)//入库记录文件中结构体的个数
{
 FILE *fb;
 int bn1=0;
 fb=fopen("入库记录.dat","rb+");
 if(fb==NULL)
 {
 return bn1;
 }
 while(!feof(fb))
 {
 if(fread(&no1[bn1],sizeof(stock),1,fb))
  bn1++;
 }
 fclose(fb);
 return bn1;
}
int readFile2(void)//出库记录文件中结构体的个数
{
 FILE *fb;
 int bn2=0;
 fb=fopen("出库记录.dat","rb+");
 if(fb==NULL)
 {
 return bn2;
 }
 while(!feof(fb))
 {
 if(fread(&no2[bn2],sizeof(stock),1,fb))
  bn2++;
 }
 fclose(fb);
 return bn2;
}

运行截图

总结

两年前写的程序了,大体运行了一下,存在一点小bug,还有一些设计不合理的地方以及没有解决非法输入的问题。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言学生管理系统源码分享

    本文实例为大家分享了C语言学生管理系统源码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> //结构体可以存放的学生信息最大个数,不可变变量 int const MAX_LENGTH=100; //学生信息结构体数组,最多可以存放100个学生信息 struct student{ int id; //学号 char *name; //姓名 int age; //年龄 float c_score; //C语言成绩 float engl

  • C语言图书管理系统简洁版

    DOS界面的图书管理系统,具体内容如下 程序分为两块:管理员操作(收录图书.删除图书等)和会员操作(注册.借书.还书等): 1.管理员操作界面 2.会员操作界面 global.h头文件:(程序中只使用了一个编写的头文件,在这里存放了所有的接口函数以及需要使用到的头文件,还有结构体的定义) #include "iostream" #include "string" #include "fstream" #include "conio.h&

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • 学生成绩管理系统C语言代码实现

    C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuyan; //C语言成绩 float en; //物理学成绩 float ji; //原子物理成绩

  • C语言利用结构体数组实现学生成绩管理系统

    要求: 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).定义结构体类型描述学生信息,每个学生信息包括:学号.姓名.多门课的成绩.总成绩和平均成绩.用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统. (1) 录入每个学生的学号.姓名和各科考试成绩. (2) 计算每门课程的总分和平均分. (3) 计算每个学生的总分和平均分. (4) 按每个学生的总分由高到低排出名次表. (5) 按学号由小到大排出成绩表. (6) 按姓名的字典顺序排出成

  • C语言编写学生成绩管理系统

    用C语言编写学生成绩管理系统代码,供大家参考,具体内容如下 C语言实现学生成绩管理系统实战教学 https://www.jb51.net/article/154767.htm (1)给出所选课程设计题目以及本题目具体所要完成的功能要求说明. 1.课程设计题目:学生成绩管理系统 2.完成的功能要求: (1).主要实现的功能: 1---学生输入 2---学生插入 3---学生查询(按学号) 4---学生删除 5---学生输出 6---计算每名学生的平均分并输出 7---计算每科的平均分并输出 8--

  • 学生信息管理系统C语言版

    C语言学生信息管理系统包括以下功能: 1.学生信息的整体注册 2.学生信息的修改 3.学生成绩信息的录入 4.学生信息的添加 5.恢复误删的学生信息 6.学生信息的删除 7.密码修改保存函数 8.学生信息的查询 9.密码修改函数 10.学生信息管理系统的菜单函数 #include "stdio.h" #include "malloc.h" #include "string.h" #include "stdlib.h" #inc

  • C语言通讯录管理系统完整版

    C语言实现了通讯录的录入信息.保存信息.插入.删除.排序.查找.单个显示等功能.. 完整的代码如下: #include <stdio.h> #include <malloc.h> //得到指向大小为Size的内存区域的首字节的指针// #include <string.h> #include <stdlib.h> //标准库函数// #define NULL 0 #define LEN sizeof(struct address_list) //计算字节//

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

  • C语言实现仓库物资管理系统

    前言 此系统为博主大一上学期C语言课程设计的大作业,由于当时初步接触C语言,现在来看程序写的太烂了,简直不忍直视--但是还是想通过博客的形式记录下来,也可以给刚接触学习C语言的人一些参考吧! 系统功能设计 仓库初始化 查询库存 *按电器名查询 *按品牌名查询 *按送货人查询 *按提货人查询 *按电器名称由大到小顺序输出所有库存 *按库存数量由高到低输出所有库存 物资存入 物资取出 统计物资 *入库电器总价值 *出库电器总利润 *统计某月每种电器的出库数目 *统计某月每种品牌的电器的出库数目 代码

  • C语言实现学生成绩管理系统

    设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能. 功能要求 1.每一条记录包括一个学生的学号.姓名.3门课成绩.平均成绩. 2.输入功能:可以一次完成若干条记录的输入. 3.显示功能:完成全部学生记录的显示. 4.查找功能:完成按姓名查找学生记录,并显示. 5.排序功能:按学生平均成绩进行排序. 6.插入功能:按平均成绩高低插入一条学生记录 7.删除功能:如果输入错误,可以删除学生记录: 8.退出. 代码: #i

  • C语言实现学生信息管理系统(单链表)

    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 /*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年7月1日 * 版本号:codeblock * * 问题描述: 学生信息管理系统 * 输入描述: * 程序输出: 输出结果 */ #include <stdio.h> #include <stdlib.h> #include

  • C语言版学生成绩管理系统

    本文实例为大家分享了C语言版学生成绩管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<string.h> #include<algorithm> char buf[255]; char c=14; char path[]="D:\\data"; char tm

  • 基于C语言实现学生成绩管理系统

    本文实例为大家分享了C语言实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 这里只贴代码,具体介绍省略. #include <stdio.h> #include <io.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 200 struct student { char no[10]; // 学号 char name[50]; // 姓名 f

  • C语言实现学生学籍管理系统

    本文实例为大家分享了C语言实现学生学籍管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<windows.h> //**********************************结构体************************************* struct score

  • C语言实现歌曲信息管理系统

    本文实例为大家分享了C语言实现歌曲信息管理系统的具体代码,供大家参考,具体内容如下 系统功能:该系统以菜单方式工作,歌曲信息包括:歌名.演唱者.作词.作曲.所属专辑.出版时间.出版公司.试设计一歌厅歌曲管理系统,使之能提供以下功能:歌曲信息录入.修改.插入.删除功能:歌曲排序浏览功能:按歌名查询.按演唱者查询等功能. 完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "string.h&q

  • C语言链表实现图书管理系统

    之前参照网上的资料用链表实现了图书管理系统,包括简单的增删改查功能以及借书还书功能,我是VC6.0下写的一个控制台程序,格式参照的网上的.在动手编码之前,你需要理清自己的思路.首先,需要确定图书馆里系统中主要有那几个对象,这里我写了学生对象和图书对象.不妨在纸上写出或画出它们主要包括哪些属性以及其可能的对应关系,这里根据不同人的要求会有所不同.清楚这些之后,就可以设计学生和图书的数据结构,比如这里我用的结构体存储其信息.然后就需要考虑,我想要哪些功能,除了基本的增删改查之外,我还想要哪些功能?比

  • C语言链表实现学生管理系统

    本文实例为大家分享了C语言链表实现学生管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<ctype.h> #include<fstream> #include<stdlib.h> #include<string.h> #include<iostream> using namespace std; typedef struct ndoe{ char id[10]; char name[1

随机推荐