A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 格子、   /  2014-9-5 17:17  /  52706 人查看  /  522 人回复  /   4 人收藏 转载请遵从CC协议 禁止商业使用本文

真的会悬赏吗?库存管理是做什么的呀
回复 使用道具 举报
做起来没什么技术含量太浪费时间!
回复 使用道具 举报
你可以在官网上查到的      希望前景美好
回复 使用道具 举报
好想要黑马币
回复 使用道具 举报
这么难的题目,2年了还没人答出来,哈哈哈
回复 使用道具 举报
我多分啊,可惜我不会MySQL、SQLServer
回复 使用道具 举报
坐等大神解决,我们也跟着学习一哈
回复 使用道具 举报
同求大神指导
回复 使用道具 举报
#include <stdio.h> //通讯录
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define N 100
int M=5;
struct student
{ char num[10];char name[10];char tel[10];};

void myprint()
{
system("cls");
printf(" |-----------------------------------------------|\n");
printf(" | =_______________=请输入选项编号(0-7): |\n");
printf(" |-----------------------------------------------|\n");
printf(" |--------------1--创建通讯录--------------------|\n");
printf(" |--------------2--显示通讯录--------------------|\n");
printf(" |--------------3--查询通讯录--------------------|\n");
printf(" |--------------4--修改通讯录--------------------|\n");
printf(" |--------------5--添加通讯录--------------------|\n");
printf(" |--------------6--删除通讯录--------------------|\n");
printf(" |--------------7--排序通讯录--------------------|\n");
printf(" |--------------0--退出--------------------------|\n");
printf(" |-----------------------------------------------|\n");
}
void mycreat(struct student *p,int n)
{
struct student *q=p;
FILE *fp=NULL;
fp=fopen("d:\\jilu.dat","w");
if(fp==NULL){printf("error"); return;}
for(p=q;p-q<n;p++)
{
printf("\n");
printf("第%d条记录:\n",p-q+1);
printf("学号:");
do
{gets(p->num);}
while(strcmp(p->num,"")==0);
printf("姓名:");
gets(p->name);
printf("电话:");
gets(p->tel);
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
}
}
void mydisplay(struct student *p,int n)
{
FILE *fp=NULL;
fp=fopen("d:\\jilu.dat","r");
if(fp==NULL)
{printf("error"); return;}
system("cls");
printf(" 学号 姓名 电话\n");
while(n>0)
{
fscanf(fp,"%23s%15s%15s",p->num,p->name,p->tel);
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
p++;n--;
}
}
void mysearch(struct student *p,int n)
{
struct student *q=p;
int flag=0;
char c='\0',nm[10]="",nam[10]="";
printf("\n按照学号查询(h)或姓名查询(m):\n");
c=getche();
if(c=='h'||c=='H')
{
printf("请输入要查询记录的学号:");gets(nm);
for(p=q;p-q<n;p++)
if(strcmp(nm,p->num)==0)
{
printf(" 学号 姓名 电话\n");
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
flag=1;
}
if(flag==0) printf("wrong...\n");
}
else if(c=='m'||c=='M')
{
printf("请输入要查询记录的姓名:");gets(nam);
for(p=q;p-q<n;p++)
if(strcmp(nam,p->name)==0)
{
printf(" 学号 姓名 电话\n");
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
flag=1;
}
if(flag==0) printf("wrong...\n");
}
else printf("wrong...\n");
}
void mymodify(struct student *p,int n)
{
struct student *q=p;
FILE *fp=NULL;
char nam[10]="";
mydisplay(p,n);
printf("请输入您想要修改记录的姓名:\n");gets(nam);
for(p=q;p-q<n;p++)
if(strcmp(nam,p->name)==0) break;
if(p-q==n)
printf("wrong...");
else
{
printf("请输入正确的学号:");
do
gets(p->num);
while(strcmp(p->num,"")==0);
printf("请输入正确的姓名:");
gets(p->name);
printf("请输入正确的电话:");
gets(p->tel);
}
fp=fopen("d:\\jilu.dat","w");
if(fp==NULL){printf("error"); exit(0);}
for(p=q;p-q<n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}
void myadd(struct student *p,int n)
{
FILE *fp=NULL;
struct student *q=p;
char c='\n',tempnum[10]="",tempname[10]="",temptel[10]="";
printf("\n");
while(strcmp(p->num,"")!=0)
{
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
回复 使用道具 举报
}
n=p-q;
do
{
printf("请输入新纪录的学号:");
do
gets(tempnum);
while(strcmp(tempnum,"")==0);
printf("请输入新纪录的姓名:");
gets(tempname);
printf("请输入新纪录的电话:");
gets(temptel);
for(p=q;p-q<n;p++)
if(strcmp(tempnum,p->num)==0||strcmp(temptel,p->tel)==0)
{
printf("学号或电话号码需要重新输入吗(Y/N)?");
c=getche();
putchar('\n');
break;
}
if(p-q==n)
{
strcpy(p->num,tempnum);
strcpy(p->name,tempname);
strcpy(p->tel,temptel);
break;
}
}while(c=='y'||c=='Y');
fp=fopen("d:\\jilu.dat","w");
if(fp==NULL){printf("error"); return;}
for(p=q;p-q<=n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
M++;
}
void mydelete(struct student *p,int n)
{
FILE *fp=NULL;
struct student *q=p;
char c[10]="",tempnum[10]="",tempname[10]="",temptel[10]="",choose='\0';
mydisplay(p,n);
printf("选择删除记录的方式:学号(h)姓名(m)");
choose=getche();
printf("\n");
if(choose=='m'||choose=='M')
{
printf("删除的记录:");
gets(c);
for(;p-q<n;p++)
if(strcmp(c,p->name)==0) break;
if(p-q<n)
for(;p-q<n-1;p++)
{
strcpy(p->num,(p+1)->num);
strcpy(p->name,(p+1)->name);
strcpy(p->tel,(p+1)->tel);
}
else printf("no\n");

}
else if(choose=='h'||choose=='H')
{
printf("删除的记录:");
gets(c);
for(;p-q<n;p++)
if(strcmp(c,p->num)==0) break;
if(p-q<n)
for(;p-q<n-1;p++)
{
strcpy(p->num,(p+1)->num);
strcpy(p->name,(p+1)->name);
strcpy(p->tel,(p+1)->tel);
}
else printf("no");
}
else printf("wrong\n");
fp=fopen("d:\\jilu.dat","w");
if(fp==NULL){printf("error"); return;}
for(p=q;p-q<n-1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
M--;
}

void mysort(struct student *p,int n)
{
FILE *fp=NULL;
struct student *q=p,*w=p,*a=p;
char temp[10]="",c1='\0',c2='\0';
mydisplay(p,n);
printf("选择按照学号(h)或姓名(m)排序:\n");
c1=getche();
if(c1=='h'||c1=='H')
{
printf("升序(s)或者降序(j)排列:");
c2=getche();
if(c2=='s'||c2=='S')
for(;p-a<n;p++)
{
w=p;
for(q=p+1;q-a<n;q++)
if(strcmp(w->num,q->num)>0) w=q;
strcpy(temp,w->num);
strcpy(w->num,p->num);
strcpy(p->num,temp);
strcpy(temp,w->name);
strcpy(w->name,p->name);
strcpy(p->name,temp);
strcpy(temp,w->tel);
strcpy(w->tel,p->tel);
strcpy(p->tel,temp);
}
else if(c2=='j'||c2=='J')
for(;p-a<n;p++)
{
w=p;
for(q=p+1;q-a<n;q++)
if(strcmp(w->num,q->num)<0) w=q;
strcpy(temp,w->num);
strcpy(w->num,p->num);
strcpy(p->num,temp);
strcpy(temp,w->name);
strcpy(w->name,p->name);
strcpy(p->name,temp);
strcpy(temp,w->tel);
strcpy(w->tel,p->tel);
strcpy(p->tel,temp);
}
else printf("555wrong...\n");
}
else if(c1=='m'||c1=='M')
{
printf("升序(s)或者降序(j)排列:");
c2=getche();
if(c2=='s'||c2=='S')
for(;p-a<n;p++)
{
w=p;
for(q=p+1;q-a<n;q++)
if(strcmp(w->name,q->name)>0) w=q;
strcpy(temp,w->num);
strcpy(w->num,p->num);
strcpy(p->num,temp);
strcpy(temp,w->name);
strcpy(w->name,p->name);
strcpy(p->name,temp);
strcpy(temp,w->tel);
strcpy(w->tel,p->tel);
strcpy(p->tel,temp);
}
else if(c2=='j'||c2=='J')
for(;p-a<n;p++)
{
w=p;
for(q=p+1;q-a<n;q++)
if(strcmp(w->name,q->name)<0) w=q;
strcpy(temp,w->num);
strcpy(w->num,p->num);
strcpy(p->num,temp);
strcpy(temp,w->name);
strcpy(w->name,p->name);
strcpy(p->name,temp);
strcpy(temp,w->tel);
strcpy(w->tel,p->tel);
strcpy(p->tel,temp);
}
else printf("555wrong...\n");
}
else printf("555wrong...\n");
fp=fopen("d:\\jilu.dat","w");
if(fp==NULL){printf("error"); return;}
for(p=a;p-a<=n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
回复 使用道具 举报
楼主,这个用PB写很快,我这有现成的,你要么?
回复 使用道具 举报
刚学基础,也想知道
回复 使用道具 举报
坐等大神
回复 使用道具 举报
还在学基础,等我出师,帮你解答
回复 使用道具 举报
还在学基础,等我出师,帮你解答
回复 使用道具 举报
坐等大神
回复 使用道具 举报
这个是公司的项目吧?竟然只有250黑马币!一套做得好可以卖4w好吧!
回复 使用道具 举报
需要一个家庭理财管理系统,求大神!
回复 使用道具 举报
能兑换的黑马币不少呀
回复 使用道具 举报
过来瞧瞧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马