c语言程序系统设计案例(c语言程序设计:产品订购系统设计)
本文目录
c语言程序设计:产品订购系统设计
这个跟图书管理系统非常类似,是一个性质的问题,如果需要这个源代码我可以发给你,告诉我地址就行 这是一部分,全部位置不够/*查询会员所借的图书*/void MemberBook(){ FILE *fp; Book consultbook; Member consultmember; char bookname; int flag=0,mflag=0,i=0; ClrScr(); gotoxy(2,3); printf("Input the mermber name: ");/*输入会员名*/ gets(membername); if((fp=fopen("member.txt","rb"))==NULL)/*没找到文件*/ { gotoxy(3,3); printf("Cannot open file\n!"); return; } else while(!feof(fp))/*查询会员资料,确认会员*/ { fread(&consultmember,sizeof(Member),1,fp); if(strcmp(consultmember.name,membername)==0) { mflag=1; break; } } fclose(fp); if(mflag==0) { gotoxy(2,4); printf("Not the member!"); return; } ClrScr(); if((fp=fopen("book.txt","rb+"))==NULL)/*没找到文件*/ { gotoxy(2,3); printf("Cannot open file\n!"); return; } while(!feof(fp))/*查询图书资料*/ { fread(&consultbook,sizeof(Book),1,fp); gotoxy(2,3); printf("This member %s has borrowed book as follow:",membername); gotoxy(2,4); printf("********************************************"); if(strcmp(consultbook.person,membername)==0)/*借阅人比较*/ { gotoxy(2,5+i*4); printf("Book name is %s",consultbook.name); gotoxy(2,6+i*4); printf("This book num is %s",consultbook.num); gotoxy(2,7+i*4); printf("This book’s price is %d",consultbook.price); printf("\n"); i++; flag=1; } } if(flag!=1) { ClrScr(); gotoxy(2,3); printf("no Borrow book!\n"); } else { gotoxy(2,i*4+6); printf("******total is %d*********",i);/*显示总数*/ } fclose(fp);}/*帮助文件*/void Help(){ ClrScr(); DrawFrame(10,5,50,8,0,7); /*画边框*/ gotoxy(15,6); cprintf("click menu to run each funtion");/*输出字符串*/ getch(); ClrScr();}/***版本信息***/void Ver(){ ClrScr(); DrawFrame(10,5,50,8,0,7); /*画边框*/ gotoxy(15,6); cprintf("Ver 1.0 finished by zhuyun");/*输出字符串*/ getch(); ClrScr();}
C语言程序设计--班级档案管理系统
给,已经编译运行确认了:#include《stdio.h》#include《stdlib.h》 #include《string.h》 #include《conio.h》 #define N 10int M=0;struct student{ char num;char name;char sex;char address;int age;};typedef struct LB{ struct student XINXI;struct LB *next;}LB_1,*LB_2;void CAIDANG(){printf(" \t \t \t (欢迎使用本班级档案管理系统)\t\t\t\t\n");printf("★*★*★*★*★*★*★*★*★*★ 欢迎进入我们的系统 ★*★*★*★*★*★*★*★*★*★\n\n");printf("1.录入学生资料\t\t\t\t\t4.查询学生信息\n\n");printf("2.修改学生信息\t\t\t\t\t5.删除学生信息\n\n");printf("3.保存学生信息\t\t\t\t\t0.退出档案系统\n\n");printf(" \n");printf("★*★*★*★*★*★*★*★*★*★ 欢迎进入本系统 ★*★*★*★*★*★*★*★*★*★\n");}/*文本颜色*/void color(){textbackground(8);textcolor(9);clrscr();} void Wrong(){ printf("\n对不起您的输入错误!\n");}void SORRY(){ printf("\n对不起该同学现没有任何信息!\n");}void printe(LB_1 *p)/* 本函数用于输出英文 */{ printf(" %-2s %s\t %s\t%s\t %d\t \n",p-》XINXI.num,p-》XINXI.name,p-》XINXI.sex,p-》XINXI.address,p-》XINXI.age);} /* 该函数用于定位链表中符合要求的接点,并返回该指针 */LB_1 *Locate(LB_2 l,char findmess) { LB_1 *r; if(strcmp(nameornum,"num")==0) /* 按学号查询 */ { r=l-》next; while(r!=NULL) { if(strcmp(r-》XINXI.num,findmess)==0) return r; r=r-》next; } }else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */ { r=l-》next; while(r!=NULL) { if(strcmp(r-》XINXI.name,findmess)==0) return r; r=r-》next; }} return 0; } /*以下是增加学生信息的函数*/void TIANJIA(LB_2 l){ LB_1 *p,*r,*s;char num; r=l; s=l-》next; while(r-》next!=NULL) /*些处循环一直到最后*/r=r-》next;while(1) { printf(" 请输入添加的学生学号(输入’0’返回上一级菜单:)");scanf("%s",num); if(strcmp(num,"0")==0) break; while(s) { if(strcmp(s-》XINXI.num,num)==0) { printf("(必看提示):学号为’%s’的学生已有信息,若要修改请你输入’2 修改’!\n",num); printe(s); printf("\n"); return; } s=s-》next; } p=(LB_1 *)malloc(sizeof(LB_1));strcpy(p-》XINXI.num,num);printf(" 请你输入学号:");scanf("%s",p-》XINXI.num);getchar();printf(" 请你输入姓名:");scanf("%s",p-》XINXI.name);getchar(); printf(" 请你输入性别:");scanf("%s",p-》XINXI.sex);getchar(); printf(" 请你输入地址:");scanf("%s",p-》XINXI.address);getchar();printf(" 请你输入年龄:");scanf("%d",&p-》XINXI.age);getchar();/* 下面是把指针变量转到链表的下一个结点中以便循环的时候使用 */p-》next=NULL; r-》next=p;r=p; M=1; } }/*以下是删除学生信息的函数*/void SHANCHU(LB_2 l){ int sel; LB_1 *p,*r;char findmess; if(!l-》next) { printf("\n******(必看提示):对不起,现文件中没有信息:所以您不能查询!\n");return; } printf("\n 《必看提示》 《以学号删除请输入1\n》 《以姓名删除请输入2\n》 PLEASE:");scanf("%d",&sel); if(sel==1) { printf("请输入要删除的学生的学号PLEASE:");scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { r=l; while(r-》next!=p) r=r-》next; r-》next=p-》next; free(p); printf("\n*******(必看提示):该学生的信息已完全删除成功!\n"); M=1;} else SORRY();} else if(sel==2) { printf("请输入要删除的学生的姓名PLEASE:");scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { r=l; while(r-》next!=p) r=r-》next; r-》next=p-》next; free(p); printf("\n******(必看提示):该学生信息已成功删除!\n"); M=1;} else SORRY();} else Wrong(); }/*以下是查询学生信息*/void CHAXIONG(LB_2 l){ int sel; char findmess; LB_1 *p;if(!l-》next) { printf("\n******(必看提示):对不起,现文件中没有信息:所以您不能查询!\n");return; } printf("\n以学号查询请输入1:\n以姓名查询请输入2:\n以性别查询请输入3:\n以性别查询请输入4:\n PLEASE:");scanf("%d",&sel); if(sel==1)/*输入学号查询*/{ printf("请你输入要查找的学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf("\t\t\t\t查找结果\n"); printf(" 学号:%s\n姓名:%s\n性别:%s\n地址:%s\n年龄:%d\n",p-》XINXI.num,p-》XINXI.name,p-》XINXI.sex,p-》XINXI.address,p-》XINXI.age);} else SORRY();} if(sel==2) /* 输入姓名查询 */{ printf("请你输入要查找的姓名:"); scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { printf("\t\t\t\t查找结果\n"); printf(" 学号:%s\n姓名:%s\n性别:%s\n地址:%s\n年龄:%d\n",p-》XINXI.num,p-》XINXI.name,p-》XINXI.sex,p-》XINXI.address,p-》XINXI.age);} else SORRY();}else Wrong(); }/*以下是修改学生信息的函数*/void XIUGEI(LB_2 l){ LB_1 *p;long int i,j;char findmess; if(!l-》next) { printf("\n(必看提示):对不起,现文件中没有信息:所以您不能查询!\n");return; }for(i=1;i《=2;i++) { printf("\n\n\n\n\n"); printf("请输入密码:"); scanf("%s",&j); if(j==2007)break; else {if(j!=2007) return(CAIDANG()); }}printf("请你输入要修改的学生学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf("请你输入新学号(原来是%s):",p-》XINXI.num); scanf("%s",p-》XINXI.num); printf("请你输入新姓名(原来是%s):",p-》XINXI.name); scanf("%s",p-》XINXI.name); printf("请你输入新性别(原来是%s):",p-》XINXI.sex); scanf("%s",p-》XINXI.sex); printf("请你输入新地址(原来是%s):",p-》XINXI.address); scanf("%s",p-》XINXI.address); printf("请你输入新年龄(原来是%d):",p-》XINXI.age); scanf("%s",p-》XINXI.age); getchar(); M=1;} else SORRY();}/*保存在文件中*/void BAOCONG(LB_2 l){ FILE* fp; LB_1 *p;int flag=1,count=0; fp=fopen("c:\\lyg","wr");if(fp==NULL) { printf("\n=====》提示:重新打开文件时发生错误!\n"); exit(1); } p=l-》next; while(p) { if(fwrite(p,sizeof(LB_1),1,fp)==1){ p=p-》next; count++; } else { flag=0; break; } } if(flag) { printf("\n 提示;正在保存文件 共保存了%d条信息\n",count);M=0;} fclose(fp);}/*以下是主函数*/void main() { LB_2 l;/* 连表 */FILE *fp; /* 文件指针 */int sel;long i,j,d;char ch; char jian; int count=0; LB_1 *p,*r;color();clrscr();l=(LB_1*)malloc(sizeof(LB_1));l-》next=NULL; r=l; fp=fopen("C:\\lyg","rb");if(fp==NULL) {printf("\t\t\t\t\n\n");printf("\n");printf(" *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n" " *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n" " Welcome to come to our system!!! \n" " You can only inquire your own messages! If you want to see about other \n" " students’ messages,you need first to send inquirment to them,asking for \n" " agreement,then you can visit his/her messages! \n" " Have a good time! now you can come in!!! \n" " *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n" " *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n" " 注意:系统启动码为 : ILOVEMYSCHOOLVERYMUCH !!! \n" " *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n" " *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*\n");printf("欢迎使用,本系统中现没有任何记录,您要先创建文件请按以下操做进行PLEASE:\n");printf("\n 提示:文件还不存在,是否创建?(y/n)请做选择--\n");printf("\n");scanf("%c",&jian); if(jian==’y’||jian==’Y’) {fp=fopen("C:\\lyg","wb"); clrscr(); } {for(i=1;i《=2;i++) { printf("\n\n\n\n\n"); printf("请输入密码:"); scanf("%ld",&j); if(j==2007)break; else {if(j!=2007)return; } } }exit(0);clrscr(); } while(!feof(fp)) { p=(LB_1*)malloc(sizeof(LB_1));if(fread(p,sizeof(LB_1),1,fp)) /* 将文件的内容放入链表中 */{ p-》next=NULL; r-》next=p; r=p; /*把该结点放入链表中*/ count++; } } fclose(fp); /* 关闭文件 */while(1) { CAIDANG();printf("请你选择操作:"); scanf("%d",&sel); clrscr();printf("\n\n\n");if(sel==0) { if(M==1) { getchar(); printf("\n(必看提示):链表中的信息已经改动,如果确认把改动保存在文件中请做选择(y/n)?\n"); scanf("%c",&ch); if(ch==’y’||ch==’Y’) BAOCONG(l); } break;clrscr();} switch(sel) { case 1: TIANJIA(l);break; case 4: CHAXIONG(l);break; case 3: BAOCONG(l);break; case 2: XIUGEI(l);break; case 5: SHANCHU(l);break; default: getchar();break;} } end: getchar(); }
更多文章:
电子邮件怎样填写(电子邮件地址怎么填写才正确 填写电子邮件地址的方法)
2024年10月8日 21:10
app福引导网站app下载(国外都有哪些app引导页的网站)
2024年7月1日 15:49
qq互联官网授权管理(用qq授权其他网站后,怎么取消 授权管理在哪里啊)
2024年6月27日 15:55
windows10家庭版(windows10家庭版如何下载)
2024年7月2日 14:56
微信一键群发5000好友(问下微信5000人怎么群发,有好的方法吗)
2024年7月1日 23:17
百度拼音输入法最新版本(百度输入法最新版怎样切换成繁体输入)
2024年6月25日 16:03
网易163官网邮箱(163邮箱官网登录入口:https://mail.163.com/)
2024年9月28日 08:35