天天看点

第二节课作业

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

#include"conio.h"

#define PAGE 3

#define MAX 1000

#define N 5

int k=0;

  /*结构体类型*/

typedef struct 

{   int num;/*产品编号*/

    char name[20];/*产品名称*/

 char studentclass[20];/*产地*/

 int score;/*产品数量*/

}STUDENTS;

int read_file(STUDENTS stu[])

{ FILE *fp;

    int i=0;

 if((fp=fopen("stu.txt","rt"))==NULL)

 {printf("\n\n*****库存文件不存在!请创");

  return 0;

 }

 while(feof(fp)!=1)

    {

 fread(&stu[i],sizeof(STUDENTS),1,fp);

 if(stu[i].num==0)

  break;

 else

  i++;

 fclose(fp);

 return i;

}

void save_file(STUDENTS stu[],int sum)

{FILE*fp;

 int i;

 if((fp=fopen("stu.txt","wb"))==NULL)

 {printf("写文件错误!\n");

  return;

   for(i=0;i<sum;i++)

    if(fwrite(&stu[i],sizeof(STUDENTS),1,fp)!=1)

     printf("写文件错误!\n");

    fclose(fp);

/*创建产品信息*/

int input(STUDENTS stu[])

{  int i,x;

   for(i=0;i<1000;i++)

   {

    system("cls"); 

    printf("\n\n                 录入产品信息  (最多%d个)\n",MAX);

    printf("               ----------------------------\n");

        printf("\n                     第%d个产品",k+1);

     printf("\n 请输入产品编号:");

        scanf("%d",&stu[k].num);

        printf("\n 请输入产品名称:");

        scanf("%s",stu[k].name); 

        printf("\n 请输入产品产地:");

        scanf("%s",stu[k].studentclass);       

        printf("\n 请输入产品数量:");

        scanf("%d",&stu[k++].score);

        printf("\n 请按1键返回菜单或按0键继续创建");

  scanf("%d",&x);

  if(x)

    break;

   }

       return k;

/*删除产品信息*/

void deletel(STUDENTS stu[])

  { system("cls");

   char Stuname2[20];

   int i,j;

   printf("请输入产品名称:");

   scanf("%s",Stuname2);

   printf("\n");

   for(i=0;i<k;i++)

   if(strcmp(stu[i].name,Stuname2)==0)  

     for(j=0;j<20;j++)

       stu[i].name[j]=stu[i+1].name[j];

   k--;

   printf("删除成功\n");

   printf("按任意键加回车返回主菜单!");

   scanf("%d",&i);

   getchar();

/*打印产品信息*/                                                                                                                                                                                                                                                       

void output(STUDENTS stu[])

{  system("cls");

   int i;

   for(i=0;i<k;i++) 

     printf("产品编号:%d,产品名称:%s,产地:%s,产品数量: %d\n",stu[i].num,stu[i].name,

    stu[i].studentclass,stu[i].score);

/*查询产品信息*/

void inquire(STUDENTS stu[])

  { int i;

    int num;

    system("cls");

    printf("     \n\n请输入您要查找的产品的编号");

    scanf("%d",&num);

    for(i=0;i<k;i++)

      if(num==stu[i].num)

         printf("\n\n\n产品编号:%d,产品名称:%s,产地:%s,产品数量: %d\n",stu[i].num,stu[i].name,

   stu[i].studentclass,stu[i].score);

    printf("按任意键加回车返回主菜单!");

 scanf("%d",&i);

    getchar();

  }

/*修改产品信息*/

void change(STUDENTS stu[])

  {  int num,i,choice;

     system("cls");

  printf("\n\n\n      请输入您要修改的产品的编号");

     scanf("%d",&num);

     for(i=0;i<k;i++)

     { if(num==stu[i].num)

         printf("\n产品编号:%d,产品名称:%s,产地:%s,产品数量: %d\n",stu[i].num,stu[i].name,

     printf("\n\n\n     ********请输入您想要修改的数据********\n\n");

     printf("                1. 产品编号\n\n");

     printf("                2. 产品名称\n\n");

     printf("                3. 产地\n\n");

     printf("                4. 产品数量\n\n");

     printf("                 请选择(1-4):");

   scanf("%d",&choice);

   switch(choice)

   {case 1:{

         printf("\n   请输入你改的新产品编号");

            scanf("%d",&stu[i].num);

      break;

      }

    case 2:{

         printf("\n   请输入你改的新产品名称");

            scanf("%s",stu[i].name);

     }

    case 3:{

         printf("\n   请输入你改的新产地");

            scanf("%s",stu[i].studentclass);

    case 4:{

         printf("\n   请输入你改的新产品数量");

            scanf("%d",&stu[i].score);

    printf("产品编号:%d,产品名称:%s,产地:%s,产品数量: %d\n",stu[i].num,stu[i].name,

       printf("按任意键加回车返回主菜单!");

    scanf("%d",&i);

/*产品数量信息排名*/

void sort(STUDENTS stu[])

  {  int i,j,n=1,x;

     int t;

      for(i=0;i<k-1;i++)

  for(j=i+1;j<k;j++)

   if(stu[i].score<stu[j].score)

   { t=stu[i].score;

     stu[i].score=stu[j].score;

     stu[j].score=t;

              t=stu[i].num;

     stu[i].num=stu[j].num;

     stu[j].num=t;