![]() |
#2
zdoublehang2010-06-07 19:40
|

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NULL 0
struct student{
char name[20];
char id[20];
char sex[3];
int year,month;
char major[50];
char ban_ji[50];
char address[50];
char phone_num[20];
};
int main(int argc, char* argv[])
{
FILE* fp;
fp=fopen("学生成绩管理系统.txt","ab+");
if(fp==NULL){
printf("打开文件失败!\n");
exit(1);
}
while(1){
printf("*******************欢迎使用学生成绩管理系统!**********************\n");
printf("1.录入学生信息\n");
printf("2.显示学生信息\n");
printf("3.查找学生\n");
printf("4.退出\n");
printf("********************************************************************\n");
printf("请选择要操作的项目:");
int i;
scanf("%d",&i);
switch(i){
case 1:
{
struct student *p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
printf("请输入学生姓名:");
scanf("%s",p->name);
printf("请输入学生学号:");
scanf("%s",p->id);
printf("请输入学生性别:");
scanf("%s",p->sex);
printf("请输入学生出生年份:");
scanf("%d",&p->year);
printf("请输入学生出生月份:");
scanf("%d",&p->month);
printf("请输入学生的专业:");
scanf("%s",p->major);
printf("请输入学生所在的班级:");
scanf("%s",p->ban_ji);
printf("请输入学生的家庭住址:");
scanf("%s",p->address);
printf("请输入学生的宿舍电话:");
scanf("%s",p->phone_num);
fwrite(p,sizeof(struct student),1,fp);
free(p);
p=NULL;
}
system("pause");
system("cls");
break;
case 2:
{
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
rewind(fp);
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
free(p);
p=NULL;
}
system("pause");
system("cls");
break;
case 3:
rewind(fp);
printf("1.按姓名查找\n2.按学号查找\n");
int j;
scanf("%d",&j);
switch(j){
case 1:
{
char names[20];
int n=0;
printf("请输入要查找的学生的姓名:");
scanf("%s",names);
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
if(strcmp(p->name,names)==0){
n++;
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
}
if(!n) printf("没有对应的信息!\n");
}
break;
case 2:
{
char number[20];
int n=0;
printf("请输入要查找的学生的学号:");
scanf("%s",number);
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
if(strcmp(p->id,number)==0){
n++;
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
}
if(!n) printf("没有对应的信息!\n");
}
break;
default:printf("您的输入无效!\n");
}
system("pause");
system("cls");
break;
case 4:exit(0);
break;
default:printf("您的输入无效!\n");
}
}
fclose(fp);
return 0;
}
#include<string.h>
#include<stdlib.h>
#define NULL 0
struct student{
char name[20];
char id[20];
char sex[3];
int year,month;
char major[50];
char ban_ji[50];
char address[50];
char phone_num[20];
};
int main(int argc, char* argv[])
{
FILE* fp;
fp=fopen("学生成绩管理系统.txt","ab+");
if(fp==NULL){
printf("打开文件失败!\n");
exit(1);
}
while(1){
printf("*******************欢迎使用学生成绩管理系统!**********************\n");
printf("1.录入学生信息\n");
printf("2.显示学生信息\n");
printf("3.查找学生\n");
printf("4.退出\n");
printf("********************************************************************\n");
printf("请选择要操作的项目:");
int i;
scanf("%d",&i);
switch(i){
case 1:
{
struct student *p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
printf("请输入学生姓名:");
scanf("%s",p->name);
printf("请输入学生学号:");
scanf("%s",p->id);
printf("请输入学生性别:");
scanf("%s",p->sex);
printf("请输入学生出生年份:");
scanf("%d",&p->year);
printf("请输入学生出生月份:");
scanf("%d",&p->month);
printf("请输入学生的专业:");
scanf("%s",p->major);
printf("请输入学生所在的班级:");
scanf("%s",p->ban_ji);
printf("请输入学生的家庭住址:");
scanf("%s",p->address);
printf("请输入学生的宿舍电话:");
scanf("%s",p->phone_num);
fwrite(p,sizeof(struct student),1,fp);
free(p);
p=NULL;
}
system("pause");
system("cls");
break;
case 2:
{
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
rewind(fp);
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
free(p);
p=NULL;
}
system("pause");
system("cls");
break;
case 3:
rewind(fp);
printf("1.按姓名查找\n2.按学号查找\n");
int j;
scanf("%d",&j);
switch(j){
case 1:
{
char names[20];
int n=0;
printf("请输入要查找的学生的姓名:");
scanf("%s",names);
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
if(strcmp(p->name,names)==0){
n++;
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
}
if(!n) printf("没有对应的信息!\n");
}
break;
case 2:
{
char number[20];
int n=0;
printf("请输入要查找的学生的学号:");
scanf("%s",number);
struct student* p=(student*)malloc(sizeof(struct student));
if(p==NULL){
printf("申请内存失败!\n");
exit(1);
}
while(!feof(fp)){
if(fread(p,sizeof(struct student),1,fp))
if(strcmp(p->id,number)==0){
n++;
printf("姓名:%s\n学号:%s\n性别:%s\n出生年月:%d %d\n专业:%s\n所在班级:%s\n家庭住址:%s\n宿舍电话:%s\n\n",
p->name,p->id,p->sex,p->year,p->month,p->major,p->ban_ji,p->address,p->phone_num);
}
}
if(!n) printf("没有对应的信息!\n");
}
break;
default:printf("您的输入无效!\n");
}
system("pause");
system("cls");
break;
case 4:exit(0);
break;
default:printf("您的输入无效!\n");
}
}
fclose(fp);
return 0;
}
[ 本帖最后由 南国利剑 于 2010-6-7 19:33 编辑 ]