当前位置:首页 > 代码 > 正文

c服装管理系统源代码(服装销售系统c语言代码)

admin 发布:2022-12-19 23:58 168


今天给各位分享c服装管理系统源代码的知识,其中也会对服装销售系统c语言代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求:C语言程序报告(管理系统),源代码Microsoft Visual C++6.0上运行

#includestdio.h

#includeconio.h

#includestdlib.h

#includestring.h

typedef struct

{

long class_1; /*班级*/

long number; /*学号*/

char name[20]; /*姓名*/

float tall; /*身高*/

float math; /*数学*/

float c_program; /*C语言*/

float physics; /*大学物理*/

float english; /*大学英语*/

float sum; /*总分*/

float average; /*平均分*/

}Student;

Student stud[100];

int i=0;

int menu() /*菜单函数*/

{

int a;

system("graftabl 936");

printf("***********************学生信息管理系统************************\n\n\n");

printf("\t\t\t.(1)输入学生信息\n");

printf("\t\t\t.(2)显示所有学生信息\n");

printf("\t\t\t.(3)按平均分升降排序\n");

printf("\t\t\t.(4)根据学号查找学生信息\n");

printf("\t\t\t.(5)插入学生信息\n");

printf("\t\t\t.(6)删除学生信息\n");

printf("\t\t\t.(7)修改学生信息\n");

printf("\t\t\t.(8)从文件中读入数据\n");

printf("\t\t\t.(9)将所有记录写入文件\n");

printf("\t\t\t.(0)退出本系统\n\n\n");

printf("***********************学生信息管理系统************************\n");

printf("请选择你要的操作(0~9):");

scanf("%d",a); /*读入一个数*/

while(a0||a9)

{

printf("输入错误!请重新输入:\n");

scanf("%d",a); /*输入错误就一直循环*/

}

system("cls"); /*清屏*/

return(a); /*返回a的值*/

}

int input(Student stud[])

{

char flag='Y';

while(flag=='Y'||flag=='y')

{

printf("请输入该学生的班级:");

scanf("%ld",stud[i].class_1);

printf("请输入该学生的学号:");

scanf("%ld",stud[i].number);

printf("请输入该学生的姓名:");

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

printf("请输入学生的身高:");

scanf("%f",stud[i].tall);

printf("请输入该学生的“数学”分数:");

scanf("%f",stud[i].math);

printf("请输入该学生的“C语言”分数:");

scanf("%f",stud[i].c_program);

printf("请输入该学生的“大学物理”分数:");

scanf("%f",stud[i].physics);

printf("请输入该学生的“大学英语”分数:");

scanf("%f",stud[i].english);

getchar();

stud[i].sum=stud[i].math+stud[i].c_program+stud[i].physics+stud[i].english;

stud[i].average=stud[i].sum/4;

printf("该学生的总分为:%6.2f\t平均分为:%6.2f\n",stud[i].sum,stud[i].average);

i++;

printf("继续输入学生信息请按:Y or y,退出请按:N or n.\n");

scanf("%c",flag); /*判断是否继续输入*/

}

printf("按任意键回主菜单\n");

getchar();

system("cls");

return(i);

}

void Display(Student stud[],int n) /*显示所有记录*/

{

int k;

if(n==0)

printf("暂无学生记录!\n");

else

{

printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");

for(k=0;kn;k++) /*循环输出*/

{

printf("%7ld",stud[k].class_1);

printf("%7ld",stud[k].number);

printf("%9s",stud[k].name);

printf("%7.1f",stud[k].tall);

printf("%7.2f",stud[k].math);

printf("%7.2f",stud[k].c_program);

printf("%7.2f",stud[k].physics);

printf("%7.2f",stud[k].english);

printf("%7.2f",stud[k].sum);

printf("%8.2f\n",stud[k].average);

}

}

system("pause");

system("cls");

}

void Sort(Student stud[],int i) /*按平均分排序*/

{

int m,n,k; /*m,n为循环变量*/

Student t;

for(m=0;mi-1;m++) /*排序*/

for(n=m+1;ni;n++)

if(stud[m].averagestud[n].average)

{

t=stud[m];

stud[m]=stud[n];

stud[n]=t;

}

printf("排序后的顺序为:\n");

printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");

for(k=0;kn;k++) /*循环输出*/

{

printf("%7ld",stud[k].class_1);

printf("%7ld",stud[k].number);

printf("%9s",stud[k].name);

printf("%7.1f",stud[k].tall);

printf("%7.2f",stud[k].math);

printf("%7.2f",stud[k].c_program);

printf("%7.2f",stud[k].physics);

printf("%7.2f",stud[k].english);

printf("%7.2f",stud[k].sum);

printf("%8.2f\n",stud[k].average);

}

system("pause");

system("cls");

}

void Search(Student stud[],int i) /*查找并显示一个记录*/

{

int p,k; /*p为要查找的学生学号*/

char flag='y';

while(flag=='y'||flag=='Y')

{

printf("请输入要查找的学生学号:");

scanf("%d",p);

getchar();

for(k=0;p!=stud[k].numberki;k++)

if(k==i)

printf("该学号不存在!\n");

else

{

printf("该学生的信息为:\n");

printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");

printf("%7ld",stud[k].class_1);

printf("%7ld",stud[k].number);

printf("%9s",stud[k].name);

printf("%7.1f",stud[k].tall);

printf("%7.2f",stud[k].math);

printf("%7.2f",stud[k].c_program);

printf("%7.2f",stud[k].physics);

printf("%7.2f",stud[k].english);

printf("%7.2f",stud[k].sum);

printf("%8.2f\n",stud[k].average);

}

printf("继续查找学生信息请输入:Y or y,退出输入:N or n.\n");

scanf("%c",flag);

}

system("cls");

}

int Insert(Student stud[],int i) /*插入学生信息*/

{

char flag='Y';

while(flag=='y'||flag=='Y')

{

printf("请输入要插入学生的班别:");

scanf("%ld",stud[i].class_1);

printf("请输入要插入学生的学号:");

scanf("%ld",stud[i].number);

printf("请输入要插入学生的姓名:");

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

printf("请输入要插入学生的身高:");

scanf("%f",stud[i].tall);

printf("请输入要插入学生的“数学”分数:");

scanf("%f",stud[i].math);

printf("请输入要插入学生的“C语言”分数:");

scanf("%f",stud[i].c_program);

printf("请输入要插入学生的“大学物理”分数:");

scanf("%f",stud[i].physics);

printf("请输入要插入学生的“大学英语”分数:");

scanf("%f",stud[i].english);

getchar();

stud[i].sum=stud[i].math+stud[i].c_program+stud[i].physics+stud[i].english;

stud[i].average=stud[i].sum/4;

printf("该学生的总分为:%6.2f\n",stud[i].sum);

printf("该学生的平均分为:%6.3f\n",stud[i].average);

i++;

printf("继续插入学生信息请输入:Y or y,退出输入:N or n.\n");

scanf("%c",flag); /*判断是否继续输入*/

}

getchar();

printf("是否需要排序,需要请按'Y' or 'y';不需要请按'N' or 'n'.\n");

flag=getchar();

if(flag=='y'||flag=='Y')

Sort(stud,i);

system("cls");

return(i);

}

int Delete(Student stud[],int i) /*根据学号删除学生信息*/

{

long s;

int t,p;

char a='Y'; /*判断是否继续*/

while(a=='Y'||a=='y')

{

printf("请输入需要删除学生的学号:\n");

scanf("%ld",s);

getchar();

for(t = 0; t i s!=stud[i].number; t++)

if(s==stud[t].number)

{

for(p=t;pi;p++)

stud[p]=stud[p+1];

i=i-1;

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

}

else printf("没有找到要删除的学号!\n");

printf("是否继续删除,继续请按'Y' or 'y',退出请按'N' or 'n'.\n");

a=getchar(); /*判断是否继续*/

getchar(); /*消除回车键的影响*/

}

system("cls");

return(i);

}

void change(Student stud[],int i) /*修改学生信息*/

{

long p=0; /*p用来表示要修改的学生学号*/

int k; /*k为循环变量*/

char a='y';

while(a=='y'||a=='Y')

{

printf("\t\t学生信息修改:\n");

printf("请输入要修改的学生的学号:\n");

scanf("%ld",p);

for(k=0;p!=stud[k].number ki;k++)

if(k==i)

printf("无法找到该学生的信息:\n");

else

{

printf("该学生的信息为:\n");

printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");

printf("%7ld",stud[k].class_1);

printf("%7ld",stud[k].number);

printf("%9s",stud[k].name);

printf("%7.1f",stud[k].tall);

printf("%7.2f",stud[k].math);

printf("%7.2f",stud[k].c_program);

printf("%7.2f",stud[k].physics);

printf("%7.2f",stud[k].english);

printf("%7.2f",stud[k].sum);

printf("%8.2f\n",stud[k].average);

printf("请输入该学生的新信息:\n");

printf("请输入该学生的班级:");

scanf("%d",stud[k].class_1);

printf("请输入该学生的学号:");

scanf("%d",stud[k].number);

printf("请输入该学生的姓名:");

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

printf("请输入该学生的身高:");

scanf("%f",stud[k].tall);

printf("请输入该学生的“数学”分数:");

scanf("%f",stud[k].math);

printf("请输入该学生的“C语言”分数:");

scanf("%f",stud[k].c_program);

printf("请输入该学生的“大学物理”分数:");

scanf("%f",stud[k].physics);

printf("请输入该学生的“大学英语”分数:");

scanf("%f",stud[k].english);

getchar();

stud[k].sum=stud[k].math+stud[k].c_program+stud[k].physics+stud[k].english;

stud[k].average=stud[k].sum/4;

printf("修改成功!\n");

}

printf("是否继续修改,继续请按'y'或'Y',退出请按'N'或'n'.\n");

a=getchar();

}

system("pause");

system("cls");

}

int Read(Student stud[],int i) /*从文件中读入学生信息*/

{

int k=i;

FILE *fp; /*定义一个文件类型的指针*/

char filename[20]; /*定义文件名*/

printf("请输入文件名:\n");

scanf("%s",filename);

if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/

{

printf("无法打开文件!\n"); /*打开失败信息*/

return 0;

}

printf("从文件%s中读入的数据为:\n",filename);

fread(stud[k],sizeof(Student),1,fp);

printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");

while(!feof(fp))

{

printf("%7ld",stud[k].class_1);

printf("%7ld",stud[k].number);

printf("%9s",stud[k].name);

printf("%7.1f",stud[k].tall);

printf("%7.2f",stud[k].math);

printf("%7.2f",stud[k].c_program);

printf("%7.2f",stud[k].physics);

printf("%7.2f",stud[k].english);

printf("%7.2f",stud[k].sum);

printf("%8.2f\n",stud[k].average);

k++;

fread(stud[k],sizeof(Student),1,fp);

}

fclose(fp);

printf("读入成功!\n");

system("pause");

system("cls");

return(k);

}

void Save(Student stud[],int i) /*将所有记录写入文件*/

{

int k=0;

FILE *fp; /*定义文件指针*/

char filename[80]; /*定义文件名*/

printf("请输入您要储存学生信息的文件名"); /*输入文件名*/

scanf("%s",filename);

if( (fp=fopen(filename,"wt"))==NULL) /*打开文件*/

{

printf("无法打开该文件!\n");

return;

}

while(ki)

{

fwrite((stud[k]), sizeof(Student), 1, fp);

k++;

}

printf("信息保存成功!\n");

fclose(fp);

}

int main(void)

{

int n=0;

while(1) /*选择判断要执行的语句*/

{

switch(menu())

{

case 1:printf("\n***********输入学生信息**********\n"); /*输入学生信息*/

n=input(stud);break;

case 2:printf("\n***********显示所有学生的信息*******\n");

Display(stud,n);break;

case 3:printf("\n***********按平均分升降排序*******\n");

Sort(stud,n);break;

case 4:printf("\n***********根据学号查找学生的信息*******\n");

Search(stud,n);break;

case 5:printf("\n***********插入学生的信息*******\n");

n=Insert(stud,n);break;

case 6:printf("\n***********删除学生信息*******\n");

n=Delete(stud,n);

case 7:printf("\n***********修改学生的信息*******\n");

change(stud,n);break;

case 8:printf("\n***********从文件中读入数据*******\n");

n=Read(stud,n);break;

case 9:printf("\n***********将所有记录写入文件*******\n");

Save(stud,n);break;

case 0:printf("\n***********感谢您的使用!*******\n");

exit(0);

}

}

return 0;

}

学生管理系统,,,这个可以不??

跪求c语言教务管理系统源代码

#include stdio.h

#include string.h

#include windows.h

struct student

{

long int num;

char name[20];

int age;

char sex[4];

char b[30];

char p[15];

};

int n=0;

struct student stu[100];

struct student *p;

void lr();

void ll();

void cx();

void xg();

void sc();

void main()

{

int z;

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

printf("| 欢迎使用学生信息管理系统 |\n");

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

printf("提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");

do

{

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

printf("\t\t\t+ 主菜单 |\n");

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

printf("\t\t\t+ [1]----录入学生信息 |\n");

printf("\t\t\t+ [2]----浏览学生信息 |\n");

printf("\t\t\t+ [3]----查询学生信息 |\n");

printf("\t\t\t+ [4]----删除学生信息 |\n");

printf("\t\t\t+ [5]----修改学生信息 |\n");

printf("\t\t\t+ [0]----退出系统 |\n");

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

printf("请输入您的选择:");

scanf("%d", z);

system("color 2f");

switch(z)

{

case 0 : break;

case 1 :lr();break;

case 2 :ll();break;

case 3 :cx();break;

case 4 :sc();break;

case 5 :xg();break;

default:printf("\n无效选项!");

}

}

while(z!= 0);

}

void lr()/*录入函数*/

{

int y;

if(n==0)

p=stu;

do

{

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

printf("请输入学生的学号:");

scanf("%ld",p-num);

printf("请输入学生的姓名:");

scanf("%s",p-name);

printf("请输入学生的年龄:");

scanf("%d",p-age);

printf("请输入学生的性别:");

scanf("%s",p-sex);

printf("请输入学生的地址:");

scanf("%s",p-b);

printf("请输入学生的电话:");

scanf("%s",p-p);

n++;

p++;

printf("\n1.继续输入.\n0.输入完毕.\n");

printf("请选择:");

scanf("%d",y);

}

while(y==1);

printf("提示:输入完毕!你一共输入%d个\n",n);

}

void ll()/*浏览函数*/

{

int i,j;

if(n!=0)

{ printf("学生总数:%d\n", n);

printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

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

for(i=0;in;i++)

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

}

else printf("提示:无学生数据,请输入数据!");

}

void cx()/*查询函数*/

{

int c;

int w,i,j=0;

char name[20];

if(n!=0)

{

do{ printf("\n");

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

printf("| 按学号查询 请按 1 |\n");

printf("| 按姓名查询 请按 2 |\n");

printf("| 取消 请按 0 |\n");

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

printf("请输入您的选择:");

scanf("%d", c);

switch(c)

{

case 0:break;

case 1:

printf("请输入学生的学号;");

scanf("%ld", w);

printf("\n");

for(i=0;in;i++)

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

{

printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

j=1;

}

if(j==0)

printf("提示:没有该学生记录,请核对!");

break;

case 2:

printf("请输入学生的姓名:");

scanf("%s", name);

printf("\n");

for(i=0;in;i++)

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

{

printf("\n学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

j=1;

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

}

if(j==0)

printf("提示:没有该学生记录,请核对!");

break;

default:

printf("\n提示:无效选项!");

break;

}

}while(c!= 0);

}else printf("提示:无学生数据,请输入数据!");

return;

}

void xg()/*修改函数*/

{

long int num;

int i,j,c;

if(n!=0)

{

printf("请输入您要修改的学生的学号:");

scanf("%ld", num);

printf("\n");

for(i=0;in;i++)

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

j=i;

do{

printf("请选择您要修改的学生的信息内容:\n");

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

printf("| 姓名 请按 1 |\n");

printf("| 年龄 请按 2 |\n");

printf("| 性别 请按 3 |\n");

printf("| 学号 请按 4 |\n");

printf("| 地址 请按 5 |\n");

printf("| 电话 请按 6 |\n");

printf("| 取消 请按 0 |\n");

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

printf("请输入您的选择:");

scanf("%d", c);

printf("\n");

switch(c)

{

case 0:break;

case 1:printf("请输入新姓名:");

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

break;

case 2:printf("请输入新年龄:");

scanf("%d",stu[j].age);

break;

case 3:printf("请输入新性别:");

scanf("%s",stu[j].sex);

break;

case 4:printf("请输入新学号:");

scanf("%ld",stu[j].num);

break;

case 5:printf("请输入新地址:");

scanf("%s",stu[j].b);

break;

case 6:printf("请输入新电话:");

scanf("%s",stu[j].p);

break;

default:

printf("\n无效选项!");

break;

}

}while(c!= 0);

}else printf("提示:无学生数据,请输入数据!");

}

void sc()/*删除函数*/

{

long int num;

int i,j,e;

if(n!=0)

{

printf("学号\t姓名\t年龄\t性别\t地址\t\t电话\n");

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

for(i=0;in;i++)

printf("%ld\t%s\t%d\t%s\t%s\t\t%s\n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].b,stu[i].p);

printf("请输入您要删除的学生的学号:");

scanf("%ld", num);

printf("\n");

for(i=0;in;i++)

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

j=i;

if(j!=(n-1))

{

for(e=i-1;en;e++,j++)

{

stu[j].num=stu[j+1].num;

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j].sex,stu[j+1].sex);

stu[j].age=stu[j+1].age;

strcpy(stu[j].b,stu[j+1].b);

strcpy(stu[j].p,stu[j+1].p);

n--;p--;

}

}else {n--;p--;}

printf("提示:删除完毕!");

}else printf("提示:无学生数据,请输入数据!");

}

c语言商品管理系统源代码,加注释

#include stdio.h

#include conio.h

#include string.h

#define SIZE 300

typedef struct

{

char name[30];

int num;

char shang[10];

float price;

}record;

void DataInput(record *com, int *nptr);

int DataRead(record *com,int *nptr) ;

void DataStorage(record *com, int n); /*信息保存到文件*/

void DataFind( );

void DataDisPlay( );

void DataAdd( );

void DataDel( );

void DataStatistic( );

int main( )

{

record shangpin[SIZE];

int number=20; /*设商品数*/

char fn;

printf("\t~~~~~~商品管理系统~~~~~~");

while(1)

{

printf("\n\t\t1.商品信息录入\n"); /*显示主菜单*/

printf("\t\t2.商品信息显示\n");

printf("\t\t3.商品信息查找\n");

printf("\t\t4.商品信息添加\n");

printf("\t\t5.商品信息删除\n");

printf("\t\t6.商品信息统计\n");

printf("\t\t0.退出系统");

printf("\n\t~~~~~~~~~~~~~~~~\n");

printf("\t请输入你的一个选项(数字0-6): ");

fflush(stdin);

scanf("%c",fn);

puts("\n");

switch(fn) /*切换到不同功能*/

{

case '1':

DataInput(shangpin, number );

break; /*录入信息*/

case '2':DataDisPlay();

break; /*信息显示*/

case '3':

DataFind();

break; /*信息查找*/

case '4':

DataAdd( );

break; /*增加*/

case '5':

DataDel( );

break; /*删除*/

case '6':

DataStatistic();

break; /*信息统计*/

case '0':

return 0;

default:puts("\t\t没有这个项!返回主菜单!");

break;

}

printf("\n\t\t完毕!按任意键继续");

getch( );

puts("\n");

}

}

void DataInput(record *com, int *nptr) /*商品信息录入*/

{

int i = 0;

int n ; /*录入的总数*/

char YesOrNo; /*判断是否保存*/

char shangming[30]; /*商名*/

int haoma; /*商品号*/

char shangjia[10]; /*单价*/

float danjia;

printf("\t\t请输入商品个数:");

scanf("%d",n);

*nptr = n; /*nptr返回商品个数*/

printf("\t\t现在开始录入这%d个商品信息:\n\n",n);

while(in)

{

printf("请输入商品的商品名:",i+1);

scanf("%s",shangming);

printf("请输入商品的商品号:",i+1);

scanf("%d",haoma);

printf("请输入商品的生产商:",i+1);

scanf("%s",shangjia);

printf("请输入商品的单价 :",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的单价才录入*/

{

strcpy(com[i].name,shangming);

com[i].num = haoma;

strcpy(com[i].shang,shangjia);

com[i].price = danjia;

i =i+1;

}

else

printf("输入的单价是一个无效的值!!!\n\n");

} /*结束while*/

printf("要保存您刚才录入的数据吗(Y/N)?"); /*选择保存*/

fflush(stdin);

scanf("%c",YesOrNo);

if(YesOrNo=='y'||YesOrNo=='Y')

DataStorage(com,n);

else if(YesOrNo=='n'||YesOrNo=='N')

return;

else

printf("输入了不正确的选项\n");

return;

} /*结束函数*/

void DataFind( ) /*查找*/

{

void OnNumber(record *com,int n ); /*按商品号排序*/

int key; /*key为要查找的关键值*/

int low = 0; /*下限*/

int high ; /*上限*/

int mid ; /*中间值*/

char ans; /*选项*/

record com[SIZE];

int n;

if(DataRead(com,n)==1) /*从文件中读取信息*/

{

OnNumber(com,n); /*先按商品号排序*/

high = n;

do

{

printf("\n\n\t\t请输入你要查找的商品号:");

scanf("%d",key);

low = 0;high = n;

while (low =high)

{

mid = (high + low)/2; /*折半查找法*/

if (key == com[mid].num )

{

printf("\n\t\t你要找的是第%d个商品\n",mid + 1);

printf("\t\t结果如下:\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");

printf("%3d%17s%12d%12s%8.1f\n",mid+1,com[mid].name,com[mid].num,com[mid].shang,

com[mid].price);

break; /*如果找到则退出循环*/

}

if (key com[mid].num ) low = mid + 1;

else high = mid - 1;

}

if (low high)

printf("\t\t,没有找到这个价格!\n");

printf("\n\t\t还要继续查询吗(Y/N)?");

ans = getch( );

}

while (ans =='Y'||ans == 'y'); /*结束do....while*/

}

}

void DataStorage(record *com, int n) /*录入保存文件*/

{

int i;

FILE *comPtr;

char FileName[20];

printf("请输入您要保存的文件名:");

scanf("%s",FileName);

printf("正在将商品信息保存到文件,请稍候……\n");

if((comPtr=fopen(FileName,"w"))==NULL)

printf("没有该文件\n");

else

for(i=0 ; in ; i++)

fprintf(comPtr,"\n%17s%12d%12s%8.1f",com[i].name,com[i].num,com[i].shang,com[i].price);

fclose(comPtr);

}

int DataRead(record *com,int *nptr) /*读取文件*/

{

int i=0;

char datafile[20];

FILE *comPtr;

*nptr = 0;

printf("请输入文件名:");

scanf("%s",datafile);

if((comPtr = fopen(datafile,"r")) == NULL) /*打开文件*/

{

printf("没有该文件,请重新输入!\n");

return 0;

}

else

{

printf("正在读取商品单价,请稍候……\n");

while (!feof(comPtr))

{

fscanf(comPtr,"%s%d%s%f",com[i].name,com[i].num,com[i].shang,com[i].price);

i++;

}

*nptr = i;

printf("\n");

fclose(comPtr);

return 1;

}

}

void DataDisPlay()

{

void OnPrice(record *com,int n ); /*按单价*/

void OnNumber(record *com,int n ); /*按商品号*/

int N;

int i;

record com[300];

char YesNo; /*是否按顺序显示*/

char tp;

if(DataRead(com,N)==1) /*从文件读取数据*/

{

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");

for(i=0;iN;i++)

printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,com[i].price);

printf("要按顺序显示吗?(Y/N)?");

fflush(stdin);

scanf("%c",YesNo);

if(YesNo=='y'||YesNo=='Y')

{

printf("\t请输入排序方式:\n");

printf("\t(1.按价格排序从低到高;2.按商品号排序从低到高.)");

fflush(stdin);

scanf("%c",tp);

if(tp=='1')

OnPrice(com,N);

else if(tp =='2')

OnNumber(com,N);

else

printf("\t输入了不正确项!\n");

}

}

} /*结束显示成绩*/

void OnPrice(record *com,int n ) /*按单价顺序*/

{ int i,j;

record temp;

printf("\t\t按单价排序---\n\n");

printf("商品总数为%d:\n",n);

for(j=0 ; jn-1 ; j++) /*冒泡排序*/

for(i=0 ; in-j-1 ; i++)

if(com[i].pricecom[i+1].price)

{

temp=com[i];

com[i]=com[i+1];

com[i+1]=temp;

}

printf("\n\t\t按成绩排序的结果如下(按分数从低到高):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");

for(i=0 ; in ; i++)

printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,

com[i].price);

}

void OnNumber(record *com,int n ) /*按序号顺序*/

{

int i,j;

record temp;

printf("\t\t按商品号排序---\n\n");

printf("商品总数为%d:\n",n);

for(j=0 ; jn-1 ; j++)

for(i=0 ; in-j-1 ; i++)

if(com[i].numcom[i+1].num)

{

temp=com[i];

com[i]=com[i+1];

com[i+1]=temp;

}

printf("\n\t按商品号排序的结果如下(按商品号从小到大):\n\n");

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");

for(i=0 ; in ; i++)

printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,

com[i].price);

}

void DataAdd( ) /*增加*/

{

int i=0,n,m; /*商品名称*/

char shangming[30];

int haoma; /*生产商*/

char shangjia[10];

float danjia;

char YesOrNo;

record com[SIZE];

printf("\t\t读取原有数据信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t信息读取完毕!\n\n");

printf("\t\t请输入要添加的商品总数:");

scanf("%d",m);

printf("\t\t现在开始录入这%d个商品信息:\n\n",m);

while(im)

{

printf("第%d个商品的商品名:",i+1);

scanf("%s",shangming);

printf("第%d个商品的商品号:",i+1);

scanf("%d",haoma);

printf("第%d个商品的生产商:",i+1);

scanf("%s",shangjia);

printf("第%d个商品的单价:",i+1);

scanf("%f",danjia);

if(danjia=0danjia=1000) /*有效的单价才录入*/

{

strcpy(com[i+n].name,shangming);

com[i+n].num = haoma;

strcpy(com[i+n].shang,shangjia);

com[i+n].price = danjia;

i =i+1;

}

else

printf("输入的单价是一个无效的值,请重新输入!\n\n");

}

printf("要保存您刚才录入的数据吗(Y/N)?");

fflush(stdin);

scanf("%c",YesOrNo);

if(YesOrNo=='y'||YesOrNo=='Y')

DataStorage(com,n+m);

else if(YesOrNo=='n'||YesOrNo=='N')

return;

else

printf("输入了不正确项,返回上一级\n");

return;

}

}

void DataDel( )//删除

{

void OnNumber(record *com,int n );

record com[SIZE];

int i; /*总记录数*/

int n; /*要删除的记录号*/

int m;

printf("\t\t读取原有数据信息---\n");

if(DataRead(com,n)==1)

{

printf("\t\t原始数据如下:\n\n");

OnNumber(com,n );

printf("请输入你要删除的记录的序号");

scanf("%d",m);

if(m=1 m=n)

{

for(i=m-1;in-1;i++)

com [i] = com[i+1];

DataStorage(com,n-1);

}

}

}

void DataStatistic( ) /*统计信息*/

{

int high=0,low=200,ave=0;

int n,i,sum=0;

int g,l;

record com[SIZE];

printf("读取数据信息---\n");

if(DataRead(com,n)==1)

{

printf("商品总数为%d\n\n",n);

for(i=0;in;i++)

{

if(com[i].pricehigh)

{

high = com[i].price;

g=i;

}

if(com[i].pricelow)

{

low = com[i].price;

l=i;

}

sum += com[i].price;

}

ave=sum/n;

printf("\t\t最高\t最低\t平均\n"); /*计算值*/

printf("商品单价统计:\t%d\t%d\t%d\n\n",high,low,ave);

printf("序号\t\t商品名\t 商品号\t生产商\t单价\n");

for(i=0 ; in ; i++)

printf("%3d%17s%12d%12s%8.1f\n",i+1,com[i].name,com[i].num,com[i].shang,

com[i].price);

printf("\t\t 序号\t\t 商品名\t 商品号\t 生产商 单价\n");

printf("单价最高的商品是:%3d%17s%12d%12s%8.1f\n\n",g+1,com[g].name,com[g].num,com[g].shang,com[g].price);

printf("单价最低的商品是:%3d%17s%12d%12s%8.1f\n",l+1,com[l].name,com[l].num,com[l].shang,com[l].price);

} /*结束统计*/

}

c语言仓库管理系统源代码

学籍管理的程序,你自己改改吧

#includestdio.h

#includewindows.h

#includeconio.h

int add();

int amend();

int remove();

int show_student();

int show_class();

struct info //定义结构体info,用于存储学生信息

{

char name[20]; //姓名

char sex[20]; //性别

char idcard[20]; //身份证号码

char stuid[10]; //学号

char academe[20]; //学院

char specialty[20]; //专业

char classid[20]; //班级

char home[20]; //生源地

}stu[100];

int j=0;

int main(void) //主函数

{

/*登陆界面设计*/

char gongnengxuanzhe;

int flag=1;

system("cls");

printf("\n");

printf("\t\t\t\t 欢迎\n");

printf("\n\n\t尊敬的用户, 非常感谢您使用本系统 , 您的完美体验将是我们前进的方向 !\n\n\n");

printf("\t系统功能简介:\n\n\n");

printf("\t\t①:通过键盘输入某位学生的学生证信息。\n\n");

printf("\t\t②:给定学号,显示某位学生的学生证信息。\n\n");

printf("\t\t③:给定某个班级的班号,显示该班所有学生的学生证信息。\n\n");

printf("\t\t④:给定某位学生的学号,修改该学生的学生证信息。\n\n");

printf("\t\t⑤:给定某位学生的学号,删除该学生的学生证信息。\n\n");

printf("\t\t⑥:按出生日期对全班学生的信息进行排序。\n\n\n");

printf("\t按任意键进入系统......");

getch();

do

{

system("cls");

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

printf(" 尊敬的用户 ,欢迎您使用本系统 !\n");

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

printf(" 1.增加学生信息\n\n");

printf(" 2.修改学生信息\n\n");

printf(" 3.删除学生信息\n\n");

printf(" 4.显示单个学生信息\n\n");

printf(" 5.显示整个班级学生信息\n\n");

printf(" 0.退出系统\n\n\n\n");

printf(" 请选择您需要使用的功能:");

gongnengxuanzhe=getch();

switch(gongnengxuanzhe)

{

case '1':add();break;

case '2':amend();break;

case '3':remove();break;

case '4':show_student();break;

case '5':show_class();break;

case '0':flag=0;break;

default:

{

printf("\n\n 您的输入有误,请仔细阅读使用说明!");

printf("\n 任意键继续...");

getch();

}

}

}while(flag==1);

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\t尊敬的用户,非常感谢您的使用,您对于完美的追求是我们唯一的动力!");

printf("\n\n\t\t\t 按任意键退出系统......");

getch();

return 0;

}

int add() //增加学生信息函数

{

char flag='1';

do

{

system("cls");

printf("\n\t姓名:");

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

printf("\n\n\t性别:");

scanf("%s",stu[j].sex);

printf("\n\n\t身份证号:");

scanf("%s",stu[j].idcard);

printf("\n\n\t学院:");

scanf("%s",stu[j].academe);

printf("\n\n\t专业:");

scanf("%s",stu[j].specialty);

printf("\n\n\t班级:");

scanf("%s",stu[j].classid);

printf("\n\n\t学号:");

scanf("%s",stu[j].stuid);

printf("\n\n\t生源地:");

scanf("%s",stu[j].home);

j++;

printf("\n\t继续增加请键入1,返回请键入其他任意键:");

getchar();

flag=getchar();

}while(flag=='1');

return 0;

}

int amend() //修改学生信息函数

{

if(j==0)

{

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以修改的记录,请先行输入数据!");

printf("\n\n\t\t\t 按任意键返回......");

getch();

return 0;

}

char a[20];

int z;

int flag=0;

do

{

system("cls");

printf("\n\t需要修改的学生学号:");

scanf("%s",a);

for(z=0;zj;z++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1;

break; //break退出后,z++不会执行

}

}

if(flag==0)

{

printf("\t对不起,你请求学生信息不存在,请核实后重试!\n");

printf("\t按任意键继续......");

getch();

}

}while(flag==0);

system("cls");

printf("\n\t姓名:");

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

printf("\n\n\t性别:");

scanf("%s",stu[z].sex);

printf("\n\n\t身份证号:");

scanf("%s",stu[z].idcard);

printf("\n\n\t学院:");

scanf("%s",stu[z].academe);

printf("\n\n\t专业:");

scanf("%s",stu[z].specialty);

printf("\n\n\t班级:");

scanf("%s",stu[z].classid);

printf("\n\n\t学号:");

scanf("%s",stu[z].stuid);

printf("\n\n\t生源地:");

scanf("%s",stu[z].home);

return 0;

}

int remove() //删除学生信息函数

{

if(j==0)

{

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以删除的记录,请先行输入数据!");

printf("\n\n\t\t\t 按任意键返回......");

getch();

return 0;

}

char a[20];

int z;

int x;

int flag=0;

do

{

system("cls");

printf("\n\t需要删除的学生学号:");

scanf("%s",a);

for(z=0;zj;z++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1;

for(x=z;xj;x++)

{

strcpy(stu[x].name,stu[x+1].name);

strcpy(stu[x].sex,stu[x+1].sex);

strcpy(stu[x].idcard,stu[x+1].idcard);

strcpy(stu[x].academe,stu[x+1].academe);

strcpy(stu[x].specialty,stu[x+1].specialty);

strcpy(stu[x].classid,stu[x+1].classid);

strcpy(stu[x].stuid,stu[x+1].stuid);

strcpy(stu[x].stuid,stu[x+1].stuid);

}

j--;

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

printf("\n\t按任意键返回上级菜单......");

getch();

}

}

if(flag==0)

{

printf("\t对不起,你请求学生信息不存在,请核实后重试!\n");

printf("\t按任意键继续......");

getch();

}

}while(flag==0);

return 0;

}

int show_student() //单个显示学生信息函数

{

if(j==0)

{

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!");

printf("\n\n\t\t\t 按任意键返回......");

getch();

return 0;

}

char a[20];

int z;

int flag=0;

do

{

system("cls");

printf("\n\t需要显示的学生学号:");

scanf("%s",a);

for(z=0;zj;z++)

{

if(strcmp(stu[z].stuid,a)==0)

{

flag=1;

system("cls");

printf("\n\t姓名:%s",stu[z].name);

printf("\n\n\t性别:%s",stu[z].sex);

printf("\n\n\t身份证号:%s",stu[z].idcard);

printf("\n\n\t学院:%s",stu[z].academe);

printf("\n\n\t专业:%s",stu[z].specialty);

printf("\n\n\t班级:%s",stu[z].classid);

printf("\n\n\t学号:%s",stu[z].stuid);

printf("\n\n\t生源地:%s",stu[z].home);

printf("\n\n\t按任意键返回上级菜单......");

getch();

}

}

if(flag==0)

{

printf("\t对不起,你请求显示的学生信息不存在,请核实后重试!\n");

printf("\t按任意键继续......");

getch();

}

}while(flag==0);

return 0;

}

int show_class() //显示整个班级学生信息函数

{

if(j==0)

{

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\t\t 系统无任何可以显示的记录,请先行输入数据!");

printf("\n\n\t\t\t 按任意键返回......");

getch();

return 0;

}

char a[20];

int z;

int x;

int flag=0;

do

{

system("cls");

printf("\n\t需要显示的班级号码:");

scanf("%s",a);

for(z=0;zj;z++)

{

if(strcmp(stu[z].classid,a)==0)

{

flag=1;

system("cls");

printf("\t%s %s 基本信息\n",stu[z].specialty,stu[z].classid);

for(x=0;xj;x++)

{

if(strcmp(stu[x].classid,a)==0)

{

printf("\n\n\t姓名:%s",stu[z].name);

printf("\n\t性别:%s",stu[z].sex);

printf("\n\t身份证号:%s",stu[z].idcard);

printf("\n\t学院:%s",stu[z].academe);

printf("\n\t专业:%s",stu[z].specialty);

printf("\n\t班级:%s",stu[z].classid);

printf("\n\t学号:%s",stu[z].stuid);

printf("\n\t生源地:%s",stu[z].home);

}

}

printf("\n\n\t按任意键返回上级菜单......");

getch();

}

}

if(flag==0)

{

printf("\t对不起,你请求显示的班级信息不存在,请核实后重试!\n");

printf("\t按任意键继续......");

getch();

}

}while(flag==0);

return 0;

}

有疑问联系我,975853545@qq.com

请采纳。

c语言学生信息管理系统代码

代码如下:

#includestdio.h

#includemalloc.h

#includestdlib.h

#includestring.h

#includeconio.h

typedef struct examinee //考生信息结构

{   char examno[20]; //准考证号

char name[10]; //姓名

char sex[4]; //性别

short age; //年龄

char examtype[10]; //报考科目

}ElemType;

typedef struct Node //定义链表结点

{

ElemType data; //数据域

struct Node *next; //指针域

}Node,*List,*position;

List make_empty( List L ); //创建一个带头结点的空表

int is_empty( List L ); //测试链表是否是空表

int is_last( position p, List L ); //测试当前位置是否是表尾

position make_node( position p,int n ); //创建结点并输入考生信息

void put_information( position p ); //是否输出该考生信息

void put_name_information( List L ); //输出姓名为xx的考生信息

int put_pos_information( position p ); //输出该地址考生信息

void link_to_tail( List L, position p ); //将结点连接到表尾

int ciculation_make(); //循环创建考生信息

int judge_put_all(); //是否输出所有考生信息

void put_all(List L); //输出所有考生信息。

position find( List L ); //查找第一个姓名为xx的元素并返回位置

position find_previous( List L ); //查找第一个姓名为xx的元素并返回该元素直接前驱的位置

//int judge_delete_val(); //询问是否删除考生数据

int delete_val( List L ); //删除指定考生信息并输出其信息

void menu(List L); //菜单函数

List L;

//position p;

int

main( void ) 

{

List L = NULL; //定义头结点指针

position p = NULL; //定义表工作指针

L = make_empty( L ); //创建空表

printf("\t\t\t★★考生报名管理程序★★\n\t\t----------------------------------------\n");

menu(L);

return 0;

}

//创建一个带头结点的空表

List

make_empty( List L)

{

L = ( List ) malloc (sizeof( Node ));

if(NULL == L)

{

printf("内存分配失败");

exit( 1 );

}

L-next = NULL;

//printf("空表创建成功。\n");

return L;

}

//创建结点并输入考生信息

position

make_node( position p ,int n)

{

if(n) //n为1是创建结点并输入,n为0是修改

{

p = ( position ) malloc ( sizeof ( Node ));

p-next = NULL ;

}

printf("请输入考生准考证号:");

gets(p-data.examno);

printf("请输入考生姓名:");

gets(p-data.name);

do

{

printf("请输入考生性别,只能输入“男”或者“女”:");

gets(p-data.sex);

}

while( 0 != strcmp( p-data.sex, "男" ) 0 != strcmp( p-data.sex, "女" )); //判断性别是否有误

printf("请输入考生年龄:");

scanf("%hd",p-data.age);

getchar();  //如果把这句删掉,就“无法执行”下面的报考类别

/*下面的do while用来判断报考类别是否输入有误*/

do

{

printf("请输入报考类别,只能输入“数学”或“英语”或者“数据结构”:");

gets(p-data.examtype);

}

while( 0 != strcmp( "英语", p-data.examtype ) 0 != strcmp( "数学", p-data.examtype ) 0 != strcmp( "数据结构", p-data.examtype ));

if(n)

{

printf("报名成功\n");

}

else

{

printf("修改成功\n");

}

return p;

}

//前插法;

void

link_to_tail( List L, position p)

{

p-next = L-next;

L-next = p;

}

//查找第一个姓名为xx的元素并返回位置

position

find( List L )

{

position p = L-next;

char name[10];

printf("请输入你要查找的考生姓名:");

gets(name);

while( p != NULL 0 != strcmp( p-data.name , name))

{

p=p-next;

}

return p;

}

//测试链表是否是空表

int

is_empty( List L )

{

return L-next == NULL;

}

//测试当前位置是否是表尾

int

is_last( position p, List L )

{

return p-next == NULL;

}

//输出姓名为xx的考生信息

void

put_name_information( List L )

{

position p = find(L);

if(p!=NULL)

{

printf("您要查找的考生信息:\n");

printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p-data.examno,p-data.name,p-data.sex,p-data.age,p-data.examtype);

}

else

{

printf("没有您要找的学生。\n");

}

}

//循环创建考生信息

int

ciculation_make()

{

int n = 2;

do

{

printf("是否继续创建考生信息?是请输入“1”,不是请输入“0”:");

scanf("%d",n);

getchar();

}

while( n != 0 n != 1);

return n;

}

//是否输出考生信息

void

put_information( position p )

{

int n=2;

do

{

printf("是否输出该考生信息?是请输入“1”,不是请输入“0”:");

scanf("%d",n);

getchar();

}

while( n != 0 n != 1);

if(n)

{

printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p-data.examno,p-data.name,p-data.sex,p-data.age,p-data.examtype);

}

}

//是否输出所有考生信息

int

judge_put_all()

{

int n = 2;

do

{

printf("是否输出所有考生信息?是请输入“1”,不是请输入“0”:");

scanf("%d",n);

getchar();

}

while( n != 0 n != 1);

return n;

}

//输出所有考生信息

void

put_all(List L)

{

if(L-next == NULL)

{

printf("现无考生报名!\n");

}

else

{

position p=L-next;

while( p != NULL )

{

printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",p-data.examno,p-data.name,p-data.sex,p-data.age,p-data.examtype);

p=p-next;

}

}

//getchar();

}

//询问是否删除考生数据

int

judge_delete_val()

{

int n = 2;

do

{

printf("是否要删除某个考生数据?是请输入“1”,不是输入“0”:");

scanf("%d",n);

getchar();

}

while( n != 0 n != 1);

return n;

}

//查找第一个姓名为xx的元素并返回其直接前驱的位置

position

find_previous( List L )

{

position q = L;

position p = L-next;

char name[10];

printf("请输入你要查找的考生姓名:");

gets(name);

while( p != NULL 0 != strcmp( p-data.name , name))

{

q=p;

p=p-next;

}

if( p != NULL )

{

return q;

}

else

return p;

}

//删除指定考生信息并输出其信息

int

delete_val(List L)

{

int n=2;

position q=NULL;

position p=find_previous( L ); //返回考生信息地址

if( NULL == p )

{

printf("你要删除的考生不存在\n");

return 0;

}

else

{

q = p-next;

p-next = q-next;

printf("删除成功。\n删除的考生信息为:\n");

printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n",q-data.examno,q-data.name,q-data.sex,q-data.age,q-data.examtype);

free(q);

return 1;

}

}

//输出该地址考试信息

int

put_pos_information( position p )

{

if(p != NULL )

{

printf("准考证号:%s\t姓名:%s\t性别:%s\t年龄:%hd\t报考科目:%s\n\n",p-data.examno,p-data.name,p-data.sex,p-data.age,p-data.examtype);

return 1;

}

else

{

printf("没有您要查找的学生。");

return 0;

}

}

//菜单函数

void

menu(List L)

{

printf("\t\t\t   a. 考生报名入口\n");

printf("\t\t\t   b. 查询考生信息\n");

printf("\t\t\t   c. 修改考生信息\n");

printf("\t\t\t   d. 删除考生信息\n");

printf("\t\t\t   e. 全部考生信息\n");

printf("\t\t\t   f. 程序作者信息\n");

printf("\t\t\t   g.   退出程序\n");

char n='h';

while(n != 'g')

{

do  //确定正确输入

{

printf("请通过字母序号选择功能:");

n = getchar();

getchar();

putchar('\n');

if( n 'a' || n 'g')

{

printf("错误的字母序号。\n");

}

}

while( n 'a' || n 'g' );

switch (n)

{

case 'a':

{

printf("请输入报名考生信息:\n");

position p = make_node( p, 1 ); //创建新结点

link_to_tail( L, p ); //将新结点连接到表上

put_information( p );   //是否输出该考生信息

putchar('\n');

}

break;

case 'b':

{

put_name_information( L );

putchar('\n');

}

break;

case 'c':

{

int n=0;

position p = NULL;

printf("您正在进行修改操作。\n");

p = find(L);

n = put_pos_information( p );

if(n)

{

make_node( p , 0 );

put_information( p );   //是否输出该考生信息

}

putchar('\n');

}

break;

case 'd':

{

printf("您正在进行删除操作。\n");

delete_val( L );

putchar('\n');

}

break;

case 'e':

{

put_all( L );

putchar('\n');

}

break;

case 'f':

{

printf("              修改日期    版本号      修改人      修改内容    \n");

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

printf("              2018.6.19    v2.0       陈百川     增加主菜单\n");

printf("              2018.6.23    v3.0       陈百川   增加生成文件功能\n\n");

printf("            该版本号为v2.0\n");

putchar('\n');

}

break;

default:

break;

}

}

printf("                     感谢本次使用,祝您生活愉快。");

getch();

}

回答于 2022-12-11

商品库存管理系统的c语言源代码

#include stdio.h

#include stdlib.h

#include conio.h

struct BOOK

{

int id,usr[10],total,store,days[10];

char name[31],author[21];

}books[100];

/*上面是结构体的定义,用于存放书籍及借书的信息。*/

void page_title(char *menu_item)

{

clrscr();

printf(" 图 书 管 理 系 统 \n\n- %s -\n\n",menu_item);

}

/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/

void return_confirm(void)

{

printf("\n按任意键返回……\n");

getch();

}

/*上面是返回前请求确认的函数,以便在返回前观察结果*/

int search_book(void)

{

int n,i;

printf("请输入图书序号:");

scanf("%d",i);

for(n=0;n100;n++)

{

if(books[n].id==i)

{

printf("书名:%s\n",books[n].name);

printf("作者:%s\n",books[n].author);

printf("存数:%d of ",books[n].store);

printf("%d\n",books[n].total);

return n;

}

}

printf("\n输入错误或无效图书序号.\n");

return -1;

}

/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返

回数组下标,如果找不到相应记录则提示错误并返回-1。*/

void book_out(void)

{

int n,s,l,d;

page_title("借阅图书");

if((n=search_book())!=-1books[n].store0)

{

printf("请输入借书证序号:");

scanf("%d",s);

printf("请输入可借天数:");

scanf("%d",d);

for(l=0;l10;l++)

{

if(books[n].usr[l]==0)

{

books[n].usr[l]=s;

books[n].days[l]=d;

break;

}

}

books[n].store--;

}

if(n!=-1books[n].store==0) printf("此书已经全部借出.\n");

return_confirm();

}

/*上面是借书的函数,首先调用找书函数*/

void book_in(void)

{

int n,s,l;

page_title("归还图书");

if((n=search_book())!=-1books[n].storebooks[n].total)

{

printf("借阅者图书证列表:\n");

for(l=0;l10;l++)

if (books[n].usr[l]!=0)

printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);

printf("请输入借书证序号:");

scanf("%d",s);

for(l=0;l10;l++)

{

if(books[n].usr[l]==s)

{

books[n].usr[l]=0;

books[n].days[l]=0;

break;

}

}

books[n].store++;

}

if(n!=-1books[n].store==books[n].total)

printf("全部入藏.\n");

return_confirm();

}

void book_add(void)

{

int n;

page_title("注册新书");

for(n=0;n100;n++)

if(books[n].id==0) break;

printf("序号:");

scanf("%d",books[n].id);

c服装管理系统源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于服装销售系统c语言代码、c服装管理系统源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/31318.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载