
编程高手请进!急!!
#include<stdio.h>#include<string.h>#defineNULL0#defineLENsizeof(structstudent)#define...
#include<stdio.h>
#include<string.h>
#define NULL 0
#define LEN sizeof(struct student)
#define FILE_DATA_PATH "c:\student.txt"
struct date
{int month;
int day;
int year;
};
struct student
{int num;
char name[20];
int age;
char sex;
struct date birthday;
int id;
char nativeplace[50];
char address[50];
int postcode;
int tel;
char background[15];
char nation[10];
char major[30];
int class num;
struct student * next;
};
int TOTAL_NUM = 0;
struct student *head = NULL;
void main ();
void record();
void insert(struct student *stu);
void display(struct student *stu);
void displayAll();
void query();
void query_by_num();
void query_by_name();
void writeData();
void delete();
void change();
void devise(struct student *p);
void main ()
{
int choice;
do
{
printf("\t\t\t=========================================\n");
printf("\t\t\t Student Information Managing System |\n");
printf("\t\t\t=========================================\n");
printf("\t\t\t 1: record information |\n");
printf("\t\t\t 2: display information |\n");
printf("\t\t\t 3: query information |\n");
printf("\t\t\t 4: delete information |\n");
printf("\t\t\t 5: chang information |\n");
printf("\t\t\t 0: quit |\n");
printf("\n\n\n");
printf("\t\t\t=========================================\n");
printf("please input your choice:");
scanf("%d", &choice);
switch(choice)
{
case 0:
writeData();
exit(0);
case 1:
record();
break;
case 2:
displayAll();
break;
case 3:
query();
break;
case 4:
delete();
break;
case 5:
change();
break;
default:
printf("\nwrong number");
break;
}
}
while(choice != 0);
}
void record()
{
struct student *p0;
p0 = (struct student *)malloc(LEN);
printf("please input num:");
scanf("%d",&p0->num);
printf("please input name:");
scanf("%s",p0->name);
printf("please input age:");
scanf("%d",&p0->age);
printf("please input sex:");
scanf("%s",p0->sex);
printf("please input birthday:");
scanf("%ld",&p0->birthday);
printf("please input id:");
scanf("%ld",&p0->id);
printf("please input nativeplace:");
scanf("%s",p0-> nativeplace);
printf("please input address:");
scanf("%s",p0->address); 展开
#include<string.h>
#define NULL 0
#define LEN sizeof(struct student)
#define FILE_DATA_PATH "c:\student.txt"
struct date
{int month;
int day;
int year;
};
struct student
{int num;
char name[20];
int age;
char sex;
struct date birthday;
int id;
char nativeplace[50];
char address[50];
int postcode;
int tel;
char background[15];
char nation[10];
char major[30];
int class num;
struct student * next;
};
int TOTAL_NUM = 0;
struct student *head = NULL;
void main ();
void record();
void insert(struct student *stu);
void display(struct student *stu);
void displayAll();
void query();
void query_by_num();
void query_by_name();
void writeData();
void delete();
void change();
void devise(struct student *p);
void main ()
{
int choice;
do
{
printf("\t\t\t=========================================\n");
printf("\t\t\t Student Information Managing System |\n");
printf("\t\t\t=========================================\n");
printf("\t\t\t 1: record information |\n");
printf("\t\t\t 2: display information |\n");
printf("\t\t\t 3: query information |\n");
printf("\t\t\t 4: delete information |\n");
printf("\t\t\t 5: chang information |\n");
printf("\t\t\t 0: quit |\n");
printf("\n\n\n");
printf("\t\t\t=========================================\n");
printf("please input your choice:");
scanf("%d", &choice);
switch(choice)
{
case 0:
writeData();
exit(0);
case 1:
record();
break;
case 2:
displayAll();
break;
case 3:
query();
break;
case 4:
delete();
break;
case 5:
change();
break;
default:
printf("\nwrong number");
break;
}
}
while(choice != 0);
}
void record()
{
struct student *p0;
p0 = (struct student *)malloc(LEN);
printf("please input num:");
scanf("%d",&p0->num);
printf("please input name:");
scanf("%s",p0->name);
printf("please input age:");
scanf("%d",&p0->age);
printf("please input sex:");
scanf("%s",p0->sex);
printf("please input birthday:");
scanf("%ld",&p0->birthday);
printf("please input id:");
scanf("%ld",&p0->id);
printf("please input nativeplace:");
scanf("%s",p0-> nativeplace);
printf("please input address:");
scanf("%s",p0->address); 展开
4个回答
展开全部
给你一个参考,我以前做的管理系统的源程序,希望有帮助
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
#include "ctype.h"
#include "malloc.h"
#define N 50
struct date{int year; int month; int day;};
struct product
{
char num[7];
char name[20];
char size[8];
int max_s;
int min_s;
int real_s;
}pro[N];
void no_input(int i,int n);
void put(int i);
void save(int n);
int load(void);
void printf_face();
void printf_one(int i);
void browse(void);
void printf_back();
void input();
void search();
void lend();
void menu();
void main()
{
menu();
}
void no_input(int i,int n)
{
int j,k,wl;
do
{
wl=0;
printf("物资编号:");
scanf("%s",pro[i].num );
for(j=0;pro[i].num [j]!=0;j++)
if(pro[i].num [j]<'0'||pro[i].num [j]>'9')
{
puts("输入错误,请重新输入!\n");
wl=1;break;
}
if(wl!=1)
for(k=0;k<n;k++)
if(k!=i&&strcmp(pro[k].num ,pro[i].num)==0)
{
puts("这条记录已存在!");
wl=1;break;
}
}while(wl==1);
}
void put(int i)
{
no_input(i,i);
printf("请输入物资名称:");
scanf("%s",pro[i].name);
printf("请输入物资规格:");
scanf("%s",pro[i].size);
printf("请输入最大库存量:");
scanf("%d",&pro[i].max_s);
printf("请输入最小库存量:");
scanf("%d",&pro[i].min_s);
printf("请输入实际库存量:");
scanf("%d",&pro[i].real_s);
}
void save(int n)
{
FILE *fp;
int i;
if((fp=fopen("pro.txt","ab+"))==NULL)
{
puts("\n不能打开文件\n");
}
for(i=0;i<n;i++)
if(pro[i].real_s !=0)
if(fwrite(&pro[i],sizeof(struct product),1,fp)!=1)
printf("文件输入错误!\n");
fclose(fp);
}
int load(void)
{
FILE *fp;
int i;
if((fp=fopen("pro.txt","ab+"))==NULL)
{
puts("\n不能打开文件!\n");
}
for(i=0;!feof(fp);i++)
fread(&pro[i],sizeof(struct product),1,fp);
fclose(fp);
return(i-1);
}
void printf_face()
{
puts("\n\t物资编号 物资名称 物资规格 最大库存量 最小库存量 实际库存量");
}
void printf_one(int i)
{
printf("%14s%10s%10s%10d%10d%10d",pro[i].num ,pro[i].name ,pro[i].size ,pro[i].max_s ,pro[i].min_s ,pro[i].real_s );
}
void printf_back()
{
int w;
printf("\n\n\t输入成功!\n\n");
printf("\n\n\t1).浏览所有记录\t2).返回");
scanf("%d",&w);
if(w==1) browse();
else menu();
}
void input()
{
int i,n;
printf("请输入要输入数据的个数:");
scanf("%d",&n);
printf("请输入数据:\n");
for(i=0;i<n;i++)
{
printf("输入第%d个物资信息\n",i+1);
put(i);
}
if(i!=0) save(n);
printf_back();
}
void browse(void)
{
int i,n;
n=load();
printf_face();
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
getch();
menu();
}
void search()
{
int i,n,k,wl=1,w2;
struct product p;
n=load();
do
{
k=-1;
printf("\n\n请输入你要查询的物资名称:") ;
scanf("%s",p.name );
printf_face();
for(i=0;i<n;i++)
{
if(strcmp(p.name ,pro[i].name )==0)
{
k=i;
printf_one(k);
printf("\n\n查找到记录!");
printf("\n\n是否查找其它?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&wl);
if(wl==2)
menu();
}
}
if(k==-1)
{
printf("\n\n不存在该物资记录!");
printf("\n\n是否继续查找?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&w2);
if(wl==2)
menu();
}
}while(wl==1||w2==1);
}
void lend()
{
int i,n,k,wl=1;
int num;
struct product p;
FILE *fp;
n=load();
printf_face();
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
do
{
k=-1;
printf("请输入你要查询的物资名称:") ;
scanf("%s",p.name );
printf_face();
for(i=0;i<n;i++)
{
if(strcmp(p.name ,pro[i].name )==0)
{
k=i;
printf_one(k);
printf("\n\n找到记录!\n");
wl=2;
break;
}
}
if(k==-1)
{
printf("\n\n不存在该物资记录!");
printf("\n\n是否继续查找?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&wl);
if(wl==2)
menu();
}
}while(wl==1);
do
{
printf("请输入领料数量:");
scanf("%d",&num);
if(num<pro[i].real_s &&num>0)
{
pro[i].real_s =pro[i].real_s -num;
fp=fopen("pro.txt","wb");
for(i=0;i<n;i++)
{
if(pro[i].max_s !=0)
fwrite(&pro[i],sizeof(struct product),1,fp);
}
fclose(fp);
puts("领料成功!");
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
break;
}
else
{
printf("超过实际库存量,请重新输入!");
}
}while(1);
printf("\n\n是否继续领料\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&num);
if(num==1)
lend();
else
menu();
}
void menu()
{
int n ,wl;
do
{
puts("\t\t***************欢迎使用物资管理系统****************");
puts("\t\t\t\t1.添加新物资记录");
puts("\t\t\t\t2.物资记录查找");
puts("\t\t\t\t3.领取物资");
puts("\t\t\t\t4.浏览物资记录");
puts("\t\t\t\t5.打印");
puts("\t\t\t\t6.结束");
printf("请按键选择:");
scanf("%d",&n);
if(n<1||n>9)
{wl=1;getchar();}
else wl=0;
}while(wl==1);
switch(n)
{
case 1:input();break;
case 2:search();break;
case 3:lend();break;
case 4:browse();break;
case 6:exit(0);
}
}
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
#include "ctype.h"
#include "malloc.h"
#define N 50
struct date{int year; int month; int day;};
struct product
{
char num[7];
char name[20];
char size[8];
int max_s;
int min_s;
int real_s;
}pro[N];
void no_input(int i,int n);
void put(int i);
void save(int n);
int load(void);
void printf_face();
void printf_one(int i);
void browse(void);
void printf_back();
void input();
void search();
void lend();
void menu();
void main()
{
menu();
}
void no_input(int i,int n)
{
int j,k,wl;
do
{
wl=0;
printf("物资编号:");
scanf("%s",pro[i].num );
for(j=0;pro[i].num [j]!=0;j++)
if(pro[i].num [j]<'0'||pro[i].num [j]>'9')
{
puts("输入错误,请重新输入!\n");
wl=1;break;
}
if(wl!=1)
for(k=0;k<n;k++)
if(k!=i&&strcmp(pro[k].num ,pro[i].num)==0)
{
puts("这条记录已存在!");
wl=1;break;
}
}while(wl==1);
}
void put(int i)
{
no_input(i,i);
printf("请输入物资名称:");
scanf("%s",pro[i].name);
printf("请输入物资规格:");
scanf("%s",pro[i].size);
printf("请输入最大库存量:");
scanf("%d",&pro[i].max_s);
printf("请输入最小库存量:");
scanf("%d",&pro[i].min_s);
printf("请输入实际库存量:");
scanf("%d",&pro[i].real_s);
}
void save(int n)
{
FILE *fp;
int i;
if((fp=fopen("pro.txt","ab+"))==NULL)
{
puts("\n不能打开文件\n");
}
for(i=0;i<n;i++)
if(pro[i].real_s !=0)
if(fwrite(&pro[i],sizeof(struct product),1,fp)!=1)
printf("文件输入错误!\n");
fclose(fp);
}
int load(void)
{
FILE *fp;
int i;
if((fp=fopen("pro.txt","ab+"))==NULL)
{
puts("\n不能打开文件!\n");
}
for(i=0;!feof(fp);i++)
fread(&pro[i],sizeof(struct product),1,fp);
fclose(fp);
return(i-1);
}
void printf_face()
{
puts("\n\t物资编号 物资名称 物资规格 最大库存量 最小库存量 实际库存量");
}
void printf_one(int i)
{
printf("%14s%10s%10s%10d%10d%10d",pro[i].num ,pro[i].name ,pro[i].size ,pro[i].max_s ,pro[i].min_s ,pro[i].real_s );
}
void printf_back()
{
int w;
printf("\n\n\t输入成功!\n\n");
printf("\n\n\t1).浏览所有记录\t2).返回");
scanf("%d",&w);
if(w==1) browse();
else menu();
}
void input()
{
int i,n;
printf("请输入要输入数据的个数:");
scanf("%d",&n);
printf("请输入数据:\n");
for(i=0;i<n;i++)
{
printf("输入第%d个物资信息\n",i+1);
put(i);
}
if(i!=0) save(n);
printf_back();
}
void browse(void)
{
int i,n;
n=load();
printf_face();
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
getch();
menu();
}
void search()
{
int i,n,k,wl=1,w2;
struct product p;
n=load();
do
{
k=-1;
printf("\n\n请输入你要查询的物资名称:") ;
scanf("%s",p.name );
printf_face();
for(i=0;i<n;i++)
{
if(strcmp(p.name ,pro[i].name )==0)
{
k=i;
printf_one(k);
printf("\n\n查找到记录!");
printf("\n\n是否查找其它?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&wl);
if(wl==2)
menu();
}
}
if(k==-1)
{
printf("\n\n不存在该物资记录!");
printf("\n\n是否继续查找?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&w2);
if(wl==2)
menu();
}
}while(wl==1||w2==1);
}
void lend()
{
int i,n,k,wl=1;
int num;
struct product p;
FILE *fp;
n=load();
printf_face();
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
do
{
k=-1;
printf("请输入你要查询的物资名称:") ;
scanf("%s",p.name );
printf_face();
for(i=0;i<n;i++)
{
if(strcmp(p.name ,pro[i].name )==0)
{
k=i;
printf_one(k);
printf("\n\n找到记录!\n");
wl=2;
break;
}
}
if(k==-1)
{
printf("\n\n不存在该物资记录!");
printf("\n\n是否继续查找?\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&wl);
if(wl==2)
menu();
}
}while(wl==1);
do
{
printf("请输入领料数量:");
scanf("%d",&num);
if(num<pro[i].real_s &&num>0)
{
pro[i].real_s =pro[i].real_s -num;
fp=fopen("pro.txt","wb");
for(i=0;i<n;i++)
{
if(pro[i].max_s !=0)
fwrite(&pro[i],sizeof(struct product),1,fp);
}
fclose(fp);
puts("领料成功!");
for(i=0;i<n;i++)
{
printf_one(i);
puts("\n");
}
printf("\t共有%d条记录\n",n);
break;
}
else
{
printf("超过实际库存量,请重新输入!");
}
}while(1);
printf("\n\n是否继续领料\n\t1)继续 2)返回目录 [ ]\b\b");
scanf("%d",&num);
if(num==1)
lend();
else
menu();
}
void menu()
{
int n ,wl;
do
{
puts("\t\t***************欢迎使用物资管理系统****************");
puts("\t\t\t\t1.添加新物资记录");
puts("\t\t\t\t2.物资记录查找");
puts("\t\t\t\t3.领取物资");
puts("\t\t\t\t4.浏览物资记录");
puts("\t\t\t\t5.打印");
puts("\t\t\t\t6.结束");
printf("请按键选择:");
scanf("%d",&n);
if(n<1||n>9)
{wl=1;getchar();}
else wl=0;
}while(wl==1);
switch(n)
{
case 1:input();break;
case 2:search();break;
case 3:lend();break;
case 4:browse();break;
case 6:exit(0);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都没有注释的...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你贴这么一堆代码想要干什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询