C语言实现房屋管理系统

本文实例为大家分享了C语言房屋管理系统的具体代码,供大家参考,具体内容如下

#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<conio.h>
#define N 100
int res = 0;
 struct Lodginghouse
{
  char Lodginghouse_type[20];    //公寓类型
} Lodginghouse[100];
struct CommonHouse
{
  char building_style[20];     //住宅建筑风格
} CommonHouse[100];
struct Villa
{
  char villa_style[20];  //别墅建筑材料
} villa[100];

struct House
{
  char type[100];   //房屋类型
  int number;   //房屋编号
  // int buildtime;   //已经建立多长时间
  char sold[100];  //是否售出
  int price;     //售卖价格
  int area;   //占地面积(平方米)
  // int postion; //房屋位置,例如北京三环
  // char balcony[20];  //阳台朝向
  // int total_floors;  //房屋总层数
} house[100];

void main();
void menu();
void input();
void save(int);
void display();
void del();
void add();
void array();
void search();
void search_num();
void search_name();
void yusuan();
void modify();
void start(); /*定义各函数*/
void start() //开始界面
{
  system("cls");//清屏
  system("color 1F"); //设置文字颜色为黄色 背景色蓝色
  printf("\n\n\n\n\n\n\n\n\n\n\n\n");

  printf("\t\t********************************************************************************\n");
  printf("\n\n");
  printf("\t\t************************欢迎使用我们的房屋销售管理系统*************************");
  printf("\n\n");
  printf("\t\t********************************************************************************\n\n\n\n\n");
  printf("\t\t\t\t   制作人: \n");
  printf("\t\t\t\t      XXX   XXX   XXX\n");
  printf("\t\t\t\t         XXX   XXX \n");
  printf("\t\t\t\t          XXX XX \n");
  printf("\t\t\t\t            XX\n");
  printf("\t\t\t\t   制作时间: \n");
  printf("\t\t\t\t      2018年6月\n");

  printf("\t\t\t  ***按任意键进入***\n");
}
void menu() //菜单界面
{
  system("cls");
  system("color 1F");
  printf("\n\n\n\n\n\n\n\n\n\n\n\n");
  printf("\t\t\t\t\t************************\n\n");
  printf("\t\t\t\t\t**********菜单**********\n\n");
  printf("\t\t\t\t\t************************\n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 1 输入   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 2 显示   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 3 查找   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 4 删除   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 5 添加   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 6 修改   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 7 预算   \n\n");
  printf(">>>>>>>>>>>>>>>>>>>>>>>>> 8 排序   \n\n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>> 9 退出   \n\n");
  printf("注意:\n");
  printf("首次使用该系统,请选择输入选项,且输入选项会覆盖原有信息。");
}
void input()  /*录入函数*/
{
  int i,m;
  system("cls");
  printf("需要录入的房屋个数(1--100):\n");
  scanf("%d",&m);
  for (i = res; i < m + res; i++)
  {
    printf("请输入房屋类型(公寓,普通住宅,别墅): ");
    scanf("%s",&house[i].type);
    printf("请输入房屋编号: ");
    scanf("%d",&house[i].number);
    // printf("请输入已经建立多长时间: ");
    // scanf("%d",&house[i].buildtime);
    printf("请输入是否售出(是/否): ");
    scanf("%s",&house[i].sold);
    printf("请输入售卖价格: ");
    scanf("%d",&house[i].price);
    printf("请输入占地面积: ");
    scanf("%d",&house[i].area);
    // printf("请输入房屋位置(例如三环输入3): ");
    // scanf("%d",&house[i].postion);
   // printf("请输入阳台朝向(东南西北): ");
   // scanf("%s",&house[i].balcony);
   // printf("请输入房屋总层数: ");
    // scanf("%d",&house[i].total_floors);
    if(strcmp(house[i].type, "公寓") == 0)
    {
      printf("请输入公寓类型: ");
      scanf("%s",&Lodginghouse[i].Lodginghouse_type);
    }
    else if(strcmp(house[i].type, "普通住宅") == 0)
    {
      printf("普通住宅建筑风格: ");
      scanf("%s",&CommonHouse[i].building_style);
    }
    else
    {
      printf("请输入别墅建筑材料: ");
      scanf("%s",&villa[i].villa_style);
    }
    printf("\n");
  }
  res = i;
  printf("\n创建完毕!\n");
  save(m);//保存房屋总数m
}
void save(int m) /*保存文件函数*/
{
  int i, type;
  FILE*fp1, *fp2, *fp3;  //声明fp是指针,用来指向FILE类型的对象
  if ((fp1=fopen("Lodginghouse","wb"))==NULL) //打开房屋列表文件为空
  {
    printf ("打开失败\n");
    exit(0);
  }
  if ((fp2=fopen("Ordinary house","wb"))==NULL) //打开房屋列表文件为空
  {
    printf ("打开失败\n");
    exit(0);
  }
  if ((fp3=fopen("Villa","wb"))==NULL) //打开房屋列表文件为空
  {
    printf ("打开失败\n");
    exit(0);
  }
  for (i=0; i<m; i++) /*将内存中房屋的信息输出到磁盘文件中去*/
  {
    if(strcmp(house[i].type, "公寓") == 0)
    {
      if (fwrite(&house[i],sizeof(struct House),1,fp1)!=1)//写入数据块  &em[i]:是要输出数据的地址 sizeof(struct clerk):获取一个单体的长度 1:数据项的个数 fp:目标文件指针
        printf("文件读写错误\n");
      if (fwrite(&Lodginghouse[i],sizeof(struct Lodginghouse),1,fp1)!=1)
        printf("文件读写错误\n");
    }
    else if(strcmp(house[i].type, "普通住宅") == 0)
    {
      if (fwrite(&house[i],sizeof(struct House),1,fp2)!=1)//写入数据块  &em[i]:是要输出数据的地址 sizeof(struct clerk):获取一个单体的长度 1:数据项的个数 fp:目标文件指针
        printf("文件读写错误\n");
      if (fwrite(&CommonHouse[i],sizeof(struct CommonHouse),1,fp2)!=1)
        printf("文件读写错误\n");
    }
    else
    {
      if (fwrite(&house[i],sizeof(struct House),1,fp3)!=1)//写入数据块  &em[i]:是要输出数据的地址 sizeof(struct clerk):获取一个单体的长度 1:数据项的个数 fp:目标文件指针
        printf("文件读写错误\n");
      if (fwrite(&villa[i],sizeof(struct Villa),1,fp3)!=1)
        printf("文件读写错误\n");
    }
  }

  fclose(fp1);// 缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区
  fclose(fp2);
  fclose(fp3);
}
int load(int type) /*导入函数 int型*/
{
  int k;
  FILE*fp;
  int i=0;
  if(type == 1)  //公寓
  {
    if((fp=fopen("Lodginghouse","rb"))==NULL)
    {
      printf ("cannot open file\n");
      exit(0);
    }
    while(feof(fp)==0) //检测流上的文件结束符
    {
      fread(&house[i],sizeof(struct House),1,fp); //读取
      fread(&Lodginghouse[i],sizeof(struct Lodginghouse),1,fp);
      i++;
    }
  }
  else if(type == 2)   //普通住宅
  {
    if((fp=fopen("Ordinary house","rb"))==NULL)
    {
      printf ("cannot open file\n");
      exit(0);
    }
    while(feof(fp)==0)
    {
      fread(&house[i],sizeof(struct House),1,fp); //读取
      fread(&CommonHouse[i],sizeof(struct CommonHouse),1,fp);
      i++;
    }
  }
  else     //别墅
  {
    if((fp=fopen("Villa","rb"))==NULL)
    {
      printf ("cannot open file\n");
      exit(0);
    }
    while(feof(fp)==0)
    {
      fread(&house[i],sizeof(struct House),1,fp); //读取
      fread(&villa,sizeof(struct Villa),1,fp);
      i++;
    }
  }
  fclose(fp);
  return i - 1;//返回该类房屋个数
}
void search()/*查询函数*/
{
  int t,button;
  system("cls");//清屏
  do
  {
    printf("\n按1 查询\n按2 回主菜单\n");
    scanf("%d",&t);
    if(t>=1&&t<=2)
    {
      button=1;
      break;
    }
    else
    {
      button=0;
      printf("输入错误");
    }
  }
  while(button==0);//回到查询选择项
  while(button==1)
  {
    switch(t)//选择查询方式
    {
    case 1:
      printf("正在查询\n");
      search_num();
      break;
    case 2:
      main();
      break;
    default:
      break;
    }
  }
}
void search_num()//按房屋编号查询
{
  int a, k;
  int i,t;
  int m;
  char s[20];
  printf("请输入要查询的房屋类型:\n");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    k=1;
  else if(strcmp(s, "普通住宅") == 0)
    k=2;
  else
    k=3;
  m=load(k);
  printf("请输入要查找的房屋编号:\n");
  scanf("%d",&a);
  for(i=0; i<m; i++)
    if(a==house[i].number)
    {
      printf("房屋类型  房屋编号  是否售出  价格(元)  面积(平方米)  位置(环)  阳台朝向  总层数(层)");
      if(k == 1) printf("   公寓类型");
      else if(k == 2) printf("   住宅风格");
      else printf("    别墅材料");
      printf("\n");
      printf("\n %-6s   %-6d   %-8s  %-7d", house[i].type, house[i].number, house[i].sold, house[i].price);
      printf("    %-8d ", house[i].area);
      if(k == 1) printf("  %s", Lodginghouse[i].Lodginghouse_type);
      else if(k == 2) printf("  %s", CommonHouse[i].building_style);
      else printf("  %s", villa[i].villa_style);
      break;

    }
  if(i==m)
    printf("\n没有查询到该房\n");
  printf("\n");
  printf("返回查询函数请按1,继续查询房屋编号请按2\n");
  scanf("%d",&t);
  switch(t)
  {
  case 1:
    search();
    break;
  case 2:
    break;
  default:
    break;
  }
}
void display() /*浏览函数*/
{
  int sold, unsold;
  sold = 0;     //各类房屋已售数量
  int i, type;
  char s[20];
  printf("请输入要显示的房屋的种类:");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    type=1;
  else if(strcmp(s, "普通住宅") == 0)
    type=2;
  else
    type=3;
  int m=load(type);
  system("cls");
  printf("房屋类型  房屋编号  是否售出  价格(元)  面积(平方米)  位置(环)  阳台朝向  总层数(层)");
  if(type == 1) printf("   公寓类型");
  else if(type == 2) printf("   住宅风格");
  else printf("    别墅材料");
  printf("\n");
  for(i=0; i<m+res - 1; i++)
  {
    if(strcmp(house[i].sold, "是") == 0) sold++;
    printf("\n %-6s   %-6d    %-8s  %-7d", house[i].type, house[i].number, house[i].sold, house[i].price);
    printf("    %-8d  ", house[i].area);
    if(type == 1) printf("  %s", Lodginghouse[i].Lodginghouse_type);
    else if(type == 2) printf("  %s", CommonHouse[i].building_style);
    else printf("  %s", villa[i].villa_style);
  }
  printf("\n该类楼房已售数量为:%d", sold);
  printf("\n该类楼房未售数量为:%d", m + res - 1 -sold);
}
void add()/*添加函数*/
{
  FILE*fp;
  int n;
  int type;
  int count=0;
  int i;
  char s[20];
  printf("请输入要增添的房屋的种类:");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    type=1;
  else if(strcmp(s, "普通住宅") == 0)
    type=2;
  else
    type=3;
  int m=load(type);
  printf("\n 原来的房屋信息:\n");
  display();
  printf("\n");
  printf("请输入想增加的房屋数:\n");//确定要加入的房屋数n
  scanf("%d",&n);
  for (i=m; i<(m+n); i++) //添加n个房屋的信息
  {
    printf("请输入房屋类型(公寓,普通住宅,别墅): ");
    scanf("%s",&house[i].type);
    printf("请输入房屋编号: ");
    scanf("%d",&house[i].number);

    printf("请输入是否售出(是/否): ");
    scanf("%s",&house[i].sold);
    printf("请输入售卖价格: ");
    scanf("%d",&house[i].price);
    printf("请输入占地面积: ");
    scanf("%d",&house[i].area);

    if(type == 1)
    {
      printf("请输入公寓类型: ");
      scanf("%s",&Lodginghouse[i].Lodginghouse_type);
    }
    else if(type == 2)
    {
      printf("普通住宅建筑风格: ");
      scanf("%s",&CommonHouse[i].building_style);
    }
    else
    {
      printf("请输入别墅建筑材料: ");
      scanf("%s",&villa[i].villa_style);
    }
    printf("\n");
    count=count+1;
    printf("已增加的房屋数:\n");
    printf("%d\n",count);
  }
  save(m + n);
  printf("\n添加成功\n");
  printf("\n增加后的所有房屋信息:\n");
  display();//显示添加后的信息
}
void modify() /*修改函数*/
{
  int k;
  char s[100];
  char type[100];
  int number;

  char sold[100];
  int price;
  int area;

  char Lodginghouse_type[100];
  char building_style[20];
  char villa_style[20];
  int b,c,i,n,t,button;
  printf("请输入要修改的房屋所属种类:");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    k=1;
  else if(strcmp(s, "普通住宅") == 0)
    k=2;
  else
    k=3;
  int m=load(k);
  system("cls");

  printf("\n 原来的房屋信息:\n");
  display();
  printf("\n");

  printf("请输入要修改的房屋的编号:\n");
  scanf("%d",&number);
  for(button=1,i=0; button&&i<m; i++)
  {
    if(house[i].number == number)
    {
      printf("\n该房屋原始记录为:\n");
      printf("房屋类型  房屋编号  是否售出  价格(元)  面积(平方米) ");
      if(k == 1) printf("   公寓类型");
      else if(k == 2) printf("   住宅风格");
      else printf("    别墅材料");
      printf("\n %-6s   %-6d    %-8s  %-7d", house[i].type, house[i].number, house[i].sold, house[i].price);
      printf("    %-8d  ", house[i].area);
      if(k == 1) printf("  %s", Lodginghouse[i].Lodginghouse_type);
      else if(k == 2) printf("  %s", CommonHouse[i].building_style);
      else printf("  %s", villa[i].villa_style);
      printf("\n确定 按1 ; 不修改请按0\n");
      scanf("%d",&n);
      if(n==1)
      {
        printf("\n需要进行修改的选项\n 1.房屋类型 2.房屋编号4.是否售出 5.价格 6.面积");
        if(k==1) printf("10.公寓类型 ");
        else if(k == 2) printf("10.住宅风格 ");
        else printf("10.别墅材料 ");
        printf("11.返回上层\n");
        printf("请选择序号1-11:\n");
        scanf("%d",&c);
        if(c>11||c<1)
          printf("\n选择错误,请重新选择!\n");
      }
      button=0;
    }

  }
  if(button==1)
    printf("\n没有查到该房屋\n");

  do
  {
    switch(c)   /*因为当找到第i个房屋时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个*/
    {
    case 1:
      printf("房屋类型改为: ");
      scanf("%s",&type);
      strcpy(house[i - 1].type,type);
      break;
    case 2:
      printf("房屋编号改为: ");
      scanf("%d",&number);
      house[i-1].number=number;
      break;

    case 4:
      printf("该房屋是否售出改为: ");
      scanf("%s",&sold);
      strcpy(house[i-1].sold, sold);
      break;
    case 5:
      printf("房屋价格改为: ");
      scanf("%d",&price);
      house[i-1].price=price;
      break;
    case 6:
      printf("房屋面积改为:");
      scanf("%d", &area);
      house[i-1].area=area;
      break;

    case 10:
      if(k == 1)
      {
        printf("公寓类型改为:");
        scanf("%s", &Lodginghouse_type);
        strcpy(Lodginghouse[i-1].Lodginghouse_type, Lodginghouse_type);
        break;
      }
      else if(k == 2)
      {
        printf("住宅风格改为:");
        scanf("%s", &building_style);
        strcpy(CommonHouse[i-1].building_style, building_style);
        break;
      }
      else
      {
        printf("别墅建筑材料改为:");
        scanf("%s", &villa_style);
        strcpy(villa[i-1].villa_style, villa_style);
        break;
      }
      break;
    case 11:
      modify();
      break;
    }

    printf("\n");
    printf("\n\n 确定修改 请按1 ; 重新修改 请按2: \n");
    scanf("%d",&b);
  }while(b==2);
  printf("\n修改后的所有房屋信息:\n");
  printf("\n");
  save(m);

  display();
  printf("\n按1 继续修改 ,不再修改请按0\n");
  scanf("%d",&t);
  switch(t)
  {
  case 1:
    modify();
    break;
  case 0:
    break;
  default :
    break;
  }
}
void del()  /*删除函数 */
{
  int type;
  char s[100];
  int i,j,n,t,button;
  int number;
  printf("请输入需要删除的房屋所属种类:");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    type=1;
  else if(strcmp(s, "普通住宅") == 0)
    type=2;
  else
    type=3;
  int m=load(type);
  printf("\n 原来的房屋信息:\n");
  display(); //显示删除前的房屋信息
  printf("\n");

  printf("请输入需要删除的房屋的编号:\n");
  scanf("%d",&number);
  for(button=1,i=0; button&&i<m; i++) //主函数中确定button==1时各函数才可以被调用
  {
    if(house[i].number == number)//按员工姓名查找到某员工 并调出其资料
    {
      printf("\n该房屋原始记录为:\n");//显示选定员工的信息
      printf("房屋类型  房屋编号 是否售出  价格(元)  面积(平方米) ");
      if(type == 1) printf("   公寓类型");
      else if(type == 2) printf("   住宅风格");
      else printf("    别墅材料");
      printf("\n %-6s   %-6d   %-8d   %-8s  %-7d", house[i].type, house[i].number, house[i].sold, house[i].price);
      printf("    %-8d ", house[i].area);
      if(type == 1) printf("  %s", Lodginghouse[i].Lodginghouse_type);
      else if(type == 2) printf("  %s", CommonHouse[i].building_style);
      else printf("  %s", villa[i].villa_style);
      printf("\n确定删除 请按1,不删除请按0\n");
      scanf("%d",&n);
      if(n==1)
      {
        for(j=i; j<m-1; j++) //从第i项开始 将后一项的各值赋给前一项各对应的 完成对第i项的删除
        {
          strcpy(house[j].type,house[j+1].type);
          house[j].number=house[j+1].number;
          // house[j].buildtime=house[j+1].buildtime;
          strcpy(house[j].sold, house[j+1].sold);
          house[j].price=house[j+1].price;
          house[j].area=house[j+1].area;
          //house[j].postion=house[j+1].postion;
          // strcpy(house[j].balcony, house[j+1].balcony);
          //house[j].total_floors=house[j+1].total_floors;
          if(type == 1) strcpy(Lodginghouse[j].Lodginghouse_type, Lodginghouse[j+1].Lodginghouse_type);
          else if(type == 2) strcpy(CommonHouse[j].building_style, CommonHouse[j+1].building_style);
          else strcpy(villa[j].villa_style, villa[j+1].villa_style);
        }
        button=0;
      }
    }
  }
  if(!button)//button==0表明删除已完成
    m=m-1;//总房屋数减少一人
  else
    printf("\n查无此房屋!\n");
  printf("\n 删除后的所有房屋信息:\n");
  save(m);   //调用保存函数
  display(); //调用浏览函数

  printf("\n继续删除请按1,不再删除请按0\n");
  scanf("%d",&t);
  switch(t)
  {
  case 1:
    del();
    break;
  case 0:
    break;
  default :
    break;
  }
}
void yusuan()
{
  int i;
  int type;
  char s[100];
  int ayusuan = 0;     //代表预算
  printf("请输入需要预算的房屋种类:");
  scanf("%s", &s);
  if(strcmp(s, "公寓") == 0)
    type=1;
  else if(strcmp(s, "普通住宅") == 0)
    type=2;
  else
    type=3;
  int m=load(type);
  for (i=0; i<m; i++)
  {
    ayusuan += house[i].price;
  }
  if(type == 1)
    printf("公寓全部卖出的预算为:");
  else if(type == 2)
    printf("普通住宅全部卖出的预算为:");
  else
    printf("别墅全部卖出的预算为:");
  printf("%d\n", ayusuan);
}
void sort_realw()
{
  int i,j,k,m,l;
  char s;
  printf("请输入需要排序的房屋所属种类:");
  scanf("%s",&s);
  if(strcmp(s, "公寓") == 0)
    l=1;
  else if(strcmp(s, "普通住宅") == 0)
    l=2;
  else
    l=3;
  m=load(k);
  struct House replace;
  struct House *p;
  p=house;
  for(i=0;i<m-1;i++)
  {
    k=i;
    for(j=i+1;j<m;j++)
    {
     if(p[k].price<p[j].price)
      k=j;
     replace=house[k];
     house[k]=house[i];
     house[i]=replace;
    }
  }

  for(i=0;i<m;i++)
  {

    printf("房间号  面积  价格 类型  销售状态  \n");
    printf("\n %-6d %-6d %-8d %-8s %-8s ",house[i].number,house[i].area,house[i].price,house[i].type,house[i].sold);
  }

}
void main()//主函数
{
  int n, m, button;
  char a;
  start();
  getch();
  menu();
  do
{
      printf("功能选择(1—9 ):\n");
    scanf("%d",&n);
    if(n>=1&&n<=8)
    {
      button=1;
      break;
    }
    else if(n == 9)
    {
      exit(0);
    }
    else
    {
      button=0;
      printf("您输入有误,请重新选择!");
    }
  }
  while(button==0);
  while(button==1)
  {
    switch(n)
    {
    case 1:
      input();
      break;
    case 2:
      display();
      break;
    case 3:
      search();
      break;

    case 4:
      del();
      break;
    case 5:
      add();
      break;
    case 6:
      modify();
      break;
    case 7:
      yusuan();
      break;
case 8:
      yusuan();
      break;

    case 9:
      exit(0);
      break;
    default :
      break;
    }
    getchar();
    printf("\n");
    printf("按任意键继续\n");
    getch();
    system("cls"); /*清屏*/
    menu(); /*调用菜单函数*/
    printf("功能选择(1--9):\n");
    scanf("%d",&n);
    printf("\n");
  }
}

注意:计算房屋的总数的时候,一定注意全局变量数值的初始化与更新

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

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

(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语言利用结构体数组实现学生成绩管理系统

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

  • 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语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #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语言图书管理系统简洁版

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

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

  • 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语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #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语言实现房屋管理系统

    本文实例为大家分享了C语言房屋管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<windows.h> #include<string.h> #include<conio.h> #define N 100 int res = 0; struct Lodginghouse { char Lodginghouse_type[20]; //公寓类型 } Lodginghouse[100]; struct Common

  • C语言实现酒店管理系统

    本文实例为大家分享了C语言实现酒店管理系统的具体代码,供大家参考,具体内容如下 代码如下: #include<bits/stdc++.h> #include<conio.h> #include <windows.h> #include<string.h> #include<time.h> #define NUM 1000 //控制房间个数 int j; void LoginRoom();//登记房屋 void SearchRoom();//搜寻房

  • C语言学生成绩管理系统小设计

    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

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

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • C语言实现病例管理系统

    本文实例为大家分享了C语言实现病例管理系统的具体代码,供大家参考,具体内容如下 通过十字交叉链表实现一个病例管理系统,可以查找.删除.更新信息. #include"stdio.h" #include"stdlib.h" #include"string.h" typedef struct hospital_info{ char dise_num[10]; /*病历编号*/ char ke[10]; /*门诊科别*/ char date[11]; /

随机推荐