c语言课设(图书、学生、车辆管理系统)——从零编程,我的代码之路(7)
2019-07-04 21:03
447 查看
最近感觉大家好多在忙c语言课设,我来贡献一下
用到了要点赞收藏喔
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int bs = 0; //ÊéµÄ×ÜÊý struct Book { int ISBN; //ISBN±àºÅ char name[100]; //Êé¼®Ãû³Æ char author[100]; //×÷Õß char pub[100]; //³ö°æÉç float price; //¼Û¸ñ int stock; //¿â´æ bool out; //ÊÇ·ñ½è³ö 1Ôڹݡ£0½è³ö struct Book * next; }; void Init(Book *& books) //³õʼ»¯Á´±í { books = (Book *)malloc(sizeof(Book)); books -> next = NULL; Book * s,* r = books; FILE *flie; flie=fopen("prebook.txt","r"); while (!feof(flie)) { s = (Book *)malloc(sizeof(Book)); fscanf(flie,"%d\n",&s -> ISBN); fscanf(flie,"%s\n",s -> name); fscanf(flie,"%s\n",s -> author); fscanf(flie,"%s\n", s -> pub); fscanf(flie,"%f\n",&s -> price); fscanf(flie,"%d\n",&s -> stock); fscanf(flie,"%d\n",&s -> out); r -> next = s; r = s; r -> next = NULL; bs++; } flie=fopen("prelendingbook.txt","r"); while (!feof(flie)) { s = (Book *)malloc(sizeof(Book)); fscanf(flie,"%d\n",&s -> ISBN); fscanf(flie,"%s\n",s -> name); fscanf(flie,"%s\n",s -> author); fscanf(flie,"%s\n", s -> pub); fscanf(flie,"%f\n",&s -> price); fscanf(flie,"%d\n",&s -> stock); fscanf(flie,"%d\n",&s -> out); r -> next = s; r = s; r -> next = NULL; bs++; } } void add(Book * &books) // Ôö¼ÓͼÊé { Book * s,* r = books; while (true) { s = (Book *)malloc(sizeof(Book)); printf(" ÇëÊäÈëÄãÐèҪ¼ÈëµÄͼÊéÐÅÏ¢£º\n"); printf(" ISBN±àºÅ:"); scanf("%d",&s -> ISBN); printf(" Êé¼®Ãû³Æ£º"); scanf("%s",s -> name); printf(" ×÷Õߣº"); scanf("%s",s -> author); printf(" ³ö°æÉ磺"); scanf("%s", s -> pub); printf(" ÊÛ¼Û£º"); scanf("%f",&s -> price); printf(" Êé¼®ÊýÁ¿£º"); scanf("%d",&s -> stock); s -> out = 0 ; r -> next = s; r = s; r -> next = NULL; bs++; printf(" Ìí¼Ó³É¹¦¡£ÊÇ·ñ»¹Òª´æÈëͼÊ飺£¨Y/N£©"); char ch; scanf("%s",&ch); if (ch == 'Y' || ch == 'y') { continue; } else { break; } } } void LookAll(Book * & books) //ä¯ÀÀËùÓеÄͼÊé { Book * p = books -> next; if (p == NULL) { printf(" ͼÊé¹ÝÉÐδÊÕ¼Ê飡\n"); return; } while (p != NULL) { printf(" ISBN±àºÅ£º%d\n",p -> ISBN); printf(" Êé¼®Ãû³Æ£º%s\n",p -> name); printf(" ×÷Õߣº%s\n",p -> author); printf(" ³ö°æÉ磺%s\n",p -> pub); printf(" ÊÛ¼Û£º%.2f\n",p -> price); printf(" Êé¼®ÊýÁ¿£º%d\n",p -> stock); if(p->out==0)printf(" ¸ÃÊé¼®Òѽè³ö¡£"); else printf(" ¸ÃÊé¼®Ôڹݡ£"); p = p -> next; } } void find(Book *& books) //²éÕÒͼÊé { Book * p = books -> next; bool flag = true; char fd[20]; printf(" Êé¼®Ãû³Æ£º"); scanf("%s",fd); while (p != NULL) { if (strcmp(fd,p -> name) == 0) { flag = false; printf(" ISBN±àºÅ£º%d\n",p -> ISBN); printf(" Êé¼®Ãû³Æ£º%s\n",p -> name); printf(" ×÷Õߣº%s\n",p -> author); printf(" ³ö°æÉ磺%s\n",p -> pub); printf(" ÊÛ¼Û£º%.2f\n",p -> price); printf(" Êé¼®ÊýÁ¿£º%d\n",p -> stock); } p = p -> next; } if (flag) printf(" ͼÊé¹ÝÔÝδÊÕ¼´ËÊé\n"); } void Delect(Book *& books) //ɾ³ýͼÊé { Book * p = books -> next,*r; char del[20]; bool flag = true; printf(" ÇëÊäÈëÄãÐèҪɾ³ýµÄͼÊéÃû³Æ£º"); scanf("%s",del); while(p != NULL) { if (strcmp(del,p -> name) == 0) { bs --; flag = false; break; } else p = p -> next; } if (!flag) { r = books; for (;r -> next != p;) { r = r -> next; } r -> next = p -> next; printf(" ͼÊéɾ³ý³É¹¦£¡\n"); FILE * fp; fp = fopen("deletebooksdata.txt","w+"); fprintf(fp," Êé¼®Ãû³Æ£º%s",del); fclose(fp); } if(flag) printf(" ɾ³ý³ö´í£¡Í¼Êé¹ÝÖÐûÓиòØÊ飡\n"); } void Updata(Book * &books) //¸üÐÂͼÊéÐÅÏ¢ { int flag = true; Book * p = books -> next; printf(" ÇëÊäÈëÄãÐèÒª½è³ö/¹é»¹µÄͼÊéÐÅÏ¢£º"); char gx[20]; scanf("%s",gx); while (p != NULL) { if (strcmp(gx,p -> name) == 0) { printf(" ½è³öÇé¿ö¸üÐÂΪ(0/1)£º"); scanf("%d",&p -> out); flag = false; printf(" Ð޸ijɹ¦£¡"); return; } else p = p -> next; } if(!flag) printf(" ͼÊéÐÅÏ¢¸üгö´í£¡\nͼÊé¹ÝÔÝÎÞ´ËÊ飬ÇëÑ¡ÔñÌí¼ÓͼÊ鹦ÄÜ\n"); } void save(Book * &books) { Book * p = books -> next; FILE * fp; fp = fopen("booksdata.txt","w+"); while (p != NULL) { fprintf(fp,"ISBN±àºÅ£º%d",p -> ISBN); fprintf(fp," Êé¼®Ãû³Æ£º%s",p -> name); fprintf(fp," ×÷Õߣº%s",p -> author); fprintf(fp," ³ö°æÉ磺%s",p -> pub); fprintf(fp," ÊÛ¼Û£º%.2f",p -> price); fprintf(fp," Êé¼®ÊýÁ¿£º%d\n",p -> stock); p = p -> next; } fclose(fp); p = books -> next; FILE * fpp; fpp = fopen("lendingbooks.txt","w+"); while (p != NULL) { if(p->out==1) { fprintf(fp,"ISBN±àºÅ£º%d",p -> ISBN); fprintf(fp," Êé¼®Ãû³Æ£º%s",p -> name); fprintf(fp," ×÷Õߣº%s",p -> author); fprintf(fp," ³ö°æÉ磺%s",p -> pub); fprintf(fp," ÊÛ¼Û£º%.2f",p -> price); fprintf(fp," Êé¼®ÊýÁ¿£º%d\n",p -> stock); p = p -> next; } } fclose(fp); } int main() { system("color 3E"); Book * books; Init(books); int m; while(true) { Sleep(1500); system("cls"); printf("\n"); printf(" ©°©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©Ð©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©´\n"); //¨D¨D printf(" ©¦ »¶ÓÀ´µ½Í¼Êé¹ÜÀíϵͳ ©¦ ©¦\n"); printf(" ©¦ d=====(£þ¨Œ£þ*)b <(£þ¦á£þ)¨J[GO!]©¦ ¹Ý²ØͼÊéÊýÁ¿£º%d ©¦\n",bs); 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(" ©¦ £¨6£©Í˳öͼÊé¹ÜÀíϵͳ ©¦\n"); printf(" ©¸©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©½\n"); printf(" ÇëÑ¡Ôñ¹¦ÄÜ£º"); scanf("%d",&m); if (m == 1) add(books); else if (m == 2) Delect(books); else if (m == 3) LookAll(books); else if (m == 4) find(books); else if (m == 5) Updata(books); else break; save(books); } return 0; }
# include <stdio.h> # include <windows.h> # include <malloc.h> # include <string.h> # include <stdlib.h> # define OK 1 # define ERROR 0 typedef struct { char num[12]; //员工编号 char name[12]; //姓名 char phone[12]; //电话 }StaffInform; //类型 //员工信息结构体完成 typedef struct node { StaffInform data; //数据域 struct node *next; }Staff_List; //员工信息表结构体 typedef struct { char brand[11]; //品牌 char age[6]; //车龄 char color[11]; //颜色 char number[11]; //车牌号 char place[11]; //归属地 }CarInform; //车辆基本信息结构体完成 typedef struct spot { CarInform data; //数据域 struct spot *next; }Car_List; //车辆信息表结构体 typedef struct { char bianhao[11]; //编号 char num[11]; //员工编号 char number[11]; //车牌号 //char totime[11]; //出发时间 //char gettime[11]; //返回时间 }UseIform; //车辆使用结构体完成 typedef struct spot1 { UseIform data; struct spot1 *next; }Use_List; //车辆使用表结构体// //******************************************************// void huanhang() { printf("\n|----------------------------------------------------------------------|\n\n"); } /******员工信息表的建立*******/ Staff_List * create_staff() { Staff_List *p; p=(Staff_List *)malloc(sizeof(Staff_List)); p->next=NULL; return p; } /******车辆信息表的建立*******/ Car_List * create_car() { Car_List *p; p=(Car_List *)malloc(sizeof(Car_List)); p->next=NULL; return p; } /******使用登记信息表的建立*******/ Use_List * create_use() { Use_List *p; p=(Use_List *)malloc(sizeof(Use_List)); p->next=NULL; return p; } /******读取员工信息表*******/ void read_staff(Staff_List *&head) { FILE *flie; Staff_List *newnode,*r,*rre; r=head; if((flie=fopen("staff.txt","r"))==NULL) { flie=fopen("staff.txt","a"); } while(!feof(flie)) { newnode=(Staff_List *)malloc(sizeof(Staff_List)); fscanf(flie,"%s\n",newnode->data.num); fscanf(flie,"%s\n",newnode->data.name); fscanf(flie,"%s\n",newnode->data.phone); printf("%s",newnode->data.name); newnode->next=r->next; r->next=newnode; rre=r; r=r->next; } rre->next=NULL; fclose(flie); } /******读取车辆信息表*******/ void read_car(Car_List *&head) { FILE *flie; Car_List *newnode,*r,*rre; r=head; if((flie=fopen("car.txt","r"))==NULL) { flie=fopen("car.txt","a+"); } while(!feof(flie)) { newnode=(Car_List *)malloc(sizeof(Car_List)); fscanf(flie,"%s\n",newnode->data.number); fscanf(flie,"%s\n",newnode->data.color); fscanf(flie,"%s\n",newnode->data.age); fscanf(flie,"%s\n",newnode->data.brand); fscanf(flie,"%s\n",newnode->data.place); newnode->next=r->next; r->next=newnode; rre=r; r=r->next; } rre->next=NULL; fclose(flie); } /******读取使用登记信息表*******/ void read_use(Use_List *&head) { FILE *flie; Use_List *newnode,*r,*rre; r=head; if((flie=fopen("use.txt","r"))==NULL) { flie=fopen("use.txt","a+"); } while(!feof(flie)) { newnode=(Use_List *)malloc(sizeof(Use_List)); fscanf(flie,"%s\n",newnode->data.bianhao); fscanf(flie,"%s\n",newnode->data.number); fscanf(flie,"%s\n",newnode->data.num); newnode->next=r->next; r->next=newnode; rre=r; r=r->next; } rre->next=NULL; fclose(flie); } /******写入员工信息表*******/ void write_staff(Staff_List *&head) { FILE *file; Staff_List *p; p=head->next; if((file=fopen("staff.txt","w"))==NULL) { printf("文件不存在!\n"); exit(0); } while(p!=NULL) { fprintf(file,"%s\n",p->data.num); fprintf(file,"%s\n",p->data.name); fprintf(file,"%s\n",p->data.phone); p=p->next; } fclose(file); } /******写入车辆信息表*******/ void write_car(Car_List *&head) { FILE *file; Car_List *p; p=head->next; if((file=fopen("car.txt","w"))==NULL) { printf("文件不存在!\n"); exit(0); } while(p!=NULL) { fprintf(file,"%s\n",p->data.number); fprintf(file,"%s\n",p->data.color); fprintf(file,"%s\n",p->data.age); fprintf(file,"%s\n",p->data.brand); fprintf(file,"%s\n",p->data.place); p=p->next; } fclose(file); } /******写入使用登记信息表*******/ void write_use(Use_List *&head) { Use_List *p; p=head->next; FILE *file; if((file=fopen("use.txt","w"))==NULL) { printf("文件不存在!\n"); exit(0); } while(p!=NULL) { fprintf(file,"%s\n",p->data.bianhao); fprintf(file,"%s\n",p->data.number); fprintf(file,"%s\n",p->data.num); p=p->next; } fclose(file); } /*****************************************/ /**********员工信息表的操作***************/ /*****************************************/ /******输入员工信息*******/ void print_staff(Staff_List *&head) { int choose; Staff_List *newnode; while(1) { newnode=(Staff_List *)malloc(sizeof(Staff_List)); printf("请输入员工编号:"); fflush(stdin); scanf("%s",newnode->data.num); printf("请输入姓名:"); fflush(stdin); scanf("%s",newnode->data.name); printf("请输入联系方式:"); fflush(stdin); scanf("%s",newnode->data.phone); newnode->next=head->next; head->next=newnode; printf("输入成功!\n"); printf("请输入“1”以继续输入,否则将结束输入:"); fflush(stdin); scanf("%d",&choose); if(choose!=1) { return; } } } /******修改员工信息*******/ void xiugai_staff(Staff_List *&head) { int flag=0; char num[11]; Staff_List *p; p=head->next; printf("请输入员工编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.num,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("请输入员工编号:"); fflush(stdin); scanf("%s",p->data.num); printf("请输入姓名:"); fflush(stdin); scanf("%s",p->data.name); printf("请输入联系方式:"); fflush(stdin); scanf("%s",p->data.phone); printf("修改成功!\n"); } /******打印员工信息*******/ void prt_staff(Staff_List *&head) { Staff_List *p; p=head->next; while(p!=NULL) { printf("员工编号:%5s\t姓名:%7s\t联系方式:%s\n",p->data.num,p->data.name,p->data.phone); p=p->next; } } /******插入员工信息*******/ void insert_staff(Staff_List *&head) { int flag=0,choose; char num[11]; Staff_List *p,*pre; p=head; printf("请输入员工编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.num,num)) { flag=1; break; } pre=p; p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("员工编号:%5s\t姓名:%7s\t联系方式:%s\n",p->data.num,p->data.name,p->data.phone); printf("请输入“1”来确认删除,否则将结束:"); fflush(stdin); scanf("%d",&choose); if(choose==1) { pre->next=p->next; p->next=NULL; free(p); } printf("删除成功\n"); } /******删除员工信息*******/ void locate_staff(Staff_List *&head) { int flag=0; char num[11]; Staff_List *p; p=head->next; printf("请输入员工编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.num,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("员工编号:%5s\t姓名:%7s\t联系方式:%s\n",p->data.num,p->data.name,p->data.phone); } /******员工信息表菜单*******/ void menu_staff(Staff_List *&head) { int choose; while(1) { Sleep(3000); system("cls"); huanhang(); printf("欢迎使用本程序!\n"); printf("1.输入信息\n"); printf("2.修改信息\n"); printf("3.打印信息\n"); printf("4.删除信息\n"); printf("5.查找信息\n"); printf("6.返回\n"); printf("请输入你的选择:"); fflush(stdin); scanf("%d",&choose); huanhang(); switch(choose) { case 1:huanhang();print_staff(head);huanhang();break; case 2:huanhang();xiugai_staff(head);huanhang();break; case 3:huanhang();prt_staff(head);huanhang();break; case 4:huanhang();insert_staff(head);huanhang();break; case 5:huanhang();locate_staff(head);huanhang();break; case 6:return; default:printf("error!"); } } } /*****************************************/ /***********车辆信息表********************/ /*****************************************/ /******录入车辆信息*******/ void print_car(Car_List *&head) { int choose; Car_List *newnode; while(1) { newnode=(Car_List *)malloc(sizeof(Car_List)); printf("请输入车牌号:"); fflush(stdin); scanf("%s",newnode->data.number); printf("请输入车辆颜色:"); fflush(stdin); scanf("%s",newnode->data.color); printf("请输入车龄:"); fflush(stdin); scanf("%s",newnode->data.age); printf("请输入品牌:"); fflush(stdin); scanf("%s",newnode->data.brand); printf("请输入归属地:"); fflush(stdin); scanf("%s",newnode->data.place); newnode->next=head->next; head->next=newnode; printf("输入成功!\n"); printf("请输入“1”以继续输入,否则将结束输入:"); fflush(stdin); scanf("%d",&choose); if(choose!=1) { return; } } } /******修改车辆信息*******/ void xiugai_car(Car_List *&head) { int flag=0; char num[11]; Car_List *p; p=head->next; printf("请输入车牌号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.number,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("请输入车牌号:"); fflush(stdin); scanf("%s",p->data.number); printf("请输入车辆颜色:"); fflush(stdin); scanf("%s",p->data.color); printf("请输入车龄:"); fflush(stdin); scanf("%s",p->data.age); printf("请输入品牌:"); fflush(stdin); scanf("%s",p->data.brand); printf("请输入归属地:"); fflush(stdin); scanf("%s",p->data.place); printf("修改成功!\n"); } /******打印车辆信息*******/ void prt_car(Car_List *&head) { Car_List *p; p=head->next; while(p!=NULL) { printf("车牌号:%s\t颜色:%s\t车龄:%s\t品牌:%s\t:归属地%s\n",p->data.number,p->data.color,p->data.age,p->data.brand,p->data.place); p=p->next; } } /******插入车辆信息*******/ void insert_car(Car_List *&head) { int flag=0,choose; char num[11]; Car_List *p,*pre; p=head; printf("请输入车牌号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.number,num)) { flag=1; break; } pre=p; p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("车牌号:%s\t颜色:%s\t车龄:%s\t品牌:%s\t:归属地%s\n",p->data.number,p->data.color,p->data.age,p->data.brand,p->data.place); printf("请输入“1”来确认删除,否则将结束:"); fflush(stdin); scanf("%d",&choose); if(choose==1) { pre->next=p->next; p->next=NULL; free(p); } printf("删除成功\n"); } /******删除车辆信息*******/ void locate_car(Car_List *&head) { int flag=0; char num[11]; Car_List *p; p=head->next; printf("请输入编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.number,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("车牌号:%s\t颜色:%s\t车龄:%s\t品牌:%s\t:归属地%s\n",p->data.number,p->data.color,p->data.age,p->data.brand,p->data.place); } /******车辆信息表菜单*******/ void menu_car(Car_List *&head) { int choose; while(1) { Sleep(3000); system("cls"); huanhang(); printf("欢迎使用本程序!\n"); printf("1.输入信息\n"); printf("2.修改信息\n"); printf("3.打印信息\n"); printf("4.删除信息\n"); printf("5.查找信息\n"); printf("6.返回\n"); printf("请输入你的选择:"); fflush(stdin); scanf("%d",&choose); huanhang(); switch(choose) { case 1:huanhang();print_car(head);huanhang();break; case 2:huanhang();xiugai_car(head);huanhang();break; case 3:huanhang();prt_car(head);huanhang();break; case 4:huanhang();insert_car(head);huanhang();break; case 5:huanhang();locate_car(head);huanhang();break; case 6:return; default:printf("error!"); } } } /*****************************************/ /************使用登记信息表*************/ /*****************************************/ /******录入使用信息*******/ void printf_use(Use_List *&head) { int choose; Use_List *newnode; while(1) { newnode=(Use_List *)malloc(sizeof(Use_List)); printf("请输入编号:"); fflush(stdin); scanf("%s",newnode->data.bianhao); printf("请输入车牌号:"); fflush(stdin); scanf("%s",newnode->data.number); printf("请输入员工编号:"); fflush(stdin); scanf("%s",newnode->data.num); newnode->next=head->next; head->next=newnode; printf("输入成功!\n"); printf("请输入“1”以继续输入,否则将结束输入:"); fflush(stdin); scanf("%d",&choose); if(choose!=1) { return; } } } /******修改使用信息*******/ void xiugai_use(Use_List *&head) { int flag=0; char num[11]; Use_List *p; p=head->next; printf("请输入编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.bianhao,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("请输入编号:"); fflush(stdin); scanf("%s",p->data.bianhao); printf("请输入车牌号:"); fflush(stdin); scanf("%s",p->data.number); printf("请输入员工编号:"); fflush(stdin); scanf("%s",p->data.num); printf("修改成功!\n"); } /******打印使用信息*******/ void prt_use(Staff_List *&head1,Car_List *&head2,Use_List *&head3) { int flag=0,message=0; Staff_List *a; Car_List *b; Use_List *p; a=head1->next; b=head2->next; p=head3->next; while(p!=NULL) { a=head1->next; b=head2->next; flag=0; message=0; printf("编号:%s\t",p->data.bianhao); while(a!=NULL) { if(!strcmp(a->data.num,p->data.num)) { flag=1; printf("员工编号:%5s\t姓名:%7s\t联系方式:%s\t",a->data.num,a->data.name,a->data.phone); break; } a=a->next; } while(b!=NULL) { if(!strcmp(b->data.number,p->data.number)) { message=1; printf("车牌号:%s\t颜色:%s\t车龄:%s\t品牌:%s\t:归属地%s\t",b->data.number,b->data.color,b->data.age,b->data.brand,b->data.place); break; } b=b->next; } if(flag==0) { printf("员工编号:%s(尚无对应)\t",p->data.num); } if(message==0) { printf("车牌号:%s(尚无对应)\t",p->data.number); } printf("\n"); p=p->next; } } /******插入使用信息*******/ void insert_use(Use_List *&head) { int flag=0,choose; char num[11]; Use_List *p,*pre; p=head; printf("请输入编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.bianhao,num)) { flag=1; break; } pre=p; p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("编号:%s\t员工编号:%s\t车牌号:%s\n",p->data.bianhao,p->data.num,p->data.number); printf("请输入“1”来确认删除,否则将结束:"); fflush(stdin); scanf("%d",&choose); if(choose==1) { pre->next=p->next; p->next=NULL; free(p); } printf("删除成功\n"); } /******删除使用信息*******/ void locate_use(Use_List *&head) { int flag=0; char num[11]; Use_List *p; p=head->next; printf("请输入编号:"); fflush(stdin); scanf("%s",num); while(p!=NULL) { if(!strcmp(p->data.number,num)) { flag=1; break; } p=p->next; } if(flag==0) { printf("can not find!\n"); return; } printf("it has been found:\n"); printf("编号:%s\t员工编号:%s\t车牌号:%s\n",p->data.bianhao,p->data.num,p->data.number); } /******使用信息表菜单*******/ void menu_use(Staff_List *&head1,Car_List *&head2,Use_List *&head3) { int choose; while(1) { Sleep(3000); system("cls"); huanhang(); printf("欢迎使用本程序!\n"); printf("1.输入信息\n"); printf("2.修改信息\n"); printf("3.打印信息\n"); printf("4.删除信息\n"); printf("5.查找信息\n"); printf("6.返回\n"); printf("请输入你的选择:"); fflush(stdin); scanf("%d",&choose); huanhang(); switch(choose) { case 1:huanhang();printf_use(head3);huanhang();break; case 2:huanhang();xiugai_use(head3);huanhang();break; case 3:huanhang();prt_use(head1,head2,head3);huanhang();break; case 4:huanhang();insert_use(head3);huanhang();break; case 5:huanhang();locate_use(head3);huanhang();break; case 6:return; default:printf("error!"); } } } /*********主菜单**********/ void menu(Staff_List *&head1,Car_List *&head2,Use_List *&head3) { int choose; while(1) { //Sleep(3000); //system("cls"); huanhang(); printf("欢迎使用本程序!\n"); printf("1.员工信息管理\n"); printf("2.汽车信息管理\n"); printf("3.登记信息管理\n"); printf("4.退出程序\n"); printf("请输入你的选择:"); fflush(stdin); scanf("%d",&choose); huanhang(); switch(choose) { case 1:huanhang();menu_staff(head1);huanhang();break; case 2:huanhang();menu_car(head2);huanhang();break; case 3:huanhang();menu_use(head1,head2,head3);huanhang();break; case 4:return; default:printf("error!"); } } } /*********主函数**********/ int main() { Staff_List *my_staff; Car_List *my_car; Use_List *my_use; my_staff=create_staff(); // my_car=create_car(); // my_use=create_use(); read_staff(my_staff); // read_car(my_car); // read_use(my_use); menu(my_staff,my_car,my_use); write_staff(my_staff); // write_car(my_car); // write_use(my_use); return 0; }
#include<stdio.h> #include<string.h> #include<stdlib.h> #define maxn 1000 typedef struct student { char name[20];//姓名 char id[10];//学号 char sex[10];//性别 int class_num;//班级 double chinese;//分数 double math;//分数 double english;//分数 double score;//平均分数 double all; int pos; } Stu; Stu s[maxn]; int n=0; int Menu();//菜单 void Add();//添加 void Dele();//删除 void Display();//打印 void Search();// 查找学生信息 void Sort();//排序 void Change();//修改学生信息 void Count();//统计人数 void Display1(); int main() { while(1) { int ch=Menu();//打印菜单,返回选择的数字 switch(ch) { case 1: Add(); break; case 2: Dele(); break; case 3: Search(); break; case 4: Display(); break; case 5: Change(); break; case 6: Sort(); Display1(); break; default: break; } if(ch==10)break; } } int Menu() { printf("-------欢迎使用学生成绩管理系统--------\n"); printf("-------1--录入学生成绩-----------------\n"); printf("-------2--删除学生成绩-----------------\n"); printf("-------3--查询学生成绩-----------------\n"); printf("-------4--打印学生成绩-----------------\n"); printf("-------5--修改学生成绩-----------------\n"); printf("-------6--分数降序排序-----------------\n"); printf("-------10---退出-----------------------\n"); int select; scanf("%d",&select);//输入选择 return select; } void Add() { printf("请分别输入所要添加学生的姓名,性别,学号,班级,语文分数,数学分数,英语分数\n") ; scanf("%s %s %s %d %lf %lf %lf",s[n].name,s[n].sex,s[n].id,&s[n].class_num,&s[n].chinese,&s[n].math,&s[n].english); s[n].score=(s[n].chinese+s[n].math+s[n].english)/3; s[n].all=s[n].chinese+s[n].math+s[n].english; n++; printf("添加成功\n"); Sort(); } void Dele() { if(n==0) { printf("请添加学生\n"); return; } char name[20],id[20]; int pos=-1; printf("请输入要删除学生的姓名与学号\n"); scanf("%s%s",name,id); for(int i=0; i<n; i++) { if(strcmp(name,s[i].name)==0&&strcmp(id,s[i].id)==0) { //比较姓名 与学号 pos=i;//记录位置 break; } } if(pos==-1) { //无此学生 printf("你删除的学生不存在\n"); return; } else { for(int i=pos+1; i<n; i++) { s[i-1]=s[i]; } n--; printf("删除成功\n"); } Sort(); } void Display1() { if(n==0) { printf("请添加学生\n"); return; } printf("姓名\t 学号\t 语文\t 数学\t 英语\t 平均分\t 总分\t\n"); for(int i=0; i<n; i++) { printf("%s\t %s\t %g\t %g\t %g\t %g\t %g\t\n",s[i].name,s[i].id,s[i].chinese,s[i].math,s[i].english,s[i].score,s[i].all); } } void Display() { if(n==0) { printf("请添加学生\n"); return; } printf("姓名\t 学号\t 语文\t 数学\t 英语\t 平均分\t 总分\t\n"); for(int i=0; i<n; i++) { printf("%s\t %s\t %g\t %g\t %g\t %g\t %g\t\n",s[i].name,s[i].id,s[i].chinese,s[i].math,s[i].english,s[i].score,s[i].all); } double _max=0; int maxindex=-1; double book=0; int _num=0; for(int i=0; i<n; i++) { printf("%d\n",maxindex); book+=s[i].chinese; if(_max-s[i].chinese) { _max=s[i].chinese; maxindex=i; } } printf("语文成绩最高的是:%s\n",s[maxindex].name); printf("语文成绩均分为:%g\n",book/n); for(int i=0; i<n; i++) { if(s[i].chinese>=(book/n)) { _num++; } } printf("超过平均分人数:%d\n",_num); _max=0; maxindex=-1; book=0; _num=0; for(int i=0; i<n; i++) { book+=s[i].math; if(_max<s[i].math) { _max=s[i].math; maxindex=i; } } printf("数学成绩最高的是:%s\n",s[maxindex].name); printf("数学成绩均分为:%g\n",book/n); for(int i=0; i<n; i++) { if(s[i].math>=(book/n)) { _num++; } } printf("超过平均分人数:%d\n",_num); _max=0; maxindex=-1; book=0; _num=0; for(int i=0; i<n; i++) { book+=s[i].english; if(_max<s[i].english) { _max=s[i].english; maxindex=i; } } printf("英语成绩最高的是:%s\n",s[maxindex].name); printf("英语成绩均分为:%g\n",book/n); for(int i=0; i<n; i++) { if(s[i].english>=(book/n)) { _num++; } } printf("超过平均分人数:%d\n",_num); } void Search() { if(n==0) { printf("请添加学生\n"); return; } char name[20],id[20]; printf("请输入你所要查询的学生姓名与学号\n"); scanf("%s%s",name,id); for(int i=0; i<n; i++) { if(strcmp(name,s[i].name)==0&&strcmp(id,s[i].id)==0) { printf("姓名:%s\t 性别%s\t 学号:%s\t 班级:%d \t 平均分数:%g\t 排名:%d\t\n",s[i].name,s[i].sex,s[i].id,s[i].class_num,s[i].score,s[i].pos); return; } } printf("你搜索的学生不存在\n"); } void Sort() { if(n==0) { printf("请添加学生\n"); return; } for(int i=0; i<n-1; i++) { int pos=i; for(int j=i+1; j<n; j++) { if(s[j].score>s[pos].score) pos=j; } Stu tmp; tmp=s[pos]; s[pos]=s[i]; s[i]=tmp; } for(int i=0; i<n; i++) { s[i].pos=i+1; } } void Change() { if(n==0) { printf("请添加学生\n"); return; } char tmp[20],name[20],id[20]; double d; int select; printf("请输入你所要修改信息的学生姓名与学号\n"); scanf("%s%s",name,id); for(int i=0; i<n; i++) { if(strcmp(name,s[i].name)==0&&strcmp(id,s[i].id)==0) { printf("姓名:%s\t 性别:%s\t 学号:%s\t 班级:%d\t 平均分数:%g\t 排名:%d\t\n",s[i].name,s[i].sex,s[i].id,s[i].class_num,s[i].score,s[i].pos); printf("请输入你要修改的信息选择:1:姓名 2:性别 3:学号 4:班级 5:语文成绩 6:英语成绩 7:数学成绩\n"); scanf("%d",&select); printf("请输入修改后的信息\n") ; if(select<=3) { scanf("%s",tmp); if(select==1)strcpy(s[i].name,tmp); else if(select==2)strcpy(s[i].sex,tmp); else strcpy(s[i].id,tmp); } else { scanf("%lf",&d); if(select==4) s[i].class_num=(int)d; else if(select==5)s[i].chinese=d; else if(select==6)s[i].english=d; else if(select==7)s[i].math=d; s[i].score=(s[i].chinese+s[i].math+s[i].english)/3; s[i].all=s[i].chinese+s[i].math+s[i].english; } printf("修改成功\n"); Sort(); return; } } printf("你搜索的学生不存在\n"); }
相关文章推荐
- 图书管理系统 C 语言代码
- 汇编语言学生成绩管理系统——文件IO
- C语言课程设计——学生信息管理系统(BUG挺多,敬请指正)
- 一个学生成绩管理系统的代码
- 学生管理系统代码赏析
- 初涉Ribbon界面简单编程——图书管理系统——基于MFC+vs2010+win7。
- 小代码 学生管理系统
- 图书管理系统代码&nbsp;&nbsp;1&nbsp;Libraryload&nbsp;…
- C语言学生管理系统源码分享
- C语言学生成绩管理系统1.0.c
- C语言课程设计-学生信息管理系统
- 图书管理系统程序代码
- C语言学生信息管理系统
- 课程设计~学生信息管理系统代码
- 学生信息管理系统的用例图和图书管理系统系统分析及用例图
- 学生管理系统的设计与实现—后端代码
- 我至今写的最长的代码!!(学生成绩管理系统)
- Java web项目 图书管理系统图书修改部分代码
- 实验三:学生工作管理系统asp和asp.cs代码
- 基于汇编语言的学生成绩管理系统