C语言程序设计,,急求!!!
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,实现以下功能:1.学生信息录入功能
2.学生信息浏览功能
3.学生信息查询功能
(1)按学号查询
(2)按姓名查询
4.学生信息的删除与修改
网上当的不要,谢谢。
最好别用链表,语句越简单朴实越好,但是功能要全。
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,实现以下功能:1.学生信息录入功能
2.学生信息浏览功能
3.学生信息查询功能
(1)按学号查询
(2)按姓名查询
4.学生信息的删除与修改
网上当的不要,谢谢。
最好别用链表,语句越简单朴实越好,但是功能要全。
答案:#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#include"conio.h"
int k;typedef struct Date
{
int year;
int month;
int day;
}Date;typedef struct Contact
{
char addr[20];
char email[15];
char tel[12];
}Contact;typedef struct Infor
{
char name[10];
int age;
int num;
char 易做图[2];
}Infor;struct Student
{
Date date;
Contact contact;
Infor infor;
}student[50];void input(struct Student *student,int i);
void scan(struct Student *student,int n);
int find(struct Student *student,int n);
void correct(struct Student *student,int n);
void del(struct Student *student,int *n);
void print(struct Student *student,int j);
void input(struct Student *student,int i)
{
int j=0;
printf("请输入学生的人数:");
scanf("%d",&i);
while(i)
{
printf("请输入姓名、学号、性别、年龄(之间用空格符):\n");
scanf("%s %d %s %d",student[j].infor.name,&student[j].infor.num,student[j].infor.易做图,&student[j].infor.age);
printf("请输入出生年、月、日(年月日之间用空格符):\n");
scanf("%d %d %d",&student[j].date.year,&student[j].date.month,&student[j].date.day);
printf("请输入家庭地址:");
scanf("%s",student[j].contact.addr);
printf("请输入电子邮件:");
scanf("%s",student[j].contact.email);
printf("请输入电话号码:");
scanf("%s",student[j].contact.tel);
--i;
++j;
}
printf("录入完毕!\n");
return;
}void scan(struct Student *student,int n)
{
int j;
for(j=0;j<n;j++)
{
print(student,j);
}
return;
}void print(struct Student *student,int j)
{
printf("姓名、学号、性别、年龄:\n");
printf("%s %d %s %d",student[j].infor.name,student[j].infor.num,student[j].infor.易做图,student[j].infor.age);
printf("出生于 %d 年 %d 月 %d 日:\n",student[j].date.year,student[j].date.month,student[j].date.day);
printf("家庭地址:%s\n",student[j].contact.addr);
printf("电子邮件:%s\n",student[j].contact.email);
printf("电话号码:%s\n",student[j].contact.tel);
return;
}int find(struct Student *student,int n)
{
int i,j;
int num;
char name[10];
printf("请选择查询方式:\n");
printf("1代表按学号查询;\n");
printf("2代表按姓名查询;\n");
scanf("%d",&i);
if(i==1)
{
printf("请输入学号:");
scanf("%d",&num);
for(j=0;j<n;j++)
if(student[j].infor.num==num)
{
printf("找到了!\n");
print(student,j);
k=j;
return k;
}
if(j>=n)
printf("未找到!\n");
}
else
{
printf("请输入姓名:");
scanf("%s",name);
for(j=0;j<n;j++)
if(strcmp(student[j].infor.name,name)==0)
{
printf("找到了!\n");
print(student,j);
k=j;
return k;
}if(j>=n)
printf("未找到!\n");
}
return 0;
}void correct(struct Student *student,int n)
{
int i;
i=find(student,n);
printf("请输入姓名、学号、性别、年龄(之间用空格符):\n");
scanf("%s %d %s %d",student[i].infor.name,&student[i].infor.num,student[i].infor.易做图,&student[i].infor.age);
printf("请输入出生年、月、日(年月日之间用空格符):\n");
scanf("%d %d %d",&student[i].date.year,&student[i].date.month,&student[i].date.day);
printf("请输入家庭地址:");
scanf("%s",student[i].contact.addr);
printf("请输入电子邮件:");
scanf("%s",student[i].contact.email);
printf("请输入电话号码:");
scanf("%s",student[i].contact.tel);
printf("修改成功!\n");
}void del(struct Student *student,int *n)
{
int i,j;
i=find(student,*n);
for(j=i;j<*n-1;j++)
{
strcpy(student[j].infor.name,student[j+1].infor.name);
student[j].infor.num=student[j+1].infor.num;
strcpy(student[j].infor.易做图,student[j+1].infor.易做图);
student[j].infor.age=student[j+1].infor.age;
student[j].date.year=student[j+1].date.year;
student[j].date.month=student[j+1].date.month;
student[j].date.day=student[j+1].date.day;
strcpy(student[j].contact.addr,student[j+1].contact.addr);
strcpy(student[j].contact.email,student[j+1].contact.email);
strcpy(student[j].contact.tel,student[j+1].contact.tel);
}
--n;
}void main()
{
int i,j,N=50;
while(1)
{
printf("请输入数字选择操作:\n");
printf("1.学生信息录入\n");
printf("2.学生信息浏览\n");
printf("3.学生信息查询\n");
printf("4.学生信息修改\n");
printf("5.学生信息删除\n");
printf("9.退出系统\n");
scanf("%d",&i);
switch(i)
{
case 1:input(student,N);
break;
case 2:scan(student,N);
break;
case 3:j=find(student,N);
break;
case 4:correct(student,N);
break;
case 5:del(student,&N);
break;
case 9:exit(0);
break;
default:
break;
}
}
}已经在VC6.0里调试过
上一个:C语言中怎么进行函数调用?
下一个:求C语言编程软件的下载地址?